From 512d9bf270d2b57d61c2f49964df61d9932ac6d4 Mon Sep 17 00:00:00 2001 From: Markus Wellmann Date: Tue, 8 Oct 2024 20:01:23 +0200 Subject: [PATCH 01/26] Made VR Builder 4 compatible with unity 6 using XRI 2 (#248) With this change VR Builder will not work with Unity versions below Unity 6 * Updated movingRigidbody.velocity to movingRigidbody.linearVelocity * Fixed deprecated warnings from Unity 6 API updates --- .../Runtime/Behaviors/MoveObjectBehavior.cs | 4 +- Source/Core/Editor/EditorUtils.cs | 23 +++- .../Editor/UI/GraphView/ProcessGraphNode.cs | 2 +- .../Core/Editor/UI/GraphView/StepGroupNode.cs | 12 +- .../UI/Menu/AddPropertyExtensionsMenuEntry.cs | 4 +- .../Editor/UI/Wizard/Setup/AllAboutPage.cs | 2 +- .../Editor/Unity/AssemblySymbolChecker.cs | 15 ++- Source/Core/Editor/Unity/DotNetWindow.cs | 110 +++++++++--------- .../Editor/Unity/PreBuildDotNetChecker.cs | 4 +- .../DefaultRuntimeConfiguration.cs | 2 +- .../Configuration/RuntimeConfigurator.cs | 2 +- .../Core/Runtime/Unity/UnitySceneSingleton.cs | 4 +- 12 files changed, 98 insertions(+), 86 deletions(-) diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors/MoveObjectBehavior.cs b/Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors/MoveObjectBehavior.cs index ce686c3e3..480d53c23 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors/MoveObjectBehavior.cs +++ b/Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors/MoveObjectBehavior.cs @@ -90,7 +90,7 @@ public override void Start() Rigidbody movingRigidbody = Data.TargetObject.Value.GameObject.GetComponent(); if (movingRigidbody != null && movingRigidbody.isKinematic == false) { - movingRigidbody.velocity = Vector3.zero; + movingRigidbody.linearVelocity = Vector3.zero; movingRigidbody.angularVelocity = Vector3.zero; } } @@ -131,7 +131,7 @@ public override void End() Rigidbody movingRigidbody = Data.TargetObject.Value.GameObject.GetComponent(); if (movingRigidbody != null && movingRigidbody.isKinematic == false) { - movingRigidbody.velocity = Vector3.zero; + movingRigidbody.linearVelocity = Vector3.zero; movingRigidbody.angularVelocity = Vector3.zero; } } diff --git a/Source/Core/Editor/EditorUtils.cs b/Source/Core/Editor/EditorUtils.cs index 7a17a98f2..c40138b95 100644 --- a/Source/Core/Editor/EditorUtils.cs +++ b/Source/Core/Editor/EditorUtils.cs @@ -8,6 +8,7 @@ using System.Linq; using System.Reflection; using UnityEditor; +using UnityEditor.Build; using UnityEditor.Callbacks; using UnityEngine; using UnityEngine.UIElements; @@ -16,6 +17,7 @@ namespace VRBuilder.Editor { /// + /// Retrieves the current named build target based on the active build target settings in the Unity Editor. /// Utility helper to ease up working with Unity Editor. /// [InitializeOnLoad] @@ -52,7 +54,7 @@ private static void DisableImguiTests() private static void SetImguiTestsState(bool enabled) { - List symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone).Split(';').ToList(); + List symbols = PlayerSettings.GetScriptingDefineSymbols(NamedBuildTarget.Standalone).Split(';').ToList(); bool wasEnabled = symbols.Contains(ignoreEditorImguiTestsDefineSymbol) == false; @@ -67,7 +69,7 @@ private static void SetImguiTestsState(bool enabled) symbols.Add(ignoreEditorImguiTestsDefineSymbol); } - PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Standalone, string.Join(";", symbols.ToArray())); + PlayerSettings.SetScriptingDefineSymbols(NamedBuildTarget.Standalone, string.Join(";", symbols.ToArray())); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate | ImportAssetOptions.ForceSynchronousImport); } @@ -121,14 +123,25 @@ internal static string GetCoreVersion() return string.IsNullOrEmpty(version) ? "unknown" : version; } + /// + /// Retrieves the current named build target based on the active build target settings in the Unity Editor. + /// + /// + /// A object representing the current build target group. + /// + internal static NamedBuildTarget GetCurrentNamedBuildTarget() + { + BuildTarget activeBuildTarget = EditorUserBuildSettings.activeBuildTarget; + BuildTargetGroup targetGroup = BuildPipeline.GetBuildTargetGroup(activeBuildTarget); + return NamedBuildTarget.FromBuildTargetGroup(targetGroup); + } + /// /// Gets .NET API compatibility level for current BuildTargetGroup. /// internal static ApiCompatibilityLevel GetCurrentCompatibilityLevel() { - BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; - BuildTargetGroup buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget); - return PlayerSettings.GetApiCompatibilityLevel(buildTargetGroup); + return PlayerSettings.GetApiCompatibilityLevel(GetCurrentNamedBuildTarget()); } /// diff --git a/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs b/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs index 6f037fb91..13bd9205d 100644 --- a/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs +++ b/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs @@ -174,7 +174,7 @@ private void OnMouseDownEvent(MouseDownEvent e) if ((e.clickCount == 2) && e.button == (int)MouseButton.LeftMouse && IsRenamable()) { OpenTextEditor(); - e.PreventDefault(); + focusController.IgnoreEvent(e); e.StopImmediatePropagation(); } } diff --git a/Source/Core/Editor/UI/GraphView/StepGroupNode.cs b/Source/Core/Editor/UI/GraphView/StepGroupNode.cs index 1b5a7f705..fd6189391 100644 --- a/Source/Core/Editor/UI/GraphView/StepGroupNode.cs +++ b/Source/Core/Editor/UI/GraphView/StepGroupNode.cs @@ -42,7 +42,7 @@ private void OnNodeClicked(MouseDownEvent e) if ((e.clickCount == 2) && e.button == (int)MouseButton.LeftMouse && IsRenamable()) { ExpandNode(); - e.PreventDefault(); + e.StopPropagation(); e.StopImmediatePropagation(); } } @@ -105,12 +105,12 @@ private void UndoExplodeGroup(IChapter currentChapter, IEnumerable transition.Data.TargetStep = step; } - if(Behavior.Data.Chapter.Data.Steps.Contains(currentChapter.Data.FirstStep)) + if (Behavior.Data.Chapter.Data.Steps.Contains(currentChapter.Data.FirstStep)) { currentChapter.Data.FirstStep = step; } - for(int i = 0; i < Behavior.Data.Chapter.Data.Steps.Count(); i++) + for (int i = 0; i < Behavior.Data.Chapter.Data.Steps.Count(); i++) { IStep step = Behavior.Data.Chapter.Data.Steps[i]; step.StepMetadata.Position = originalPositions[i]; @@ -149,7 +149,7 @@ public override void OnSelected() protected override void OnEditTextFinished(TextField textField) { Behavior.Data.Chapter.Data.SetName(textField.value); - base.OnEditTextFinished(textField); + base.OnEditTextFinished(textField); } public void AddContextMenuActions(DropdownMenu menu) @@ -161,8 +161,8 @@ public void AddContextMenuActions(DropdownMenu menu) menu.AppendAction($"Ungroup", (status) => { - ExplodeNode(); - }); + ExplodeNode(); + }); } } } diff --git a/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs b/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs index 337ba25b3..867a9a9e5 100644 --- a/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs @@ -15,11 +15,11 @@ internal static class AddPropertyExtensionsMenuEntry [MenuItem("Tools/VR Builder/Developer/Add Scene Property Extensions", false, 70)] private static void AddPropertyExtensions() { - if(EditorUtility.DisplayDialog("Add Scene Property Extensions?", "This will add the extensions required by the current scene setup to all scene object properties in the scene.\n" + + if (EditorUtility.DisplayDialog("Add Scene Property Extensions?", "This will add the extensions required by the current scene setup to all scene object properties in the scene.\n" + "Previously added extensions will not be removed.\n" + "Continue?", "Ok", "Cancel")) { - IEnumerable processSceneObjects = GameObject.FindObjectsOfType(true); + IEnumerable processSceneObjects = GameObject.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None); float processedObjects = 0; foreach (ProcessSceneObject processSceneObject in processSceneObjects) diff --git a/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs b/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs index 35181b7d5..2cf351dd4 100644 --- a/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs +++ b/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs @@ -74,7 +74,7 @@ public override void Closing(bool isCompleted) private void ConfigureTeleportationLayers() { - foreach (GameObject configuratorGameObject in GameObject.FindObjectsOfType(true). + foreach (GameObject configuratorGameObject in GameObject.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None). Where(go => go.GetComponent() != null)) { ILayerConfigurator configurator = configuratorGameObject.GetComponent(); diff --git a/Source/Core/Editor/Unity/AssemblySymbolChecker.cs b/Source/Core/Editor/Unity/AssemblySymbolChecker.cs index bce324fd9..2661fd035 100644 --- a/Source/Core/Editor/Unity/AssemblySymbolChecker.cs +++ b/Source/Core/Editor/Unity/AssemblySymbolChecker.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using UnityEditor; +using UnityEditor.Build; using VRBuilder.Editor.Settings; namespace VRBuilder.Editor.Setup @@ -86,27 +87,25 @@ public static void CheckForClass(string assemblyName, string className, string s private static void AddSymbol(string symbol) { - BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; - BuildTargetGroup buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget); - List symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup).Split(';').ToList(); + NamedBuildTarget namedBuildTarget = EditorUtils.GetCurrentNamedBuildTarget(); + List symbols = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget).Split(';').ToList(); if (symbols.Contains(symbol) == false) { symbols.Add(symbol); - PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, string.Join(";", symbols.ToArray())); + PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, string.Join(";", symbols.ToArray())); } } private static void RemoveSymbol(string symbol) { - BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; - BuildTargetGroup buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget); - List symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup).Split(';').ToList(); + NamedBuildTarget namedBuildTarget = EditorUtils.GetCurrentNamedBuildTarget(); + List symbols = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget).Split(';').ToList(); if (symbols.Contains(symbol)) { symbols.Remove(symbol); - PlayerSettings.SetScriptingDefineSymbolsForGroup(buildTargetGroup, string.Join(";", symbols.ToArray())); + PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, string.Join(";", symbols.ToArray())); } } } diff --git a/Source/Core/Editor/Unity/DotNetWindow.cs b/Source/Core/Editor/Unity/DotNetWindow.cs index ba587d68a..9060421bc 100644 --- a/Source/Core/Editor/Unity/DotNetWindow.cs +++ b/Source/Core/Editor/Unity/DotNetWindow.cs @@ -3,67 +3,67 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using UnityEditor; +using UnityEditor.Build; using UnityEngine; - namespace VRBuilder.Editor - { - /// - /// Modal Window that helps setting the 'API Compatibility Level' to '.Net 4.x'. - /// - internal class DotNetWindow : EditorWindow - { - private bool abortBuilding; - private BuildTargetGroup buildTargetGroup; - private ApiCompatibilityLevel currentLevel; - private readonly Vector2 fixedSize = new Vector2(400f, 160); +namespace VRBuilder.Editor +{ + /// + /// Modal Window that helps setting the 'API Compatibility Level' to '.Net 4.x'. + /// + internal class DotNetWindow : EditorWindow + { + private bool abortBuilding; + private NamedBuildTarget namedBuildTarget; + private ApiCompatibilityLevel currentLevel; + private readonly Vector2 fixedSize = new Vector2(400f, 160); - public bool ShouldAbortBuilding() - { - return abortBuilding; - } + public bool ShouldAbortBuilding() + { + return abortBuilding; + } - private void OnEnable() - { - abortBuilding = false; - minSize = maxSize = fixedSize; - titleContent = new GUIContent("API Compatibility Level*"); + private void OnEnable() + { + abortBuilding = false; + minSize = maxSize = fixedSize; + titleContent = new GUIContent("API Compatibility Level*"); - GatherCurrentSettings(); - } + GatherCurrentSettings(); + } - private void OnGUI() - { - EditorGUILayout.Space(); - EditorGUILayout.HelpBox($"This Unity project uses {currentLevel} but some features require .NET 4.X support.\n\nThe built application might not work as expected.", MessageType.Warning); - EditorGUILayout.Space(20f); - EditorGUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - { - if (GUILayout.Button(EditorGUIUtility.TrTextContent("Fix & Continue", "Sets the 'API Compatibility Level' to '.Net 4.x' and continues building the application."), GUILayout.Width(110f))) - { - PlayerSettings.SetApiCompatibilityLevel(buildTargetGroup, ApiCompatibilityLevel.NET_4_6); - Close(); - } + private void OnGUI() + { + EditorGUILayout.Space(); + EditorGUILayout.HelpBox($"This Unity project uses {currentLevel} but some features require .NET 4.X support.\n\nThe built application might not work as expected.", MessageType.Warning); + EditorGUILayout.Space(20f); + EditorGUILayout.BeginHorizontal(); + GUILayout.FlexibleSpace(); + { + if (GUILayout.Button(EditorGUIUtility.TrTextContent("Fix & Continue", "Sets the 'API Compatibility Level' to '.Net 4.x' and continues building the application."), GUILayout.Width(110f))) + { + PlayerSettings.SetApiCompatibilityLevel(namedBuildTarget, ApiCompatibilityLevel.NET_Unity_4_8); + Close(); + } - if (GUILayout.Button(EditorGUIUtility.TrTextContent("Ignore", "Ignores this warning and continues building the application."), GUILayout.Width(110f))) - { - Close(); - } + if (GUILayout.Button(EditorGUIUtility.TrTextContent("Ignore", "Ignores this warning and continues building the application."), GUILayout.Width(110f))) + { + Close(); + } - if (GUILayout.Button(EditorGUIUtility.TrTextContent("Abort", "Aborts the build immediately."), GUILayout.Width(110f))) - { - abortBuilding = true; - Close(); - } - } - EditorGUILayout.EndHorizontal(); - } + if (GUILayout.Button(EditorGUIUtility.TrTextContent("Abort", "Aborts the build immediately."), GUILayout.Width(110f))) + { + abortBuilding = true; + Close(); + } + } + EditorGUILayout.EndHorizontal(); + } - private void GatherCurrentSettings() - { - BuildTarget buildTarget = EditorUserBuildSettings.activeBuildTarget; - buildTargetGroup = BuildPipeline.GetBuildTargetGroup(buildTarget); - currentLevel = PlayerSettings.GetApiCompatibilityLevel(buildTargetGroup); - } - } - } + private void GatherCurrentSettings() + { + namedBuildTarget = EditorUtils.GetCurrentNamedBuildTarget(); + currentLevel = PlayerSettings.GetApiCompatibilityLevel(namedBuildTarget); + } + } +} diff --git a/Source/Core/Editor/Unity/PreBuildDotNetChecker.cs b/Source/Core/Editor/Unity/PreBuildDotNetChecker.cs index 70e8eee1a..3d7173c7e 100644 --- a/Source/Core/Editor/Unity/PreBuildDotNetChecker.cs +++ b/Source/Core/Editor/Unity/PreBuildDotNetChecker.cs @@ -20,7 +20,7 @@ internal class PreBuildDotNetChecker : IPreprocessBuildWithReport, IPostprocessB /// public void OnPreprocessBuild(BuildReport report) { - if (EditorUtils.GetCurrentCompatibilityLevel() != ApiCompatibilityLevel.NET_4_6) + if (EditorUtils.GetCurrentCompatibilityLevel() != ApiCompatibilityLevel.NET_Unity_4_8) { DotNetWindow dotnet = ScriptableObject.CreateInstance(); dotnet.ShowModalUtility(); @@ -35,7 +35,7 @@ public void OnPreprocessBuild(BuildReport report) /// public void OnPostprocessBuild(BuildReport report) { - if (EditorUtils.GetCurrentCompatibilityLevel() != ApiCompatibilityLevel.NET_4_6) + if (EditorUtils.GetCurrentCompatibilityLevel() != ApiCompatibilityLevel.NET_Unity_4_8) { Debug.LogError("This Unity project uses {currentLevel} but some VR Builder features require .NET 4.X support.\nThe built application might not work as expected." + "\nIn order to prevent this, go to Edit > Project Settings > Player Settings > Other Settings and set the Api Compatibility Level to .NET 4.X."); diff --git a/Source/Core/Runtime/Configuration/DefaultRuntimeConfiguration.cs b/Source/Core/Runtime/Configuration/DefaultRuntimeConfiguration.cs index 83b2d050f..96ee5609e 100644 --- a/Source/Core/Runtime/Configuration/DefaultRuntimeConfiguration.cs +++ b/Source/Core/Runtime/Configuration/DefaultRuntimeConfiguration.cs @@ -82,7 +82,7 @@ public override IProcessAudioPlayer ProcessAudioPlayer } /// - public override IEnumerable Users => GameObject.FindObjectsOfType(); + public override IEnumerable Users => GameObject.FindObjectsByType(FindObjectsSortMode.None); /// public override ISceneObjectManager SceneObjectManager diff --git a/Source/Core/Runtime/Configuration/RuntimeConfigurator.cs b/Source/Core/Runtime/Configuration/RuntimeConfigurator.cs index 58397ff7b..620cbae0f 100644 --- a/Source/Core/Runtime/Configuration/RuntimeConfigurator.cs +++ b/Source/Core/Runtime/Configuration/RuntimeConfigurator.cs @@ -60,7 +60,7 @@ public sealed class RuntimeConfigurator : MonoBehaviour /// An array of RuntimeConfigurator instances found in the scene. private static RuntimeConfigurator[] LookUpRuntimeConfiguratorGameObjects() { - RuntimeConfigurator[] instances = FindObjectsOfType(); + RuntimeConfigurator[] instances = FindObjectsByType(FindObjectsSortMode.None); return instances; } diff --git a/Source/Core/Runtime/Unity/UnitySceneSingleton.cs b/Source/Core/Runtime/Unity/UnitySceneSingleton.cs index 50bb632be..473384386 100644 --- a/Source/Core/Runtime/Unity/UnitySceneSingleton.cs +++ b/Source/Core/Runtime/Unity/UnitySceneSingleton.cs @@ -59,7 +59,7 @@ public static T Instance { if (instance == null) { - instance = (T)FindObjectOfType(ConcreteType); + instance = (T)FindFirstObjectByType(ConcreteType); } if (instance == null) @@ -94,7 +94,7 @@ protected virtual void Awake() // Make sure to assign the instance on awake. if (instance == null) { - instance = (T) this; + instance = (T)this; } else { From 79a7608883515b7c9fac614241cb4791f1be87b8 Mon Sep 17 00:00:00 2001 From: Marcello Tridenti Date: Fri, 18 Oct 2024 15:46:13 +0200 Subject: [PATCH 02/26] Moved tests to separate repo (#251) * Moved tests to separate package --- Tests.meta | 8 - Tests/Basic-Conditions-And-Behaviors.meta | 8 - .../Behaviors.meta | 8 - .../Behaviors/BehaviorSequenceTests.cs | 354 -------- .../Behaviors/BehaviorSequenceTests.cs.meta | 11 - .../Behaviors/ConfettiBehaviorTests.cs | 434 --------- .../Behaviors/ConfettiBehaviorTests.cs.meta | 11 - .../Behaviors/DelayBehaviorTests.cs | 115 --- .../Behaviors/DelayBehaviorTests.cs.meta | 11 - .../Behaviors/ExecuteChapterBehaviorTests.cs | 181 ---- .../ExecuteChapterBehaviorTests.cs.meta | 11 - .../Behaviors/ExecuteChaptersBehaviorTests.cs | 329 ------- .../ExecuteChaptersBehaviorTests.cs.meta | 11 - .../Behaviors/MoveObjectBehaviorTests.cs | 277 ------ .../Behaviors/MoveObjectBehaviorTests.cs.meta | 11 - .../Behaviors/PlayAudioBehaviorTests.cs | 313 ------- .../Behaviors/PlayAudioBehaviorTests.cs.meta | 11 - .../Behaviors/ScalingBehaviorTests.cs | 260 ------ .../Behaviors/ScalingBehaviorTests.cs.meta | 3 - .../Behaviors/SetBoolBehaviorTests.cs | 28 - .../Behaviors/SetBoolBehaviorTests.cs.meta | 11 - .../SetComponentEnabledBehaviorTests.cs | 310 ------- .../SetComponentEnabledBehaviorTests.cs.meta | 11 - .../Behaviors/SetNumberBehaviorTests.cs | 32 - .../Behaviors/SetNumberBehaviorTests.cs.meta | 11 - .../SetObjectsEnabledBehaviorTests.cs | 282 ------ .../SetObjectsEnabledBehaviorTests.cs.meta | 11 - .../Behaviors/SetParentBehaviorTests.cs | 265 ------ .../Behaviors/SetParentBehaviorTests.cs.meta | 11 - .../Behaviors/SetTextBehaviorTests.cs | 29 - .../Behaviors/SetTextBehaviorTests.cs.meta | 11 - .../Behaviors/SetValueBehaviorTests.cs | 172 ---- .../Behaviors/SetValueBehaviorTests.cs.meta | 11 - .../Conditions.meta | 8 - .../CompareBooleansConditionTests.cs | 37 - .../CompareBooleansConditionTests.cs.meta | 11 - .../CompareNumbersConditionTests.cs | 46 - .../CompareNumbersConditionTests.cs.meta | 11 - .../Conditions/CompareTextConditionTests.cs | 33 - .../CompareTextConditionTests.cs.meta | 11 - .../Conditions/CompareValuesConditionTests.cs | 91 -- .../CompareValuesConditionTests.cs.meta | 11 - .../ObjectInColliderConditionTests.cs | 426 --------- .../ObjectInColliderConditionTests.cs.meta | 11 - .../Conditions/ObjectInRangeConditionTests.cs | 326 ------- .../ObjectInRangeConditionTests.cs.meta | 11 - .../Conditions/ObjectInTargetTestBase.cs | 43 - .../Conditions/ObjectInTargetTestBase.cs.meta | 11 - .../Conditions/TimeoutConditionTests.cs | 156 ---- .../Conditions/TimeoutConditionTests.cs.meta | 11 - .../ProcessUtilities.meta | 8 - .../ProcessUtilities/ParticleMachines.meta | 8 - .../ParticleMachines/ConfettiMachineTests.cs | 411 --------- .../ConfettiMachineTests.cs.meta | 11 - .../Processes.meta | 8 - .../StepBasicConditionsAndBehaviorsTests.cs | 67 -- ...epBasicConditionsAndBehaviorsTests.cs.meta | 11 - .../Serialization.meta | 8 - ...ializerBasicConditionsAndBehaviorsTests.cs | 280 ------ ...erBasicConditionsAndBehaviorsTests.cs.meta | 3 - .../VRBuilder.Core.TestsReference.asmref | 3 - .../VRBuilder.Core.TestsReference.asmref.meta | 7 - Tests/Basic-Interaction-Component.meta | 8 - .../Behaviors.meta | 8 - .../Behaviors/UnsnapBehaviorTests.cs | 356 -------- .../Behaviors/UnsnapBehaviorTests.cs.meta | 11 - .../Basic-Interaction-Component/Builders.meta | 8 - .../Builders/InteractionDefaultSteps.cs | 143 --- .../Builders/InteractionDefaultSteps.cs.meta | 11 - .../InteractionProcessBuilderTests.cs | 241 ----- .../InteractionProcessBuilderTests.cs.meta | 11 - .../HighlighterTests.cs | 154 ---- .../HighlighterTests.cs.meta | 11 - .../VRBuilder.BasicInteraction.Tests.asmdef | 31 - ...Builder.BasicInteraction.Tests.asmdef.meta | 7 - Tests/Core.meta | 8 - Tests/Core/EditMode.meta | 8 - Tests/Core/EditMode/AssetUtilityTests.cs | 133 --- Tests/Core/EditMode/AssetUtilityTests.cs.meta | 11 - Tests/Core/EditMode/Editor.meta | 8 - Tests/Core/EditMode/Editor/Setup.meta | 3 - .../Setup/RuntimeConfigurationSetupTests.cs | 34 - .../RuntimeConfigurationSetupTests.cs.meta | 3 - Tests/Core/EditMode/Editor/Utils.meta | 8 - .../Editor/Utils/SystemClipboardTests.cs | 293 ------ .../Editor/Utils/SystemClipboardTests.cs.meta | 11 - .../VRBuilder.Core.Tests.Editmode.asmdef | 27 - .../VRBuilder.Core.Tests.Editmode.asmdef.meta | 7 - Tests/Core/PlayMode.meta | 8 - Tests/Core/PlayMode/Behaviors.meta | 8 - .../Behaviors/BackgroundBehaviorTests.cs | 282 ------ .../Behaviors/BackgroundBehaviorTests.cs.meta | 11 - .../Core/PlayMode/Behaviors/BehaviorTests.cs | 28 - .../PlayMode/Behaviors/BehaviorTests.cs.meta | 11 - Tests/Core/PlayMode/Conditions.meta | 8 - .../PlayMode/Conditions/ConditionTests.cs | 51 -- .../Conditions/ConditionTests.cs.meta | 11 - Tests/Core/PlayMode/Entities.meta | 3 - .../PlayMode/Entities/EntityFactoryTests.cs | 71 -- .../Entities/EntityFactoryTests.cs.meta | 3 - Tests/Core/PlayMode/IO.meta | 8 - .../PlayMode/IO/DefaultFileSystemTests.cs | 106 --- .../IO/DefaultFileSystemTests.cs.meta | 11 - Tests/Core/PlayMode/IO/FileManagerTests.cs | 138 --- .../Core/PlayMode/IO/FileManagerTests.cs.meta | 11 - Tests/Core/PlayMode/IO/IOTests.cs | 96 -- Tests/Core/PlayMode/IO/IOTests.cs.meta | 11 - Tests/Core/PlayMode/Locking.meta | 8 - Tests/Core/PlayMode/Locking/LockingTests.cs | 839 ------------------ .../PlayMode/Locking/LockingTests.cs.meta | 11 - Tests/Core/PlayMode/Processes.meta | 3 - .../PlayMode/Processes/BaseProcessTests.cs | 181 ---- .../Processes/BaseProcessTests.cs.meta | 13 - Tests/Core/PlayMode/Processes/ChapterTests.cs | 550 ------------ .../PlayMode/Processes/ChapterTests.cs.meta | 13 - .../Core/PlayMode/Processes/LifeCycleTests.cs | 287 ------ .../PlayMode/Processes/LifeCycleTests.cs.meta | 3 - Tests/Core/PlayMode/Processes/Modes.meta | 8 - .../Modes/ChangeModeDuringExecutionTests.cs | 221 ----- .../ChangeModeDuringExecutionTests.cs.meta | 11 - .../Processes/Modes/ModeParameterTests.cs | 112 --- .../Modes/ModeParameterTests.cs.meta | 11 - Tests/Core/PlayMode/Processes/StepTests.cs | 357 -------- .../Core/PlayMode/Processes/StepTests.cs.meta | 13 - .../PlayMode/Processes/TransitionTests.cs | 169 ---- .../Processes/TransitionTests.cs.meta | 3 - Tests/Core/PlayMode/Properties.meta | 8 - .../Properties/ProcessPropertyTests.cs | 284 ------ .../Properties/ProcessPropertyTests.cs.meta | 11 - Tests/Core/PlayMode/Resources.meta | 8 - Tests/Core/PlayMode/Resources/Sounds.meta | 8 - .../PlayMode/Resources/Sounds/test-sound.mp3 | 3 - .../Resources/Sounds/test-sound.mp3.meta | 22 - Tests/Core/PlayMode/RuntimeUtils.meta | 8 - .../DynamicRuntimeConfiguration.cs | 32 - .../DynamicRuntimeConfiguration.cs.meta | 11 - .../RuntimeUtils/ProcessBuilderTests.cs | 165 ---- .../RuntimeUtils/ProcessBuilderTests.cs.meta | 11 - .../RuntimeUtils/ProcessUpgradeToolTests.cs | 201 ----- .../ProcessUpgradeToolTests.cs.meta | 11 - .../PlayMode/RuntimeUtils/RuntimeTests.cs | 49 - .../RuntimeUtils/RuntimeTests.cs.meta | 3 - Tests/Core/PlayMode/SceneObjects.meta | 8 - .../SceneObjects/ProcessSceneObjectTests.cs | 244 ----- .../ProcessSceneObjectTests.cs.meta | 11 - .../SceneObjectRegistryV2Tests.cs | 173 ---- .../SceneObjectRegistryV2Tests.cs.meta | 11 - .../SceneObjects/SceneObjectTagTests.cs | 97 -- .../SceneObjects/SceneObjectTagTests.cs.meta | 11 - Tests/Core/PlayMode/Serialization.meta | 8 - .../JsonProcessSerializerTests.cs | 212 ----- .../JsonProcessSerializerTests.cs.meta | 3 - .../Serialization/JsonSerializationTests.cs | 179 ---- .../JsonSerializationTests.cs.meta | 3 - .../Serialization/SerializationLengthTests.cs | 133 --- .../SerializationLengthTests.cs.meta | 3 - .../SerializationLengthTestsV3.cs | 133 --- .../SerializationLengthTestsV3.cs.meta | 3 - .../VRBuilder.Core.Tests.PlayMode.asmdef | 26 - .../VRBuilder.Core.Tests.PlayMode.asmdef.meta | 7 - Tests/TestUtils.meta | 8 - Tests/TestUtils/Builders.meta | 8 - .../Builders/BasicProcessStepBuilder.cs | 229 ----- .../Builders/BasicProcessStepBuilder.cs.meta | 11 - Tests/TestUtils/Builders/BasicProcessSteps.cs | 58 -- .../Builders/BasicProcessSteps.cs.meta | 11 - Tests/TestUtils/Builders/BasicStepBuilder.cs | 62 -- .../Builders/BasicStepBuilder.cs.meta | 11 - Tests/TestUtils/Builders/Builder.cs | 67 -- Tests/TestUtils/Builders/Builder.cs.meta | 11 - .../Builders/BuilderWithResourcePath.cs | 57 -- .../Builders/BuilderWithResourcePath.cs.meta | 11 - Tests/TestUtils/Builders/ChapterBuilder.cs | 14 - .../TestUtils/Builders/ChapterBuilder.cs.meta | 11 - Tests/TestUtils/Builders/DefaultSteps.cs | 37 - Tests/TestUtils/Builders/DefaultSteps.cs.meta | 11 - .../Builders/LinearChapterBuilder.cs | 83 -- .../Builders/LinearChapterBuilder.cs.meta | 11 - .../Builders/LinearProcessBuilder.cs | 58 -- .../Builders/LinearProcessBuilder.cs.meta | 11 - Tests/TestUtils/Builders/ProcessBuilder.cs | 13 - .../TestUtils/Builders/ProcessBuilder.cs.meta | 11 - Tests/TestUtils/Builders/StepBuilder.cs | 13 - Tests/TestUtils/Builders/StepBuilder.cs.meta | 11 - .../Builders/TestLinearChapterBuilder.cs | 61 -- .../Builders/TestLinearChapterBuilder.cs.meta | 11 - Tests/TestUtils/DelayedExecutionQueue.cs | 53 -- Tests/TestUtils/DelayedExecutionQueue.cs.meta | 11 - Tests/TestUtils/Mocks.meta | 10 - Tests/TestUtils/Mocks/Behaviors.meta | 8 - .../Behaviors/ActivationStageBehaviorMock.cs | 73 -- .../ActivationStageBehaviorMock.cs.meta | 11 - .../Mocks/Behaviors/EmptyBehaviorMock.cs | 20 - .../Mocks/Behaviors/EmptyBehaviorMock.cs.meta | 13 - .../Mocks/Behaviors/EndlessBehaviorMock.cs | 62 -- .../Behaviors/EndlessBehaviorMock.cs.meta | 13 - .../Behaviors/ObjectReferenceBehaviorMock.cs | 38 - .../ObjectReferenceBehaviorMock.cs.meta | 11 - .../Behaviors/OptionalEndlessBehaviorMock.cs | 15 - .../OptionalEndlessBehaviorMock.cs.meta | 3 - .../Mocks/Behaviors/TimeoutBehaviorMock.cs | 99 --- .../Behaviors/TimeoutBehaviorMock.cs.meta | 13 - .../Mocks/Behaviors/ValueBehaviorMock.cs | 30 - .../Mocks/Behaviors/ValueBehaviorMock.cs.meta | 11 - Tests/TestUtils/Mocks/Conditions.meta | 8 - .../Conditions/AutoCompletedCondition.cs | 40 - .../Conditions/AutoCompletedCondition.cs.meta | 13 - .../Mocks/Conditions/EndlessConditionMock.cs | 46 - .../Conditions/EndlessConditionMock.cs.meta | 13 - .../LockableReferencingConditionMock.cs | 69 -- .../LockableReferencingConditionMock.cs.meta | 11 - .../OptionalEndlessConditionMock.cs | 15 - .../OptionalEndlessConditionMock.cs.meta | 3 - .../Conditions/ReferencingConditionMock.cs | 55 -- .../ReferencingConditionMock.cs.meta | 11 - Tests/TestUtils/Mocks/Properties.meta | 8 - .../Mocks/Properties/ILockablePropertyMock.cs | 16 - .../Properties/ILockablePropertyMock.cs.meta | 11 - .../Mocks/Properties/LockablePropertyMock.cs | 15 - .../Properties/LockablePropertyMock.cs.meta | 11 - .../LockablePropertyMockWithDependency.cs | 21 - ...LockablePropertyMockWithDependency.cs.meta | 11 - .../Mocks/Properties/PropertyMock.cs | 16 - .../Mocks/Properties/PropertyMock.cs.meta | 11 - .../Properties/PropertyMockWithDependency.cs | 18 - .../PropertyMockWithDependency.cs.meta | 11 - Tests/TestUtils/TestingUtils.cs | 224 ----- Tests/TestUtils/TestingUtils.cs.meta | 11 - Tests/TestUtils/VRBuilder.Tests.Utils.asmdef | 19 - .../VRBuilder.Tests.Utils.asmdef.meta | 7 - Tests/TextToSpeech-Component.meta | 8 - .../TextToSpeech-Component/Serialization.meta | 8 - .../TextToSpeechJsonProcessSerializerTests.cs | 47 - ...ToSpeechJsonProcessSerializerTests.cs.meta | 11 - .../VRBuilder.TextToSpeech.Tests.asmdef | 42 - .../VRBuilder.TextToSpeech.Tests.asmdef.meta | 7 - Tests/XR-Interaction-Component.meta | 8 - Tests/XR-Interaction-Component/Runtime.meta | 8 - .../Runtime/GrabbedConditionTests.cs | 206 ----- .../Runtime/GrabbedConditionTests.cs.meta | 11 - .../Runtime/HighlightObjectTests.cs | 287 ------ .../Runtime/HighlightObjectTests.cs.meta | 11 - .../Runtime/ReleasedConditionTests.cs | 252 ------ .../Runtime/ReleasedConditionTests.cs.meta | 11 - .../Runtime/SnapZoneTests.cs | 495 ----------- .../Runtime/SnapZoneTests.cs.meta | 11 - .../Runtime/TeleportConditionTest.cs | 227 ----- .../Runtime/TeleportConditionTest.cs.meta | 11 - .../Runtime/TouchedConditionTests.cs | 232 ----- .../Runtime/TouchedConditionTests.cs.meta | 3 - .../Runtime/UsedConditionTests.cs | 239 ----- .../Runtime/UsedConditionTests.cs.meta | 11 - .../VRBuilder.XRInteraction.Tests.asmdef | 44 - .../VRBuilder.XRInteraction.Tests.asmdef.meta | 7 - .../Runtime/XRTestUtilities.cs | 105 --- .../Runtime/XRTestUtilities.cs.meta | 11 - 256 files changed, 17385 deletions(-) delete mode 100644 Tests.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/ProcessUtilities.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Processes.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Serialization.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs delete mode 100644 Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs.meta delete mode 100644 Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref delete mode 100644 Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref.meta delete mode 100644 Tests/Basic-Interaction-Component.meta delete mode 100644 Tests/Basic-Interaction-Component/Behaviors.meta delete mode 100644 Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs delete mode 100644 Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs.meta delete mode 100644 Tests/Basic-Interaction-Component/Builders.meta delete mode 100644 Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs delete mode 100644 Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs.meta delete mode 100644 Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs delete mode 100644 Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs.meta delete mode 100644 Tests/Basic-Interaction-Component/HighlighterTests.cs delete mode 100644 Tests/Basic-Interaction-Component/HighlighterTests.cs.meta delete mode 100644 Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef delete mode 100644 Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef.meta delete mode 100644 Tests/Core.meta delete mode 100644 Tests/Core/EditMode.meta delete mode 100644 Tests/Core/EditMode/AssetUtilityTests.cs delete mode 100644 Tests/Core/EditMode/AssetUtilityTests.cs.meta delete mode 100644 Tests/Core/EditMode/Editor.meta delete mode 100644 Tests/Core/EditMode/Editor/Setup.meta delete mode 100644 Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs delete mode 100644 Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs.meta delete mode 100644 Tests/Core/EditMode/Editor/Utils.meta delete mode 100644 Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs delete mode 100644 Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs.meta delete mode 100644 Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef delete mode 100644 Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef.meta delete mode 100644 Tests/Core/PlayMode.meta delete mode 100644 Tests/Core/PlayMode/Behaviors.meta delete mode 100644 Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs delete mode 100644 Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Behaviors/BehaviorTests.cs delete mode 100644 Tests/Core/PlayMode/Behaviors/BehaviorTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Conditions.meta delete mode 100644 Tests/Core/PlayMode/Conditions/ConditionTests.cs delete mode 100644 Tests/Core/PlayMode/Conditions/ConditionTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Entities.meta delete mode 100644 Tests/Core/PlayMode/Entities/EntityFactoryTests.cs delete mode 100644 Tests/Core/PlayMode/Entities/EntityFactoryTests.cs.meta delete mode 100644 Tests/Core/PlayMode/IO.meta delete mode 100644 Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs delete mode 100644 Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs.meta delete mode 100644 Tests/Core/PlayMode/IO/FileManagerTests.cs delete mode 100644 Tests/Core/PlayMode/IO/FileManagerTests.cs.meta delete mode 100644 Tests/Core/PlayMode/IO/IOTests.cs delete mode 100644 Tests/Core/PlayMode/IO/IOTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Locking.meta delete mode 100644 Tests/Core/PlayMode/Locking/LockingTests.cs delete mode 100644 Tests/Core/PlayMode/Locking/LockingTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes.meta delete mode 100644 Tests/Core/PlayMode/Processes/BaseProcessTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/BaseProcessTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes/ChapterTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/ChapterTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes/LifeCycleTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/LifeCycleTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes/Modes.meta delete mode 100644 Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes/StepTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/StepTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Processes/TransitionTests.cs delete mode 100644 Tests/Core/PlayMode/Processes/TransitionTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Properties.meta delete mode 100644 Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs delete mode 100644 Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Resources.meta delete mode 100644 Tests/Core/PlayMode/Resources/Sounds.meta delete mode 100644 Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3 delete mode 100644 Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3.meta delete mode 100644 Tests/Core/PlayMode/RuntimeUtils.meta delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs.meta delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs.meta delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs.meta delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs delete mode 100644 Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs.meta delete mode 100644 Tests/Core/PlayMode/SceneObjects.meta delete mode 100644 Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs delete mode 100644 Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs.meta delete mode 100644 Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs delete mode 100644 Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs.meta delete mode 100644 Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs delete mode 100644 Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Serialization.meta delete mode 100644 Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs delete mode 100644 Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs delete mode 100644 Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs delete mode 100644 Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs.meta delete mode 100644 Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs delete mode 100644 Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs.meta delete mode 100644 Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef delete mode 100644 Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef.meta delete mode 100644 Tests/TestUtils.meta delete mode 100644 Tests/TestUtils/Builders.meta delete mode 100644 Tests/TestUtils/Builders/BasicProcessStepBuilder.cs delete mode 100644 Tests/TestUtils/Builders/BasicProcessStepBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/BasicProcessSteps.cs delete mode 100644 Tests/TestUtils/Builders/BasicProcessSteps.cs.meta delete mode 100644 Tests/TestUtils/Builders/BasicStepBuilder.cs delete mode 100644 Tests/TestUtils/Builders/BasicStepBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/Builder.cs delete mode 100644 Tests/TestUtils/Builders/Builder.cs.meta delete mode 100644 Tests/TestUtils/Builders/BuilderWithResourcePath.cs delete mode 100644 Tests/TestUtils/Builders/BuilderWithResourcePath.cs.meta delete mode 100644 Tests/TestUtils/Builders/ChapterBuilder.cs delete mode 100644 Tests/TestUtils/Builders/ChapterBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/DefaultSteps.cs delete mode 100644 Tests/TestUtils/Builders/DefaultSteps.cs.meta delete mode 100644 Tests/TestUtils/Builders/LinearChapterBuilder.cs delete mode 100644 Tests/TestUtils/Builders/LinearChapterBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/LinearProcessBuilder.cs delete mode 100644 Tests/TestUtils/Builders/LinearProcessBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/ProcessBuilder.cs delete mode 100644 Tests/TestUtils/Builders/ProcessBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/StepBuilder.cs delete mode 100644 Tests/TestUtils/Builders/StepBuilder.cs.meta delete mode 100644 Tests/TestUtils/Builders/TestLinearChapterBuilder.cs delete mode 100644 Tests/TestUtils/Builders/TestLinearChapterBuilder.cs.meta delete mode 100644 Tests/TestUtils/DelayedExecutionQueue.cs delete mode 100644 Tests/TestUtils/DelayedExecutionQueue.cs.meta delete mode 100644 Tests/TestUtils/Mocks.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs delete mode 100644 Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Conditions.meta delete mode 100644 Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs delete mode 100644 Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs delete mode 100644 Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs delete mode 100644 Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs delete mode 100644 Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs delete mode 100644 Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Properties.meta delete mode 100644 Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs delete mode 100644 Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs delete mode 100644 Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs delete mode 100644 Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Properties/PropertyMock.cs delete mode 100644 Tests/TestUtils/Mocks/Properties/PropertyMock.cs.meta delete mode 100644 Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs delete mode 100644 Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs.meta delete mode 100644 Tests/TestUtils/TestingUtils.cs delete mode 100644 Tests/TestUtils/TestingUtils.cs.meta delete mode 100644 Tests/TestUtils/VRBuilder.Tests.Utils.asmdef delete mode 100644 Tests/TestUtils/VRBuilder.Tests.Utils.asmdef.meta delete mode 100644 Tests/TextToSpeech-Component.meta delete mode 100644 Tests/TextToSpeech-Component/Serialization.meta delete mode 100644 Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs delete mode 100644 Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs.meta delete mode 100644 Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef delete mode 100644 Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef.meta delete mode 100644 Tests/XR-Interaction-Component.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef delete mode 100644 Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef.meta delete mode 100644 Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs delete mode 100644 Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs.meta diff --git a/Tests.meta b/Tests.meta deleted file mode 100644 index 5d721358b..000000000 --- a/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d2abc59185060c64c8710469705e22d3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors.meta b/Tests/Basic-Conditions-And-Behaviors.meta deleted file mode 100644 index cd7eedb6e..000000000 --- a/Tests/Basic-Conditions-And-Behaviors.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85247a6808f8ec3488053d4f6b7ba5f3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors.meta deleted file mode 100644 index 13469bb35..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d8f848b6c7318c459def772b2b93478 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs deleted file mode 100644 index a7362ea54..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs +++ /dev/null @@ -1,354 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine.Assertions; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class BehaviorSequenceTests : RuntimeTests - { - private const float shortDelay = 0.05f; - - [UnityTest] - public IEnumerator DoNotRepeat() - { - // Given a behaviors sequence with RepeatsMode = Once, - DelayBehavior childBehavior = new DelayBehavior(shortDelay); - BehaviorSequence sequence = new BehaviorSequence(false, new List { childBehavior }); - - // When we activate it, - sequence.LifeCycle.Activate(); - - yield return null; - sequence.Update(); - - // Then it completes its activation only after every child behavior was activated once. - Assert.AreEqual(Stage.Activating, sequence.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, childBehavior.LifeCycle.Stage); - - while (childBehavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - sequence.Update(); - } - - while (sequence.LifeCycle.Stage != Stage.Active) - { - yield return null; - sequence.Update(); - Assert.AreNotEqual(Stage.Activating, childBehavior.LifeCycle.Stage); - } - - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - } - - [UnityTest] - public IEnumerator BehaviorsActivatedInSuccession() - { - // Given a sequence with two behaviors, - BehaviorSequence sequence = new BehaviorSequence(true, new List - { - new DelayBehavior(shortDelay), - new DelayBehavior(shortDelay) - }); - - // When we activate it, - sequence.LifeCycle.Activate(); - - // One is activated only after the previous one is deactivated. - yield return null; - sequence.Update(); - - List behaviors = sequence.Data.Behaviors; - Assert.AreEqual(Stage.Activating, behaviors[0].LifeCycle.Stage); - - while (behaviors[0].LifeCycle.Stage != Stage.Inactive) - { - Assert.AreEqual(Stage.Inactive, behaviors[1].LifeCycle.Stage); - yield return null; - sequence.Update(); - } - - yield return null; - sequence.Update(); - - Assert.AreEqual(Stage.Activating, behaviors[1].LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - } - - [UnityTest] - public IEnumerator ActivateOnlyAfterOnePass() - { - // Given a behaviors sequence, - EndlessBehaviorMock endlessBehaviorMock = new EndlessBehaviorMock(); - BehaviorSequence sequence = new BehaviorSequence(true, new List { endlessBehaviorMock }); - - // When we activate it, - sequence.LifeCycle.Activate(); - - yield return null; - sequence.Update(); - - // Then it is activated only after one pass. - endlessBehaviorMock.LifeCycle.MarkToFastForward(); - - yield return null; - sequence.Update(); - - yield return null; - sequence.Update(); - - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a sequence with two behaviors, - BehaviorSequence sequence = new BehaviorSequence(false, new List - { - new DelayBehavior(shortDelay), - new DelayBehavior(shortDelay) - }); - - // When we mark it to fast-forward, - sequence.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, sequence.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a sequence with two behaviors, - BehaviorSequence sequence = new BehaviorSequence(false, new List - { - new DelayBehavior(shortDelay), - new DelayBehavior(shortDelay) - }); - - // When we mark it to fast-forward and activate it, - sequence.LifeCycle.MarkToFastForward(); - sequence.LifeCycle.Activate(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveRepeatingBehaviorAndActivateIt() - { - // Given a sequence with two behaviors, - BehaviorSequence sequence = new BehaviorSequence(true, new List - { - new DelayBehavior(shortDelay), - new DelayBehavior(shortDelay) - }); - - // When we mark it to fast-forward and activate it, - sequence.LifeCycle.MarkToFastForward(); - sequence.LifeCycle.Activate(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given a sequence with two behaviors, - BehaviorSequence sequence = new BehaviorSequence(false, new List - { - new DelayBehavior(shortDelay), - new DelayBehavior(shortDelay) - }); - - sequence.LifeCycle.Activate(); - - // When we mark it to fast-forward, - sequence.LifeCycle.MarkToFastForward(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingRepeatingBehavior() - { - // Given a sequence with two behaviors, - BehaviorSequence sequence = new BehaviorSequence(true, new List - { - new DelayBehavior(shortDelay), - new DelayBehavior(shortDelay) - }); - - sequence.LifeCycle.Activate(); - - // When we mark it to fast-forward, - sequence.LifeCycle.MarkToFastForward(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - // Cleanup. - sequence.LifeCycle.Deactivate(); - - yield break; - } - - [UnityTest] - public IEnumerator SkipChildNotWhenItIsExecuted() - { - // Given an activating behavior sequence of one not optional and one optional behavior, - OptionalEndlessBehaviorMock optional = new OptionalEndlessBehaviorMock(); - EndlessBehaviorMock notOptional = new EndlessBehaviorMock(); - BehaviorSequence sequence = new BehaviorSequence(false, new List - { - notOptional, - optional, - }); - - sequence.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - sequence.LifeCycle.Activate(); - - yield return null; - sequence.Update(); - - // When the optional behavior is marked to be skipped before it was its turn, - sequence.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Activating); - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Deactivating); - - while (notOptional.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - sequence.Update(); - } - - while (sequence.LifeCycle.Stage != Stage.Active) - { - Assert.AreEqual(Stage.Inactive, optional.LifeCycle.Stage); - yield return null; - sequence.Update(); - } - - // Then it is skipped. - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator SkipChildWhenItIsExecuted() - { - // Given an activating behavior sequence of one not optional and one optional behavior, - OptionalEndlessBehaviorMock optional = new OptionalEndlessBehaviorMock(); - EndlessBehaviorMock notOptional = new EndlessBehaviorMock(); - BehaviorSequence sequence = new BehaviorSequence(false, new List - { - notOptional, - optional, - }); - - sequence.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - sequence.LifeCycle.Activate(); - - yield return null; - sequence.Update(); - - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Activating); - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Deactivating); - - // When the optional behavior is marked to be skipped when it is activating, - sequence.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - while (sequence.LifeCycle.Stage != Stage.Active) - { - Assert.AreEqual(Stage.Inactive, optional.LifeCycle.Stage); - yield return null; - sequence.Update(); - } - - // Then it is skipped. - Assert.AreEqual(Stage.Active, sequence.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator UnskipChild() - { - // Given an activating repeating behavior sequence of one not optional and one skipped optional behavior, - OptionalEndlessBehaviorMock optional = new OptionalEndlessBehaviorMock(); - EndlessBehaviorMock notOptional = new EndlessBehaviorMock(); - BehaviorSequence sequence = new BehaviorSequence(true, new List - { - notOptional, - optional, - }); - - sequence.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - sequence.LifeCycle.Activate(); - - yield return null; - sequence.Update(); - - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Activating); - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Deactivating); - - sequence.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - yield return null; - sequence.Update(); - - //When you re-enable it, - sequence.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Activating); - notOptional.LifeCycle.MarkToFastForwardStage(Stage.Deactivating); - - while (optional.LifeCycle.Stage != Stage.Activating) - { - yield return null; - sequence.Update(); - } - - // Then it is not skipped when it's its turn. - Assert.AreEqual(Stage.Activating, optional.LifeCycle.Stage); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs.meta deleted file mode 100644 index 382267b14..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/BehaviorSequenceTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: de2ad71622eef53448629f3cf6e43f23 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs deleted file mode 100644 index 8df432958..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs +++ /dev/null @@ -1,434 +0,0 @@ -using System; -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; - -using Object = UnityEngine.Object; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class ConfettiBehaviorTests : RuntimeTests - { - private const string pathToPrefab = "Confetti/Prefabs/RandomConfettiMachine"; - private const string pathToMockPrefab = "Confetti/Prefabs/MockConfettiMachine"; - private const string positionProviderName = "Target Position"; - private const float duration = 0.2f; - private const float areaRadius = 11f; - private readonly IMode defaultMode = new Mode("Default", new WhitelistTypeRule()); - - [UnityTest] - public IEnumerator CreateByReference() - { - // Given the path to the confetti machine prefab, the position provider name, the duration, the bool isAboveUser, the area radius, and the activation mode, - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - BehaviorExecutionStages executionStages = BehaviorExecutionStages.ActivationAndDeactivation; - - // When we create ConfettiBehavior and pass process objects by reference, - ConfettiBehavior confettiBehavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, executionStages); - confettiBehavior.Configure(defaultMode); - - // Then all properties of the ConfettiBehavior are properly assigned - Assert.AreEqual(false, confettiBehavior.Data.IsAboveUser); - Assert.AreEqual(positionProvider, confettiBehavior.Data.ConfettiPosition.Value); - Assert.AreEqual(pathToPrefab, confettiBehavior.Data.ConfettiMachinePrefabPath); - Assert.AreEqual(areaRadius, confettiBehavior.Data.AreaRadius); - Assert.AreEqual(duration, confettiBehavior.Data.Duration); - Assert.AreEqual(executionStages, confettiBehavior.Data.ExecutionStages); - - yield break; - } - - [UnityTest] - public IEnumerator ActivationWithSpawnedMachine() - { - // Given a positive duration, a position provider, some valid default settings, and the activation mode = Activation, - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior and wait until it's activating, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - ConfettiMachine machine = GameObject.FindObjectOfType(); - - // Then the activation state of the behavior is "activating" and the ConfettiMachine exists in the scene. - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - Assert.IsTrue(machine != null); - } - - [UnityTest] - public IEnumerator RemovedMachineAfterPositiveDuration() - { - // Given a positive duration, a position provider, some valid default settings, and the activation mode = Activation, - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior and wait for one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - // And wait duration seconds, - float startTime = Time.time; - while (Time.time < startTime + duration + 0.1f) - { - yield return null; - behavior.Update(); - } - - // Then behavior activation is completed, and the confetti machine should be deleted. - string prefabName = "Behavior" + pathToPrefab.Substring(pathToPrefab.LastIndexOf("/", StringComparison.Ordinal) + 1); - Assert.IsTrue(GameObject.Find(prefabName) == null); - } - - [UnityTest] - public IEnumerator NegativeDuration() - { - // Given a negative duration, a position provider, some valid default settings, and the activation mode = Activation, - float newDuration = -0.25f; - - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, newDuration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // Wait one update cycle, - yield return null; - behavior.Update(); - - // And wait one end cycle, - yield return null; - behavior.Update(); - - // Then behavior activation is immediately completed, and the confetti machine should be deleted. - string prefabName = "Behavior" + pathToPrefab.Substring(pathToPrefab.LastIndexOf("/", StringComparison.Ordinal) + 1); - GameObject machine = GameObject.Find(prefabName); - - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(machine == null); - } - - [UnityTest] - public IEnumerator ZeroDuration() - { - // Given a duration equals zero, a position provider, some valid default settings, and the activation mode = Activation, - float newDuration = 0f; - - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, newDuration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // Wait one update cycle, - yield return null; - behavior.Update(); - - // And wait one end cycle, - yield return null; - behavior.Update(); - - // Then behavior activation is immediately completed, and the confetti machine should be in the scene. - string prefabName = "Behavior" + pathToPrefab.Substring(pathToPrefab.LastIndexOf("/", StringComparison.Ordinal) + 1); - GameObject machine = GameObject.Find(prefabName); - - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(machine == null); - - // Cleanup created game objects. - Object.DestroyImmediate(target); - } - - [UnityTest] - public IEnumerator SpawnAtPositionProvider() - { - // Given the position provider process object, some valid default settings, and the activation mode = Activation, - GameObject target = new GameObject(positionProviderName); - target.transform.position = new Vector3(5, 10, 20); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // And wait one update cycle, - yield return null; - behavior.Update(); - - ConfettiMachine machine = GameObject.FindObjectOfType(); - - Assert.IsFalse(machine == null); - Assert.IsTrue(machine.transform.position == target.transform.position); - } - - [UnityTest] - public IEnumerator StillActivatingWhenPositiveDurationNotFinished() - { - // Given the position provider process object, some valid default settings, and the activation mode = Activation, - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, 2f, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // And wait two update cycles, - yield return null; - behavior.Update(); - - yield return null; - behavior.Update(); - - // Then the activation state of the behavior is "activating". - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator IsActiveAfterPositiveDuration() - { - // Given the position provider process object, some valid default settings, and the activation mode = Activation, - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior and wait for one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // And wait for it to be active, - float startTime = Time.time; - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - float behaviorDuration = Time.time - startTime; - - // Then the activation state of the behavior is "active" after the expected duration. - Assert.AreEqual(duration, behaviorDuration, Time.deltaTime); - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator NotExistingPrefab() - { - // Given the position provider process object, an invalid path to a not existing prefab, some valid default settings, and the activation mode = Activation, - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToMockPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When I activate that behavior and wait for one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - string prefabName = "Behavior" + pathToMockPrefab.Substring(pathToMockPrefab.LastIndexOf("/", StringComparison.Ordinal) + 1); - GameObject machine = GameObject.Find(prefabName); - - // Then the activation state of the behavior is "active" and there is no confetti machine in the scene. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(null, machine); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a ConfettiBehavior with activation mode "Activation", - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a ConfettiBehavior with activation mode "Activation", - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a ConfettiBehavior with activation mode "Deactivation", - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Deactivation); - behavior.Configure(defaultMode); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given an active ConfettiBehavior with activation mode "Activation", - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Activation); - behavior.Configure(defaultMode); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given an active ConfettiBehavior with activation mode "Deactivation", - GameObject target = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = target.AddComponent(); - - ConfettiBehavior behavior = new ConfettiBehavior(false, positionProvider, pathToPrefab, areaRadius, duration, BehaviorExecutionStages.Deactivation); - behavior.Configure(defaultMode); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs.meta deleted file mode 100644 index 997f4a521..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1656fb71bb4fca143832786c71cf89d7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs deleted file mode 100644 index 3c0a841b7..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs +++ /dev/null @@ -1,115 +0,0 @@ -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class DelayBehaviorTests : RuntimeTests - { - [UnityTest] - public IEnumerator DoneAfterTime() - { - // Given a delayed activation behavior with a positive delay time, - float delay = 0.1f; - IBehavior behavior = new DelayBehavior(delay); - - // When we activate it and wait for it to be active, - behavior.LifeCycle.Activate(); - - float startTime = Time.time; - while (behavior.LifeCycle.Stage != Stage.Active) - { - behavior.Update(); - yield return null; - } - float duration = Time.time - startTime; - - // Then the behavior should be active after the specified delay, within a margin of error. - Assert.GreaterOrEqual(duration, delay); - Assert.LessOrEqual(duration, delay + 0.05f); - } - - [UnityTest] - public IEnumerator RunsInstantlyWhenDelayTimeIsZero() - { - // Given a delayed activation behavior with delay time == 0, - IBehavior parentBehavior = new DelayBehavior(0f); - - // When we activate it, - parentBehavior.LifeCycle.Activate(); - parentBehavior.Update(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, parentBehavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator NegativeTimeCompletesImmediately() - { - // Given a delayed activation behavior with negative delay time, - DelayBehavior behavior = new DelayBehavior(-0.25f); - - // When we activate it, - behavior.LifeCycle.Activate(); - behavior.Update(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a delayed activation behavior with a positive delay time, - IBehavior behavior = new DelayBehavior(0.05f); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a delayed activation behavior with a positive delay time, - IBehavior behavior = new DelayBehavior(0.1f); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given an active delayed activation behavior with a positive delay time, - IBehavior behavior = new DelayBehavior(0.05f); - - behavior.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - - yield break; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs.meta deleted file mode 100644 index 606ecf9f4..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/DelayBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 840e8afbbd2882747b4e4dc2385985f6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs deleted file mode 100644 index b3646eb00..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs +++ /dev/null @@ -1,181 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Properties; -using VRBuilder.Core.Tests.Utils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class ExecuteChapterBehaviorTests : BehaviorTests - { - GameObject boolean; - - private BooleanDataProperty CreateBooleanPropertyObject() - { - boolean = new GameObject("Boolean"); - return boolean.AddComponent(); - } - - protected override IBehavior CreateDefaultBehavior() - { - return new ExecuteChapterBehavior(EntityFactory.CreateChapter("Step Group")); - } - - [TearDown] - public void DestroyBooleanObject() - { - GameObject.DestroyImmediate(boolean); - } - - [UnityTest] - public IEnumerator StepsAreExecuted() - { - // Given a execute chapter behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it, - behavior.LifeCycle.Activate(); - - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the steps are executed. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a execute chapter behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior.Data.Chapter.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a execute chapter behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given a execute chapter behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given a execute chapter behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs.meta deleted file mode 100644 index 3ba44e18a..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChapterBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 983a9f8809fda6a45b7955a0dd6aea71 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs deleted file mode 100644 index 2195013da..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs +++ /dev/null @@ -1,329 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Properties; -using VRBuilder.Core.Tests.Utils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class ExecuteChaptersBehaviorTests : BehaviorTests - { - private List createdObjects = new List(); - - private BooleanDataProperty CreateBooleanPropertyObject(string name = "Boolean") - { - GameObject boolean = new GameObject(name); - createdObjects.Add(boolean); - return boolean.AddComponent(); - } - - protected override IBehavior CreateDefaultBehavior() - { - return new ExecuteChaptersBehavior(EntityFactory.CreateChapter("Step Group")); - } - - [TearDown] - public void DestroyBooleanObject() - { - foreach (GameObject obj in createdObjects) - { - GameObject.DestroyImmediate(obj); - } - - createdObjects.Clear(); - } - - [UnityTest] - public IEnumerator DoesNotActivateIfThreadIncomplete() - { - // Given a execute chapters behavior with one thread that will not complete immediately, - IStep step1 = EntityFactory.CreateStep("CompletingStep"); - IChapter chapter1 = EntityFactory.CreateChapter("Thread 1"); - chapter1.Data.Steps.Add(step1); - chapter1.Data.FirstStep = step1; - - IStep step2 = EntityFactory.CreateStep("BlockingStep"); - step2.Data.Transitions.Data.Transitions.First().Data.Conditions.Add(new TimeoutCondition(10f)); - IChapter chapter2 = EntityFactory.CreateChapter("Thread 2"); - chapter2.Data.Steps.Add(step2); - chapter2.Data.FirstStep = step2; - - ExecuteChaptersBehavior behavior = new ExecuteChaptersBehavior(new IChapter[] { chapter1, chapter2 }); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it and wait for the first thread to complete, - behavior.LifeCycle.Activate(); - - while (Stage.Active != chapter1.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the behavior does not complete because a thread is still running. - Assert.AreEqual(Stage.Active, chapter1.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, chapter2.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator ThreadsAreExecutedAtTheSameTime() - { - // Given a execute chapters behavior, - BooleanDataProperty chapterExecuted1 = CreateBooleanPropertyObject("1"); - BooleanDataProperty chapterExecuted2 = CreateBooleanPropertyObject("2"); - - IStep step1 = EntityFactory.CreateStep("Set boolean 1"); - step1.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted1, true)); - IChapter chapter1 = EntityFactory.CreateChapter("Thread 1"); - chapter1.Data.Steps.Add(step1); - chapter1.Data.FirstStep = step1; - - IStep step2 = EntityFactory.CreateStep("Set boolean 2"); - step2.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted2, true)); - IChapter chapter2 = EntityFactory.CreateChapter("Thread 2"); - chapter2.Data.Steps.Add(step2); - chapter2.Data.FirstStep = step2; - - ExecuteChaptersBehavior behavior = new ExecuteChaptersBehavior(new IChapter[] { chapter1, chapter2 }); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it, - behavior.LifeCycle.Activate(); - - while (Stage.Active != chapter1.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the steps are executed. - Assert.AreEqual(Stage.Active, chapter2.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted1.GetValue()); - Assert.IsTrue(chapterExecuted2.GetValue()); - } - - [UnityTest] - public IEnumerator StepsAreExecuted() - { - // Given a execute chapters behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it, - behavior.LifeCycle.Activate(); - - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the steps are executed. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a execute chapters behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior.Data.Chapter.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a execute chapters behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given a execute chapters behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given a execute chapters behavior, - BooleanDataProperty chapterExecuted = CreateBooleanPropertyObject(); - IStep step = EntityFactory.CreateStep("Set boolean"); - step.Data.Behaviors.Data.Behaviors.Add(new SetValueBehavior(chapterExecuted, true)); - IChapter chapter = EntityFactory.CreateChapter("Step Group"); - chapter.Data.Steps.Add(step); - chapter.Data.FirstStep = step; - ExecuteChapterBehavior behavior = new ExecuteChapterBehavior(chapter); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue(chapterExecuted.GetValue()); - } - - [UnityTest] - public IEnumerator ObsoletePropertiesAreRetained() - { - // Given an execute chapters behavior with obsolete data, - ExecuteChaptersBehavior behavior = new ExecuteChaptersBehavior(); - IChapter chapter = ChapterFactory.Instance.Create("Test"); -#pragma warning disable CS0618 // Type or member is obsolete - behavior.Data.Chapters = new List() { chapter }; -#pragma warning restore CS0618 // Type or member is obsolete - - // When I access subchapters, - List subChapters = behavior.Data.SubChapters; - - // Then the old data is retrieved. - Assert.IsNotNull(subChapters); - SubChapter subChapter = subChapters.FirstOrDefault(); - Assert.IsNotNull(subChapter); - Assert.AreEqual(chapter, subChapter.Chapter); - yield return null; - - } - - [UnityTest] - public IEnumerator BehaviorActivatesWhenNonOptionalPathsFinishActivating() - { - // Given a execute chapters behavior with an optional path, - IChapter optionalPath = new LinearChapterBuilder("Optional") - .AddStep(new BasicStepBuilder("Endless") - .AddBehavior(new EndlessBehaviorMock())) - .Build(); - - IChapter nonOptionalPath = new LinearChapterBuilder("NonOptional") - .AddStep(new BasicStepBuilder("Delay") - .AddBehavior(new DelayBehavior(0.1f))) - .Build(); - - ExecuteChaptersBehavior behavior = new ExecuteChaptersBehavior(new List { new SubChapter(optionalPath, true), new SubChapter(nonOptionalPath, false) }); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - behavior.LifeCycle.Activate(); - - // When the non-optional paths are completed, - while (nonOptionalPath.LifeCycle.Stage == Stage.Activating) - { - yield return null; - behavior.Update(); - } - - Assert.AreEqual(Stage.Active, nonOptionalPath.LifeCycle.Stage); - - yield return null; - behavior.Update(); - - Assert.AreEqual(Stage.Aborting, optionalPath.LifeCycle.Stage); - - yield return null; - behavior.Update(); - yield return null; - behavior.Update(); - yield return null; - behavior.Update(); - - // Then the behavior is active. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, nonOptionalPath.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, optionalPath.LifeCycle.Stage); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs.meta deleted file mode 100644 index 15640347c..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ExecuteChaptersBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f5cf91cdcb709a94b99196e24890d6ea -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs deleted file mode 100644 index 0c58978b1..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs +++ /dev/null @@ -1,277 +0,0 @@ -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class MoveObjectBehaviorTests : RuntimeTests - { - private const string movedName = "Moved Object"; - private const string positionProviderName = "Target Position"; - - [UnityTest] - public IEnumerator CreateByReference() - { - // Given two process objects and a duration, - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject targetGo = new GameObject(positionProviderName); - ProcessSceneObject positionProvider = targetGo.AddComponent(); - - float duration = 0.25f; - - // When we create MoveObjectBehavior and pass process objects by reference, - MoveObjectBehavior moveObjectBehavior = new MoveObjectBehavior(moved, positionProvider, duration); - - // Then all properties of the MoveObjectBehavior are properly assigned - Assert.AreEqual(moved, moveObjectBehavior.Data.TargetObject.Value); - Assert.AreEqual(positionProvider, moveObjectBehavior.Data.FinalPosition.Value); - Assert.AreEqual(moveObjectBehavior.Data.Duration, duration); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(targetGo); - - yield return null; - } - - [UnityTest] - public IEnumerator PositiveDuration() - { - // Given MoveObjectBehavior that takes two process objects with different positions and rotations, and positive transition duration, - float duration = 0.05f; - - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject positionProviderGo = new GameObject(positionProviderName); - positionProviderGo.transform.position = new Vector3(1, 2, 50); - positionProviderGo.transform.rotation = Quaternion.Euler(57, 195, 188); - ProcessSceneObject target = positionProviderGo.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, target, duration); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When I activate that behavior and wait for transition duration, - behavior.LifeCycle.Activate(); - - float startTime = Time.time; - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then behavior activation is completed, and moved object position and rotation matches positionProvider's. - Assert.IsTrue(Time.time - startTime > duration); - Assert.IsTrue((movedGo.transform.position - positionProviderGo.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(movedGo.transform.rotation, positionProviderGo.transform.rotation) > 0.999f); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(positionProviderGo); - - yield return null; - } - - [UnityTest] - public IEnumerator NegativeDuration() - { - // Given MoveObjectBehavior that takes two process objects with different positions and rotations, and negative transition duration, - float duration = -2.5f; - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject positionProviderGameObject = new GameObject(positionProviderName); - positionProviderGameObject.transform.position = new Vector3(1, 2, 50); - positionProviderGameObject.transform.rotation = Quaternion.Euler(123, 15, 8); - ProcessSceneObject positionProvider = positionProviderGameObject.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, positionProvider, duration); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate that behavior, - behavior.LifeCycle.Activate(); - - yield return null; - behavior.Update(); - - // Then it immediately completes its activation, and moved object position and rotation matches the ones of positionProvider. - Assert.IsTrue(behavior.LifeCycle.Stage == Stage.Active); - Assert.IsTrue((movedGo.transform.position - positionProviderGameObject.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(movedGo.transform.rotation, positionProviderGameObject.transform.rotation) > 0.999f); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(positionProviderGameObject); - - yield return null; - } - - [UnityTest] - public IEnumerator ZeroDuration() - { - // Given MoveObjectBehavior that takes two process objects with different positions and rotations, and transition duration that equals zero, - float duration = 0f; - - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject targetGo = new GameObject(positionProviderName); - targetGo.transform.position = new Vector3(1, 2, 50); - targetGo.transform.rotation = Quaternion.Euler(123, 15, 8); - ProcessSceneObject target = targetGo.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, target, duration); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate that behavior, - behavior.LifeCycle.Activate(); - - yield return null; - behavior.Update(); - - // Then it immediately completes its activation, and moved object position and rotation matches the ones of positionProvider. - Assert.IsTrue(behavior.LifeCycle.Stage == Stage.Active); - Assert.IsTrue((movedGo.transform.position - targetGo.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(movedGo.transform.rotation, targetGo.transform.rotation) > 0.999f); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(targetGo); - - yield return null; - } - - [UnityTest] - public IEnumerator SamePosition() - { - // Given MoveObjectBehavior that takes two process objects with the same position and rotation, and positive transition duration, - float duration = 0.05f; - - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject targetGo = new GameObject(positionProviderName); - ProcessSceneObject target = targetGo.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, target, duration); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the behavior, - behavior.LifeCycle.Activate(); - - yield return null; - behavior.Update(); - - // Then it does not finish its activation immediately. - Assert.IsTrue(behavior.LifeCycle.Stage == Stage.Activating); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(targetGo); - - yield return null; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given MoveObjectBehavior that takes two process objects with different positions and rotations, and positive transition duration, - float duration = 0.05f; - - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject positionProviderGo = new GameObject(positionProviderName); - positionProviderGo.transform.position = new Vector3(1, 2, 50); - positionProviderGo.transform.rotation = Quaternion.Euler(57, 195, 188); - ProcessSceneObject target = positionProviderGo.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, target, duration); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it wasn't activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(positionProviderGo); - - yield return null; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given MoveObjectBehavior that takes two process objects with different positions and rotations, and positive transition duration, - float duration = 0.05f; - - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject positionProviderGo = new GameObject(positionProviderName); - positionProviderGo.transform.position = new Vector3(1, 2, 50); - positionProviderGo.transform.rotation = Quaternion.Euler(57, 195, 188); - ProcessSceneObject target = positionProviderGo.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, target, duration); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately, and moved object position and rotation matches the ones of positionProvider. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue((movedGo.transform.position - positionProviderGo.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(movedGo.transform.rotation, positionProviderGo.transform.rotation) > 0.999f); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(positionProviderGo); - - yield return null; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given an activated MoveObjectBehavior that takes two process objects with different positions and rotations, and positive transition duration, - float duration = 0.05f; - - GameObject movedGo = new GameObject(movedName); - ProcessSceneObject moved = movedGo.AddComponent(); - - GameObject positionProviderGo = new GameObject(positionProviderName); - positionProviderGo.transform.position = new Vector3(1, 2, 50); - positionProviderGo.transform.rotation = Quaternion.Euler(57, 195, 188); - ProcessSceneObject target = positionProviderGo.AddComponent(); - - MoveObjectBehavior behavior = new MoveObjectBehavior(moved, target, duration); - - behavior.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately, and moved object position and rotation matches the ones of positionProvider. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue((movedGo.transform.position - positionProviderGo.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(movedGo.transform.rotation, positionProviderGo.transform.rotation) > 0.999f); - - // Cleanup created game objects. - Object.DestroyImmediate(movedGo); - Object.DestroyImmediate(positionProviderGo); - - yield return null; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs.meta deleted file mode 100644 index 581b09836..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/MoveObjectBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 302127d4581e68a4dbab534f62a6527b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs deleted file mode 100644 index 78128f4ef..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs +++ /dev/null @@ -1,313 +0,0 @@ -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Audio; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class PlayAudioBehaviorTests : RuntimeTests - { - private static AudioSource audioSource; - - [SetUp] - public override void SetUp() - { - base.SetUp(); - - // Setup the player and its audio source in here. - // AudioSource.playOnAwake is by default true. Thus audioSource.isPlaying is true during the first frame. - // The first frame is skipped after setup and audioSource.isPlaying is false as desired. - GameObject player = new GameObject("AudioPlayer"); - audioSource = player.AddComponent(); - } - - [UnityTest] - public IEnumerator AudioIsPlayed() - { - // Given a PlayAudioBehavior, - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - - // When we activate it, - behavior.LifeCycle.Activate(); - - // Then audio is played. - Assert.IsTrue(audioSource.isPlaying); - - yield break; - } - - [UnityTest] - public IEnumerator ActivatingWhileAudioPlays() - { - // Given a PlayAudioBehavior, - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it, - behavior.LifeCycle.Activate(); - - yield return null; - behavior.Update(); - - // Then that audio source is playing but behavior is active. - Assert.IsTrue(audioSource.isPlaying); - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator ActiveAfterAudioPlayed() - { - // Given a PlayAudioBehavior, - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it and wait for the audio to play back, - behavior.LifeCycle.Activate(); - - float startTime = Time.time; - while (audioSource.isPlaying) - { - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - yield return null; - behavior.Update(); - } - - float duration = Time.time - startTime; - - // Then the audio is not playing and the behavior is active. - Assert.AreEqual(audioData.AudioClip.length, duration, 0.1f); - Assert.IsFalse(audioSource.isPlaying); - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator AudioIsPlayedOnDeactivation() - { - // Given a PlayAudioBehavior with activation mode "Deactivation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Deactivation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate and deactivate it, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - yield return null; - behavior.Update(); - - // Then the audio is playing. - Assert.IsTrue(audioSource.isPlaying); - } - - [UnityTest] - public IEnumerator StillDeactivatingWhenPlayingAudio() - { - // Given a PlayAudioBehavior with activation mode "Deactivation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Deactivation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate and deactivate it, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - yield return null; - behavior.Update(); - - // Then that audio source is playing but behavior is deactivating. - Assert.IsTrue(audioSource.isPlaying); - Assert.AreEqual(Stage.Deactivating, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator IsDeactivatedAfterPlayingAudio() - { - // Given a PlayAudioBehavior with activation mode "Deactivation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Deactivation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate and deactivate it and wait until the clip stops playing, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - float startTime = Time.time; - while (audioSource.isPlaying) - { - yield return null; - behavior.Update(); - } - - float duration = Time.time - startTime; - - // Then the behavior is deactivated after the clip's duration has elapsed, within a margin of error. - Assert.AreEqual(audioData.AudioClip.length, duration, 0.1f); - Assert.IsFalse(audioSource.isPlaying); - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator BehaviorWithoutAudioClipIsActivatedImmediately() - { - // Given a PlayAudioBehavior with empty audio data and mode set to Activation - ResourceAudio audioData = new ResourceAudio(null); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When behavior is activated - behavior.LifeCycle.Activate(); - - yield return null; - behavior.Update(); - - // Then it immediately finishes its activation. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator BehaviorWithoutAudioClipIsDeactivatedImmediately() - { - // Given a PlayAudioBehavior with empty audio data and mode set to Deactivation - ResourceAudio audioData = new ResourceAudio(null); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Deactivation, audioSource); - behavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - - // When behavior is activated - behavior.LifeCycle.Activate(); - - yield return null; - behavior.Update(); - - behavior.LifeCycle.Deactivate(); - - yield return null; - behavior.Update(); - - // Then it immediately finishes its activation. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a PlayAudioBehavior with activation mode "Activation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a PlayAudioBehavior with activation mode "Activation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately and audio is not playing. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsFalse(audioSource.isPlaying); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a PlayAudioBehavior with activation mode "Deactivation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Deactivation, audioSource); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately and audio is not playing. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsFalse(audioSource.isPlaying); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given an active PlayAudioBehavior with activation mode "Activation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Activation, audioSource); - - behavior.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately and audio is not playing. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsFalse(audioSource.isPlaying); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given a deactivating PlayAudioBehavior with activation mode "Activation", - ResourceAudio audioData = new ResourceAudio("Sounds/test-sound"); - IBehavior behavior = new PlayAudioBehavior(audioData, BehaviorExecutionStages.Deactivation, audioSource); - - behavior.LifeCycle.Activate(); - behavior.LifeCycle.Deactivate(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately and audio is not playing. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsFalse(audioSource.isPlaying); - - yield break; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs.meta deleted file mode 100644 index df7882084..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/PlayAudioBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: eb6ef47d380201148b6123f3abf160da -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs deleted file mode 100644 index d04b5ce25..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs +++ /dev/null @@ -1,260 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class ScalingBehaviorTests : RuntimeTests - { - private const string targetName = "TestReference"; - private readonly Vector3 newScale = new Vector3(15, 10, 7.5f); - private readonly IMode defaultMode = new Mode("Default", new WhitelistTypeRule()); - - [UnityTest] - public IEnumerator DoneAfterTime() - { - // Given a complete scaling behavior with a positive duration, - const float duration = 0.05f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = target.transform.localScale + newScale; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we activate the behavior and wait for it's delay time, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - float startTime = Time.time; - while (Time.time < startTime + duration) - { - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - Assert.IsFalse(target.transform.localScale == endScale); - yield return null; - behavior.Update(); - } - - // Then the behavior should be active and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - } - - [UnityTest] - public IEnumerator RunsInstantlyWhenDelayTimeIsZero() - { - // Given a complete scaling behavior with duration time == 0, - const float duration = 0f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = target.transform.localScale + newScale; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we activate it and wait one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - // Then the behavior is activated immediately and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - } - - [UnityTest] - public IEnumerator NegativeTimeCompletesImmediately() - { - // Given a complete scaling behavior with negative duration time, - const float duration = -0.05f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = target.transform.localScale + newScale; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we activate it and wait one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - // Then the behavior is activated immediately and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - - yield break; - } - - [UnityTest] - public IEnumerator ZeroScaleCompletes() - { - // Given a complete scaling behavior with duration time == 0 and scale == (0, 0, 0), - const float duration = 0f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = Vector3.zero; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we activate it and wait one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - // Then the behavior is activated immediately and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - } - - [UnityTest] - public IEnumerator NegativeScaleCompletes() - { - // Given a complete scaling behavior with duration time == 0 and scale == (-1, -1, -1), - const float duration = 0f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = new Vector3(-1, -1, -1); - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we activate it and wait one update cycle, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - yield return null; - behavior.Update(); - - // Then the behavior is activated immediately and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a complete scaling behavior with a positive duration, - const float duration = 0.05f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = target.transform.localScale + newScale; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsFalse(target.transform.localScale == endScale); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a complete scaling behavior with a positive duration, - const float duration = 0.05f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = target.transform.localScale + newScale; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then the behavior is activated immediately and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given an active and complete scaling behavior with a positive duration, - const float duration = 0.05f; - - GameObject target = new GameObject(targetName); - ProcessSceneObject positionProvider = target.AddComponent(); - - Vector3 endScale = target.transform.localScale + newScale; - - IBehavior behavior = new ScalingBehavior(new List() { positionProvider }, endScale, duration); - behavior.Configure(defaultMode); - - behavior.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then the behavior is activated immediately and the object is scaled correctly. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(target.transform.localScale == endScale); - - yield break; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs.meta deleted file mode 100644 index bfb3fa19d..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/ScalingBehaviorTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: d20ec6e4186c463ea1e8f05d4d356aa8 -timeCreated: 1556192147 \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs deleted file mode 100644 index a9d3b19ba..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class SetBoolBehaviorTests : SetValueBehaviorTests - { - protected static TestCaseData[] SetValueTestCases = new TestCaseData[] - { - new TestCaseData(true).Returns(null), - new TestCaseData(false).Returns(null), - }; - - protected override IBehavior CreateDefaultBehavior() - { - IDataProperty property = CreatePropertyObject(); - return new SetValueBehavior(property, true); - } - - protected override IDataProperty CreatePropertyObject() - { - GameObject propertyObject = new GameObject("Value Property Object"); - return propertyObject.AddComponent(); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs.meta deleted file mode 100644 index 64bed81c2..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetBoolBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a258141f3fc3b7a4aa4374de20175cee -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs deleted file mode 100644 index c0cdd16c0..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs +++ /dev/null @@ -1,310 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.Animations; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.Utils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - [TestFixture] - public class SetComponentEnabledBehaviorTests : BehaviorTests - { - List spawnedObjects = new List(); - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - protected override IBehavior CreateDefaultBehavior() - { - return new SetComponentEnabledBehavior(CreateTargetObject().Guid, "BoxCollider", false, false); - } - - protected ISceneObject CreateTargetObject(string name = "Target Object") - { - GameObject targetObject = new GameObject("Target Object"); - targetObject.AddComponent(); - targetObject.AddComponent(); - spawnedObjects.Add(targetObject); - - ProcessSceneObject sceneObject = targetObject.AddComponent(); - sceneObject.AddGuid(testTag); - return sceneObject; - } - - [TearDown] - public void DeleteAllObjects() - { - foreach (GameObject spawnedObject in spawnedObjects) - { - GameObject.DestroyImmediate(spawnedObject); - } - - spawnedObjects.Clear(); - } - - [UnityTest] - public IEnumerator CreateBehavior() - { - // Given the necessary parameters, - ISceneObject targetObject = CreateTargetObject(); - string componentType = "BoxCollider"; - bool enable = true; - bool revert = true; - - // When we create the behavior passing process objects by reference, - SetComponentEnabledBehavior behavior = new SetComponentEnabledBehavior(testTag, componentType, enable, revert); - - // Then all properties of the behavior are properly assigned. - Assert.AreEqual(testTag, behavior.Data.TargetObjects.Guids.First()); - Assert.AreEqual(componentType, behavior.Data.ComponentType); - Assert.AreEqual(enable, behavior.Data.SetEnabled); - Assert.AreEqual(revert, behavior.Data.RevertOnDeactivation); - - yield break; - } - - [UnityTest] - public IEnumerator ComponentsAreDisabled() - { - // Given a behavior, - ISceneObject spawnedObject = CreateTargetObject(); - spawnedObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "BoxCollider", false, false); - - // When it is activated, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target components are disabled. - Assert.IsTrue(spawnedObject.GameObject.GetComponents().Length > 0); - foreach (BoxCollider collider in spawnedObject.GameObject.GetComponents()) - { - Assert.IsFalse(collider.enabled); - } - } - - [UnityTest] - public IEnumerator NoComponentsAreDisabled() - { - // Given a behavior, - ISceneObject spawnedObject = CreateTargetObject(); - spawnedObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "", false, false); - - // When it is activated, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target components are disabled. - Assert.IsTrue(spawnedObject.GameObject.GetComponents().Length > 0); - foreach (BoxCollider collider in spawnedObject.GameObject.GetComponents()) - { - Assert.IsTrue(collider.enabled); - } - Assert.IsTrue(spawnedObject.GameObject.GetComponent().enabled); - } - - [UnityTest] - public IEnumerator ComponentsAreEnabled() - { - // Given a behavior, - ISceneObject spawnedObject = CreateTargetObject(); - spawnedObject.GameObject.AddComponent(); - - spawnedObject.GameObject.GetComponents().ToList().ForEach(c => c.enabled = false); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "BoxCollider", true, false); - - // When it is activated, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target components are disabled. - Assert.IsTrue(spawnedObject.GameObject.GetComponents().Length > 0); - foreach (BoxCollider collider in spawnedObject.GameObject.GetComponents()) - { - Assert.IsTrue(collider.enabled); - } - } - - [UnityTest] - public IEnumerator ComponentsAreDisabledThenEnabled() - { - // Given a behavior, - ISceneObject spawnedObject = CreateTargetObject(); - spawnedObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "BoxCollider", false, true); - - // When it is activated, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - bool wasDisabled = false; - foreach (BoxCollider collider in spawnedObject.GameObject.GetComponents()) - { - wasDisabled |= collider.enabled; - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - behavior.Update(); - } - - // Then the target components are disabled. - Assert.IsTrue(spawnedObject.GameObject.GetComponents().Length > 0); - foreach (BoxCollider collider in spawnedObject.GameObject.GetComponents()) - { - Assert.IsTrue(collider.enabled); - } - Assert.IsFalse(wasDisabled); - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a behavior, - ISceneObject targetObject = CreateTargetObject(); - Component component = targetObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "AudioSource", false, false); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsFalse(targetObject.GameObject.GetComponent().enabled); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a behavior, - ISceneObject targetObject = CreateTargetObject(); - Component component = targetObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "AudioSource", false, false); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsFalse(targetObject.GameObject.GetComponent().enabled); - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given a behavior, - ISceneObject targetObject = CreateTargetObject(); - Component component = targetObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "AudioSource", false, false); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsFalse(targetObject.GameObject.GetComponent().enabled); - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given a behavior, - ISceneObject targetObject = CreateTargetObject(); - Component component = targetObject.GameObject.AddComponent(); - - IBehavior behavior = new SetComponentEnabledBehavior(testTag, "AudioSource", false, false); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsFalse(targetObject.GameObject.GetComponent().enabled); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs.meta deleted file mode 100644 index bda839844..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetComponentEnabledBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 66a1d7f8041e9eb4f8fb015cf4ee6277 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs deleted file mode 100644 index 446f6c7aa..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs +++ /dev/null @@ -1,32 +0,0 @@ -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class SetNumberBehaviorTests : SetValueBehaviorTests - { - protected static TestCaseData[] SetValueTestCases = new TestCaseData[] - { - new TestCaseData(33124.4313f).Returns(null), - new TestCaseData(-31f).Returns(null), - new TestCaseData(0f).Returns(null), - new TestCaseData(float.MinValue).Returns(null), - new TestCaseData(float.NaN).Returns(null), - new TestCaseData(float.MaxValue).Returns(null), - }; - - protected override IBehavior CreateDefaultBehavior() - { - IDataProperty property = CreatePropertyObject(); - return new SetValueBehavior(property, 6.4f); - } - - protected override IDataProperty CreatePropertyObject() - { - GameObject propertyObject = new GameObject("Value Property Object"); - return propertyObject.AddComponent(); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs.meta deleted file mode 100644 index a3890a911..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetNumberBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8140e023a38323541b1c689708e31565 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs deleted file mode 100644 index 95f22c15d..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs +++ /dev/null @@ -1,282 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class SetObjectsEnabledBehaviorTests : RuntimeTests - { - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - [UnityTest] - public IEnumerator ObjectsAreEnabledAfterActivation() - { - // Given an active process object and a process with enable game object behavior, - ProcessSceneObject toEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toEnable1.AddGuid(testTag); - toEnable1.GameObject.SetActive(false); - - ProcessSceneObject toEnable2 = TestingUtils.CreateSceneObject("toEnable"); - toEnable2.AddGuid(testTag); - toEnable2.GameObject.SetActive(false); - - ProcessSceneObject toNotEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toNotEnable1.GameObject.SetActive(false); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, true); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the process object is enabled. - Assert.True(toEnable1.GameObject.activeSelf); - Assert.True(toEnable2.GameObject.activeSelf); - Assert.False(toNotEnable1.gameObject.activeSelf); - - // Cleanup - TestingUtils.DestroySceneObject(toEnable1); - TestingUtils.DestroySceneObject(toEnable2); - TestingUtils.DestroySceneObject(toNotEnable1); - - yield break; - } - - [UnityTest] - public IEnumerator ObjectsStayEnabled() - { - ProcessSceneObject toEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toEnable1.AddGuid(testTag); - toEnable1.GameObject.SetActive(false); - - ProcessSceneObject toEnable2 = TestingUtils.CreateSceneObject("toEnable"); - toEnable2.AddGuid(testTag); - toEnable2.GameObject.SetActive(false); - - ProcessSceneObject toNotEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toNotEnable1.GameObject.SetActive(false); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, true); - - // When the behavior is activated and after the step is completed - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - behavior.Update(); - } - - // Then the process object is enabled. - Assert.True(toEnable1.GameObject.activeSelf); - Assert.True(toEnable2.GameObject.activeSelf); - Assert.False(toNotEnable1.gameObject.activeSelf); - - // Cleanup - TestingUtils.DestroySceneObject(toEnable1); - TestingUtils.DestroySceneObject(toEnable2); - TestingUtils.DestroySceneObject(toNotEnable1); - } - - [UnityTest] - public IEnumerator ObjectsAreDisabledAfterActivation() - { - // Given an active process object and a process with disable game object behavior, - ProcessSceneObject toDisable1 = TestingUtils.CreateSceneObject("toEnable"); - toDisable1.AddGuid(testTag); - - ProcessSceneObject toDisable2 = TestingUtils.CreateSceneObject("toEnable"); - toDisable2.AddGuid(testTag); - - ProcessSceneObject toNotDisable1 = TestingUtils.CreateSceneObject("toEnable"); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, false); - - // When the behavior is activated - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the process object is disabled. - Assert.False(toDisable1.GameObject.activeSelf); - Assert.False(toDisable2.GameObject.activeSelf); - Assert.True(toNotDisable1.gameObject.activeSelf); - - // Cleanup - TestingUtils.DestroySceneObject(toDisable1); - TestingUtils.DestroySceneObject(toDisable2); - TestingUtils.DestroySceneObject(toNotDisable1); - - yield break; - } - - [UnityTest] - public IEnumerator ObjectsStayDisabled() - { - // Given an active process object and a process with disable game object behavior, - ProcessSceneObject toDisable1 = TestingUtils.CreateSceneObject("toEnable"); - toDisable1.AddGuid(testTag); - - ProcessSceneObject toDisable2 = TestingUtils.CreateSceneObject("toEnable"); - toDisable2.AddGuid(testTag); - - ProcessSceneObject toNotDisable1 = TestingUtils.CreateSceneObject("toEnable"); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, false); - - // When the behavior is activated and after the step is completed - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the process object stays disabled. - Assert.False(toDisable1.GameObject.activeSelf); - Assert.False(toDisable2.GameObject.activeSelf); - Assert.True(toNotDisable1.gameObject.activeSelf); - - // Cleanup - TestingUtils.DestroySceneObject(toDisable1); - TestingUtils.DestroySceneObject(toDisable2); - TestingUtils.DestroySceneObject(toNotDisable1); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - ProcessSceneObject toEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toEnable1.AddGuid(testTag); - toEnable1.GameObject.SetActive(false); - - ProcessSceneObject toEnable2 = TestingUtils.CreateSceneObject("toEnable"); - toEnable2.AddGuid(testTag); - toEnable2.GameObject.SetActive(false); - - ProcessSceneObject toNotEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toNotEnable1.GameObject.SetActive(false); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, true); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it weren't activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - - // Cleanup. - TestingUtils.DestroySceneObject(toEnable1); - TestingUtils.DestroySceneObject(toEnable2); - TestingUtils.DestroySceneObject(toNotEnable1); - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given an inactive process object and a EnableGameObjectBehavior, - ProcessSceneObject toEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toEnable1.AddGuid(testTag); - toEnable1.GameObject.SetActive(false); - - ProcessSceneObject toEnable2 = TestingUtils.CreateSceneObject("toEnable"); - toEnable2.AddGuid(testTag); - toEnable2.GameObject.SetActive(false); - - ProcessSceneObject toNotEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toNotEnable1.GameObject.SetActive(false); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, true); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it should work without any differences because the behavior is done immediately anyways. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.True(toEnable1.GameObject.activeSelf); - Assert.True(toEnable2.GameObject.activeSelf); - Assert.False(toNotEnable1.gameObject.activeSelf); - - // Cleanup. - TestingUtils.DestroySceneObject(toEnable1); - TestingUtils.DestroySceneObject(toEnable2); - TestingUtils.DestroySceneObject(toNotEnable1); - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given an inactive process object and an active EnableGameObjectBehavior, - ProcessSceneObject toEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toEnable1.AddGuid(testTag); - toEnable1.GameObject.SetActive(false); - - ProcessSceneObject toEnable2 = TestingUtils.CreateSceneObject("toEnable"); - toEnable2.AddGuid(testTag); - toEnable2.GameObject.SetActive(false); - - ProcessSceneObject toNotEnable1 = TestingUtils.CreateSceneObject("toEnable"); - toNotEnable1.GameObject.SetActive(false); - - SetObjectsEnabledBehavior behavior = new SetObjectsEnabledBehavior(testTag, true); - - behavior.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it should work without any differences because the behavior is done immediately anyways. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.True(toEnable1.GameObject.activeSelf); - Assert.True(toEnable2.GameObject.activeSelf); - Assert.False(toNotEnable1.gameObject.activeSelf); - - // Cleanup. - TestingUtils.DestroySceneObject(toEnable1); - TestingUtils.DestroySceneObject(toEnable2); - TestingUtils.DestroySceneObject(toNotEnable1); - yield break; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs.meta deleted file mode 100644 index 166abc5be..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetObjectsEnabledBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 653ed4ecbf360f24992f5cd22ceffc98 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs deleted file mode 100644 index e1b58c7ba..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs +++ /dev/null @@ -1,265 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.Utils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - [TestFixture] - public class SetParentBehaviorTests : BehaviorTests - { - List spawnedObjects = new List(); - - protected override IBehavior CreateDefaultBehavior() - { - ISceneObject target = SpawnTestObject("Target", Vector3.zero, Quaternion.identity, Vector3.one); - ISceneObject parent = SpawnTestObject("Parent", Vector3.zero, Quaternion.identity, Vector3.one); - return new SetParentBehavior(target, parent); - } - - public ProcessSceneObject SpawnTestObject(string name, Vector3 position, Quaternion rotation, Vector3 scale, Transform parent = null) - { - GameObject spawnedObject = new GameObject(name); - spawnedObject.transform.SetPositionAndRotation(position, rotation); - spawnedObject.transform.localScale = scale; - spawnedObjects.Add(spawnedObject); - return spawnedObject.AddComponent(); - } - - private static TestCaseData[] snapTestCases = new TestCaseData[] - { - new TestCaseData(new Vector3(3, -2, 6), Quaternion.Euler(-5, 7, 43)).Returns(null), - new TestCaseData(new Vector3(75, 2, 8), Quaternion.Euler(123, 65, 41)).Returns(null), - new TestCaseData(new Vector3(0, 0, 0), Quaternion.Euler(45, 2, -12)).Returns(null), - new TestCaseData(new Vector3(5, -6, 2), Quaternion.Euler(0, 0, 0)).Returns(null), - }; - - [TearDown] - public void DeleteAllObjects() - { - foreach (GameObject spawnedObject in spawnedObjects) - { - GameObject.DestroyImmediate(spawnedObject); - } - - spawnedObjects.Clear(); - } - - [UnityTest] - public IEnumerator ObjectIsParented() - { - // Given a set parent behavior, - ProcessSceneObject target = SpawnTestObject("Target", Vector3.zero, Quaternion.identity, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", Vector3.zero, Quaternion.identity, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent); - - // When the behavior completes, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target object has been parented. - Assert.AreEqual(parent.transform, target.transform.parent); - } - - [UnityTest] - [TestCaseSource(nameof(snapTestCases))] - public IEnumerator ObjectSnapsToParentIfSet(Vector3 parentPosition, Quaternion parentRotation) - { - // Given a set parent behavior, - ProcessSceneObject target = SpawnTestObject("Target", Vector3.zero, Quaternion.identity, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", parentPosition, parentRotation, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent, true); - - // When the behavior completes, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target object has been parented, and it snaps to the parent's position. - Assert.AreEqual(parent.transform, target.transform.parent); - Assert.IsTrue((parent.transform.position - target.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(parent.transform.rotation, target.transform.rotation) > 0.999f); - } - - [UnityTest] - [TestCaseSource(nameof(snapTestCases))] - public IEnumerator ObjectDoesNotSnapToParentIfNotSet(Vector3 parentPosition, Quaternion parentRotation) - { - // Given a set parent behavior, - Vector3 originalPosition = new Vector3(456, 42, -22); - Quaternion originalRotation = Quaternion.Euler(34, -56, 190); - ProcessSceneObject target = SpawnTestObject("Target", originalPosition, originalRotation, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", parentPosition, parentRotation, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent, false); - - // When the behavior completes, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target object has not been parented, and its position stays the same. - Assert.AreEqual(parent.transform, target.transform.parent); - Assert.IsTrue((originalPosition - target.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(originalRotation, target.transform.rotation) > 0.999f); - } - - [UnityTest] - public IEnumerator ObjectSetToRootIfParentNotSet() - { - // Given a set parent behavior, - ProcessSceneObject target = SpawnTestObject("Target", Vector3.zero, Quaternion.identity, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", Vector3.zero, Quaternion.identity, Vector3.one); - target.transform.SetParent(parent.transform); - IBehavior behavior = new SetParentBehavior(target, null); - - // When the behavior completes, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - // Then the target object has been unparented. - Assert.AreEqual(null, target.transform.parent); - } - - [UnityTest] - [TestCaseSource(nameof(snapTestCases))] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt(Vector3 parentPosition, Quaternion parentRotation) - { - // Given a set parent behavior, - Vector3 originalPosition = new Vector3(456, 42, -22); - Quaternion originalRotation = Quaternion.Euler(34, -56, 190); - ProcessSceneObject target = SpawnTestObject("Target", originalPosition, originalRotation, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", parentPosition, parentRotation, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent, true); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue((parentPosition - target.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(parentRotation, target.transform.rotation) > 0.999f); - Assert.AreEqual(parent.transform, target.transform.parent); - - yield break; - } - - [UnityTest] - [TestCaseSource(nameof(snapTestCases))] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt(Vector3 parentPosition, Quaternion parentRotation) - { - // Given a set parent behavior, - Vector3 originalPosition = new Vector3(456, 42, -22); - Quaternion originalRotation = Quaternion.Euler(34, -56, 190); - ProcessSceneObject target = SpawnTestObject("Target", originalPosition, originalRotation, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", parentPosition, parentRotation, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent, true); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue((parentPosition - target.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(parentRotation, target.transform.rotation) > 0.999f); - Assert.AreEqual(parent.transform, target.transform.parent); - } - - [UnityTest] - [TestCaseSource(nameof(snapTestCases))] - public IEnumerator FastForwardActivatingBehavior(Vector3 parentPosition, Quaternion parentRotation) - { - // Given a set parent behavior, - Vector3 originalPosition = new Vector3(456, 42, -22); - Quaternion originalRotation = Quaternion.Euler(34, -56, 190); - ProcessSceneObject target = SpawnTestObject("Target", originalPosition, originalRotation, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", parentPosition, parentRotation, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent, true); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue((parentPosition - target.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(parentRotation, target.transform.rotation) > 0.999f); - Assert.AreEqual(parent.transform, target.transform.parent); - } - - [UnityTest] - [TestCaseSource(nameof(snapTestCases))] - public IEnumerator FastForwardDeactivatingBehavior(Vector3 parentPosition, Quaternion parentRotation) - { - // Given a set parent behavior, - Vector3 originalPosition = new Vector3(456, 42, -22); - Quaternion originalRotation = Quaternion.Euler(34, -56, 190); - ProcessSceneObject target = SpawnTestObject("Target", originalPosition, originalRotation, Vector3.one); - ProcessSceneObject parent = SpawnTestObject("Parent", parentPosition, parentRotation, Vector3.one); - IBehavior behavior = new SetParentBehavior(target, parent, true); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue((parentPosition - target.transform.position).sqrMagnitude < 0.001f); - Assert.IsTrue(Quaternion.Dot(parentRotation, target.transform.rotation) > 0.999f); - Assert.AreEqual(parent.transform, target.transform.parent); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs.meta deleted file mode 100644 index b31b870f0..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetParentBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fec6961439a988a4b8e536229975be14 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs deleted file mode 100644 index 93e3ed0eb..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs +++ /dev/null @@ -1,29 +0,0 @@ -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class SetTextBehaviorTests : SetValueBehaviorTests - { - protected static TestCaseData[] SetValueTestCases = new TestCaseData[] - { - new TestCaseData("some text").Returns(null), - new TestCaseData("").Returns(null), - new TestCaseData(null).Returns(null), - }; - - protected override IBehavior CreateDefaultBehavior() - { - IDataProperty property = CreatePropertyObject(); - return new SetValueBehavior(property, "blah blah prrr"); - } - - protected override IDataProperty CreatePropertyObject() - { - GameObject propertyObject = new GameObject("Value Property Object"); - return propertyObject.AddComponent(); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs.meta deleted file mode 100644 index 1855195c6..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetTextBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f6312b3c19d79074a84f719e2ed3c12e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs deleted file mode 100644 index 567f9ce2e..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs +++ /dev/null @@ -1,172 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using System.Linq; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Properties; -using VRBuilder.Core.Tests.Utils; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public abstract class SetValueBehaviorTests : BehaviorTests - { - protected abstract IDataProperty CreatePropertyObject(); - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator CreateByReference(T value) - { - // Given the necessary parameters, - IDataProperty property = CreatePropertyObject(); - - // When we create the behavior passing process objects by reference, - SetValueBehavior behavior = new SetValueBehavior(property, value); - - // Then all properties of the behavior are properly assigned. - Assert.AreEqual(property, behavior.Data.DataProperties.Values.First()); - Assert.AreEqual(value, behavior.Data.NewValue); - - yield break; - } - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator CreateByName(T value) - { - // Given the necessary parameters, - IDataProperty property = CreatePropertyObject(); - Guid propertyName = property.SceneObject.Guid; - - // When we create the behavior passing process objects by name, - SetValueBehavior behavior = new SetValueBehavior(propertyName, value); - - // Then all properties of the behavior are properly assigned. - Assert.AreEqual(property, behavior.Data.DataProperties.Values.First()); - Assert.AreEqual(value, behavior.Data.NewValue); - - yield break; - } - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator ValueIsSet(T value) - { - //Given a set value behavior, - IDataProperty property = CreatePropertyObject(); - SetValueBehavior behavior = new SetValueBehavior(property, value); - - //When it is activated, - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - //Then the value is set - Assert.AreEqual(value, property.GetValue()); - } - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt(T value) - { - //Given a set value behavior, - IDataProperty property = CreatePropertyObject(); - SetValueBehavior behavior = new SetValueBehavior(property, value); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(value, property.GetValue()); - - yield break; - } - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt(T value) - { - //Given a set value behavior, - IDataProperty property = CreatePropertyObject(); - SetValueBehavior behavior = new SetValueBehavior(property, value); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.AreEqual(value, property.GetValue()); - } - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator FastForwardActivatingBehavior(T value) - { - //Given a set value behavior, - IDataProperty property = CreatePropertyObject(); - SetValueBehavior behavior = new SetValueBehavior(property, value); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(value, property.GetValue()); - } - - [UnityTest] - [TestCaseSource("SetValueTestCases")] - public IEnumerator FastForwardDeactivatingBehavior(T value) - { - //Given a set value behavior, - IDataProperty property = CreatePropertyObject(); - SetValueBehavior behavior = new SetValueBehavior(property, value); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.AreEqual(value, property.GetValue()); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs.meta deleted file mode 100644 index d7f9fc182..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Behaviors/SetValueBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 122b0fc9c1be49d49b25c28e52dcc856 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions.meta deleted file mode 100644 index 7928b2ac7..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ae4d44a1432e7f1449285f0023a44c50 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs deleted file mode 100644 index 2033dbd0a..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs +++ /dev/null @@ -1,37 +0,0 @@ -using NUnit.Framework; -using System; -using UnityEngine; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Conditions -{ - public class CompareBooleansConditionTests : CompareValuesConditionTests - { - protected override ICondition CreateDefaultCondition() - { - return new CompareValuesCondition(Guid.Empty, Guid.Empty, true, false, true, true, new OrOperation()); - } - - protected override IDataProperty CreateValueProperty(string name, bool value) - { - GameObject propertyObject = new GameObject(name); - IDataProperty property = propertyObject.AddComponent(); - property.SetValue(value); - return property; - } - - protected static TestCaseData[] CompareValuesTestCases = new TestCaseData[] - { - new TestCaseData(true, true, true, true, new EqualToOperation()).Returns(null), - new TestCaseData(false, true, true, true, new NotEqualToOperation()).Returns(null), - new TestCaseData(true, true, true, true, new AndOperation()).Returns(null), - new TestCaseData(false, true, true, true, new OrOperation()).Returns(null), - new TestCaseData(true, true, false, false, new EqualToOperation()).Returns(null), - new TestCaseData(false, true, false, false, new NotEqualToOperation()).Returns(null), - new TestCaseData(true, true, false, false, new AndOperation()).Returns(null), - new TestCaseData(false, true, false, false, new OrOperation()).Returns(null), - }; - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs.meta deleted file mode 100644 index 2ea72f8b4..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareBooleansConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0e695c4be4a85f141b4efee701484e33 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs deleted file mode 100644 index 0dfd3b8f9..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs +++ /dev/null @@ -1,46 +0,0 @@ -using NUnit.Framework; -using System; -using UnityEngine; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Core.Properties; - - -namespace VRBuilder.Core.Tests.Conditions -{ - public class CompareNumbersConditionTests : CompareValuesConditionTests - { - protected override ICondition CreateDefaultCondition() - { - return new CompareValuesCondition(Guid.Empty, Guid.Empty, 5f, -6.3f, true, true, new GreaterThanOperation()); - } - - protected override IDataProperty CreateValueProperty(string name, float value) - { - GameObject propertyObject = new GameObject(name); - IDataProperty property = propertyObject.AddComponent(); - property.SetValue(value); - return property; - } - - protected static TestCaseData[] CompareValuesTestCases = new TestCaseData[] - { - new TestCaseData(44f, -32f, true, true, new GreaterThanOperation()).Returns(null), - new TestCaseData(44f, -32f, true, true, new GreaterOrEqualOperation()).Returns(null), - new TestCaseData(-32f, -32f, true, true, new GreaterOrEqualOperation()).Returns(null), - new TestCaseData(44f, 44f, true, true, new EqualToOperation()).Returns(null), - new TestCaseData(44f, -32f, true, true, new NotEqualToOperation()).Returns(null), - new TestCaseData(15.4f, 23.65f, true, true, new LessThanOperation()).Returns(null), - new TestCaseData(15.4f, 15.4f, true, true, new LessThanOrEqualOperation()).Returns(null), - new TestCaseData(-44f, -32f, true, true, new LessThanOrEqualOperation()).Returns(null), - new TestCaseData(44f, -32f, false, false, new GreaterThanOperation()).Returns(null), - new TestCaseData(44f, -32f, false, false, new GreaterOrEqualOperation()).Returns(null), - new TestCaseData(-32f, -32f, false, false, new GreaterOrEqualOperation()).Returns(null), - new TestCaseData(44f, 44f, false, false, new EqualToOperation()).Returns(null), - new TestCaseData(44f, -32f, false, false, new NotEqualToOperation()).Returns(null), - new TestCaseData(15.4f, 23.65f, false, false, new LessThanOperation()).Returns(null), - new TestCaseData(15.4f, 15.4f, false, false, new LessThanOrEqualOperation()).Returns(null), - new TestCaseData(-44f, -32f, false, false, new LessThanOrEqualOperation()).Returns(null), - }; - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs.meta deleted file mode 100644 index 714321bfc..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareNumbersConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 995d164fab00f4e40af9b34d9439777c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs deleted file mode 100644 index dd22811a1..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs +++ /dev/null @@ -1,33 +0,0 @@ -using NUnit.Framework; -using System; -using UnityEngine; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Conditions -{ - public class CompareTextConditionTests : CompareValuesConditionTests - { - protected override ICondition CreateDefaultCondition() - { - return new CompareValuesCondition(Guid.Empty, Guid.Empty, "blah", "some text", true, true, new NotEqualToOperation()); - } - - protected override IDataProperty CreateValueProperty(string name, string value) - { - GameObject propertyObject = new GameObject(name); - IDataProperty property = propertyObject.AddComponent(); - property.SetValue(value); - return property; - } - - protected static TestCaseData[] CompareValuesTestCases = new TestCaseData[] - { - new TestCaseData("asdfg", "asdfg", true, true, new EqualToOperation()).Returns(null), - new TestCaseData("asdfg", "qwerty", true, true, new NotEqualToOperation()).Returns(null), - new TestCaseData("asdfg", "asdfg", false, false, new EqualToOperation()).Returns(null), - new TestCaseData("asdfg", "qwerty", false, false, new NotEqualToOperation()).Returns(null), - }; - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs.meta deleted file mode 100644 index 4a51a90d2..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareTextConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1d9006b2999dce143a8c7b53554ccb69 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs deleted file mode 100644 index 6fd1a8fb5..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs +++ /dev/null @@ -1,91 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine.TestTools; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Conditions -{ - public abstract class CompareValuesConditionTests : ConditionTests where T : IEquatable, IComparable - { - protected abstract IDataProperty CreateValueProperty(string name, T value); - - [UnityTest] - [TestCaseSource("CompareValuesTestCases")] - public IEnumerator CreateByReference(T leftValue, T rightValue, bool isLeftConst, bool isRightConst, IOperationCommand operationType) - { - // Given the necessary parameters, - IDataProperty leftProperty = CreateValueProperty("Left Property Object", leftValue); - IDataProperty rightProperty = CreateValueProperty("Left Property Object", rightValue); - - // When we create the condition passing process objects by reference, - CompareValuesCondition condition = new CompareValuesCondition(leftProperty, rightProperty, leftValue, rightValue, isLeftConst, isRightConst, operationType); - - // Then all properties of the condition are properly assigned. - Assert.AreEqual(leftProperty, condition.Data.LeftProperty.Value); - Assert.AreEqual(rightProperty, condition.Data.RightProperty.Value); - Assert.AreEqual(leftValue, condition.Data.LeftValue); - Assert.AreEqual(rightValue, condition.Data.RightValue); - Assert.AreEqual(isLeftConst, condition.Data.IsLeftConst); - Assert.AreEqual(isRightConst, condition.Data.IsRightConst); - Assert.AreEqual(operationType, condition.Data.Operation); - - yield break; - } - - [UnityTest] - [TestCaseSource("CompareValuesTestCases")] - public IEnumerator CreateByName(T leftValue, T rightValue, bool isLeftConst, bool isRightConst, IOperationCommand operationType) - { - // Given the necessary parameters, - IDataProperty leftProperty = CreateValueProperty("Left Property Object", leftValue); - IDataProperty rightProperty = CreateValueProperty("Left Property Object", rightValue); - Guid leftPropertyId = leftProperty.SceneObject.Guid; - Guid rightPropertyId = rightProperty.SceneObject.Guid; - - // When we create the behavior passing process objects by name, - CompareValuesCondition condition = new CompareValuesCondition(leftPropertyId, rightPropertyId, leftValue, rightValue, isLeftConst, isRightConst, operationType); - - // Then all properties of the behavior are properly assigned. - Assert.AreEqual(leftProperty, condition.Data.LeftProperty.Value); - Assert.AreEqual(rightProperty, condition.Data.RightProperty.Value); - Assert.AreEqual(leftValue, condition.Data.LeftValue); - Assert.AreEqual(rightValue, condition.Data.RightValue); - Assert.AreEqual(isLeftConst, condition.Data.IsLeftConst); - Assert.AreEqual(isRightConst, condition.Data.IsRightConst); - Assert.AreEqual(operationType, condition.Data.Operation); - - yield break; - } - [UnityTest] - [TestCaseSource("CompareValuesTestCases")] - public IEnumerator ConditionIsFulfilledWhenExpected(T leftValue, T rightValue, bool isLeftConst, bool isRightConst, IOperationCommand operationType) - { - // Given a condition, - IDataProperty leftProperty = CreateValueProperty("Left Property Object", leftValue); - IDataProperty rightProperty = CreateValueProperty("Left Property Object", rightValue); - CompareValuesCondition condition = new CompareValuesCondition(leftProperty, rightProperty, leftValue, rightValue, isLeftConst, isRightConst, operationType); - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When the condition is fulfilled, - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Then the condition completes. - Assert.IsTrue(condition.IsCompleted); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs.meta deleted file mode 100644 index 51f339bfc..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/CompareValuesConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 962f3745e9d78b742a6562fb74840595 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs deleted file mode 100644 index da3ceb77a..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs +++ /dev/null @@ -1,426 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Unity; - -namespace VRBuilder.Core.Tests.Conditions -{ - [TestFixture] - public class ObjectInColliderConditionTests : ObjectInTargetTestBase - { - [SetUp] - public void SetUpColliderSceneObject() - { - // Setup collider process object - BoxCollider boxCollider = TargetPositionObject.AddComponent(); - boxCollider.isTrigger = true; - TargetPositionObject.AddComponent(); - TargetProcessSceneObject = TargetPositionObject.GetOrAddComponent(); - } - - [SetUp] - public void SetUpTrackedSceneObject() - { - // Setup tracked process object - TrackedObject.AddComponent(); - Rigidbody rigidbody = TrackedObject.AddComponent(); - rigidbody.isKinematic = true; - TrackedProcessSceneObject = TrackedObject.AddComponent(); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsAtExactPositionAsCollider() - { - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - condition.LifeCycle.Activate(); - - yield return null; - condition.Update(); - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - yield return null; - condition.Update(); - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsInsideCollider() - { - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - condition.LifeCycle.Activate(); - - yield return null; - condition.Update(); - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - yield return null; - condition.Update(); - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsAtExactPositionAsColliderOnStart() - { - // Move tracked object at the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - yield return null; - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsInsideColliderOnStart() - { - // Move tracked object at the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - - yield return null; - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsInsideColliderWithDuration() - { - // Set the target duration - const float targetDuration = 0.1f; - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject, targetDuration); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - - Assert.IsFalse(condition.IsCompleted); - - yield return null; - condition.Update(); - - float startTime = Time.time; - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - float duration = Time.time - startTime; - - // Assert that condition is completed after the specified time. - Assert.AreEqual(targetDuration, duration, Time.deltaTime); - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should be completed!"); - } - - [UnityTest] - public IEnumerator DontCompleteWhenTargetObjectLeavesColliderEarly() - { - // Set the target duration - const float targetDuration = 0.1f; - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject, targetDuration); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - - float startTime = Time.time; - while (Time.time < startTime + targetDuration * 0.3f) - { - yield return null; - condition.Update(); - } - - // Move tracked object away from target position before condition is completed - TrackedObject.transform.position = PositionFarFromTarget; - - startTime = Time.time; - while (Time.time < startTime + targetDuration * 0.8f) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - Assert.IsFalse(condition.IsCompleted, "TargetInColliderCondition should not be completed!"); - } - - [UnityTest] - public IEnumerator NotCompleted() - { - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - Assert.IsFalse(condition.IsCompleted, "TargetInColliderCondition should not be completed!"); - } - - [UnityTest] - public IEnumerator DontCompleteWhenWrongObjectEntersCollider() - { - // In addition to setup phase, also setup an additional object - GameObject wrongObj = new GameObject("Wrong Object"); - wrongObj.transform.position = PositionFarFromTarget; - wrongObj.AddComponent(); - wrongObj.AddComponent(); - ProcessSceneObject wrongProcessSceneObject = wrongObj.AddComponent(); - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - wrongProcessSceneObject.transform.position = TargetPositionObject.transform.position; - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - Assert.IsFalse(condition.IsCompleted, "TargetInColliderCondition should not be completed!"); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given an object in an activated collider condition, - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject); - - bool isColliding = false; - TargetProcessSceneObject.GetProperty().EnteredTrigger += (sender, args) => isColliding = true; - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you autocomplete it, - condition.Autocomplete(); - - // Then condition is activated and the object is moved into collider. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(isColliding); - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator AutoCompleteActiveWithHigherRequiredObjects() - { - // Given an activated object in collider condition, - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject, 42); - - bool isColliding = false; - TargetProcessSceneObject.GetProperty().EnteredTrigger += (_, _) => isColliding = true; - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(isColliding); - } - - [UnityTest] - public IEnumerator AutoCompleteHigherRequiredCountInCollider() - { - // Given an activated object in collider condition, - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject, 0, 42); - - bool isColliding = false; - TargetProcessSceneObject.GetProperty().EnteredTrigger += (_, _) => isColliding = true; - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you autocomplete it, - condition.Autocomplete(); - - // Then condition is activated and the object is moved into collider. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(isColliding); - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator UncompletableObjectCountInCollider() - { - // Move tracked object at the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - - yield return null; - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject, 0, 42); - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (startTime + 5f > Time.time) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now uncompleted - Assert.IsFalse(condition.IsCompleted, "TargetInColliderCondition should be not completed!"); - } - - [UnityTest] - public IEnumerator CompletableZeroObjectCountInCollider() - { - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), TrackedProcessSceneObject, 0, 0); - condition.LifeCycle.Activate(); - - yield return null; - condition.Update(); - - yield return null; - condition.Update(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Then condition is activated and the object is moved into collider. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should always be completed!"); - } - - [UnityTest] - public IEnumerator CompletableObjectCountInCollider() - { - GameObject trackedObject2 = new GameObject("Tracked Object 2"); - trackedObject2.transform.position = PositionFarFromTarget; - trackedObject2.AddComponent(); - GameObject trackedObject3 = new GameObject("Tracked Object 3"); - trackedObject3.transform.position = PositionFarFromTarget; - trackedObject3.AddComponent(); - - MultipleSceneObjectReference multipleObjects = new MultipleSceneObjectReference( new [] - { - TrackedProcessSceneObject.GetComponent().Guid, - trackedObject2.GetComponent().Guid, - trackedObject3.GetComponent().Guid - }); - - // Move tracked object at the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - trackedObject2.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - trackedObject3.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - - // Activate collider condition - ObjectInColliderCondition condition = new ObjectInColliderCondition(TargetProcessSceneObject.GetProperty(), multipleObjects.Guids, 0, 3); - condition.LifeCycle.Activate(); - - yield return null; - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - - Assert.IsFalse(condition.IsCompleted); - yield return null; - condition.Update(); - - trackedObject2.transform.position = TargetPositionObject.transform.position; - - Assert.IsFalse(condition.IsCompleted); - yield return null; - condition.Update(); - - trackedObject3.transform.position = TargetPositionObject.transform.position; - - yield return null; - condition.Update(); - yield return null; - condition.Update(); - - // Assert that condition is now uncompleted - Assert.IsTrue(condition.IsCompleted, "TargetInColliderCondition should be completed!"); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs.meta deleted file mode 100644 index 3a685ce5b..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInColliderConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0771faa7847ad924cb859ee302f39d2f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs deleted file mode 100644 index dc3b25866..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs +++ /dev/null @@ -1,326 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using UnityEngine; -using UnityEngine.TestTools; - -namespace VRBuilder.Core.Tests.Conditions -{ - [TestFixture] - public class ObjectInRangeConditionTests : ObjectInTargetTestBase - { - [SetUp] - public void SetUpRangeSceneObject() - { - // Setup collider process object - TargetProcessSceneObject = TargetPositionObject.AddComponent(); - TargetPositionObject.AddComponent(); - } - - [SetUp] - public void SetUpTrackedSceneObject() - { - // Setup tracked process object - TrackedProcessSceneObject = TrackedObject.AddComponent(); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsAtZeroRange() - { - // Activate in range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - UnityEngine.Assertions.Assert.IsTrue(condition.IsCompleted, "TargetInRangeCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsInsideRange() - { - // Activate in range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - UnityEngine.Assertions.Assert.IsTrue(condition.IsCompleted, "TargetInRangeCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsAtZeroRangeOnStart() - { - // Move tracked object at the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - yield return null; - - // Activate in range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - UnityEngine.Assertions.Assert.IsTrue(condition.IsCompleted, "TargetInRangeCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsInsideRangeOnStart() - { - // Move tracked object at the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - yield return null; - - // Activate in range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - UnityEngine.Assertions.Assert.IsTrue(condition.IsCompleted, "TargetInRangeCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsAtZeroRangeWithDuration() - { - // Set the target duration - const float targetDuration = 0.1f; - - // Activate in range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5, targetDuration); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - - yield return null; - condition.Update(); - - float startTime = Time.time; - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - float duration = Time.time - startTime; - - // Assert that condition has been completed after the specified duration - Assert.AreEqual(targetDuration, duration, Time.deltaTime); - Assert.IsTrue(condition.IsCompleted, "TargetInRangeCondition should be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenTargetObjectIsInsideRangeWithDuration() - { - // Set the target duration - const float targetDuration = 0.1f; - - // Activate in range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5, targetDuration); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position - PositionOffsetNearTarget; - - yield return null; - condition.Update(); - - float startTime = Time.time; - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - float duration = Time.time - startTime; - - // Assert that condition has been completed after the specified duration - Assert.AreEqual(targetDuration, duration, 0.05f); - UnityEngine.Assertions.Assert.IsTrue(condition.IsCompleted, "TargetInRangeCondition should be completed!"); - } - - [UnityTest] - public IEnumerator DontCompleteWhenTargetObjectLeavesRangeEarly() - { - // Set the target duration - const float targetDuration = 0.1f; - - // Activate range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5, targetDuration); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move tracked object to the target position - TrackedObject.transform.position = TargetPositionObject.transform.position; - - float startTime = Time.time; - while (Time.time < startTime + 0.3f * targetDuration) - { - yield return null; - condition.Update(); - } - - // Move tracked object away from target position before condition is completed - TrackedObject.transform.position = PositionFarFromTarget; - - startTime = Time.time; - while (Time.time < startTime + 0.8f * targetDuration) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - UnityEngine.Assertions.Assert.IsFalse(condition.IsCompleted, "TargetInRangeCondition should not be completed!"); - } - - [UnityTest] - public IEnumerator NotCompletedTest() - { - // Activate range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - condition.LifeCycle.Activate(); - yield return null; - - // Assert that condition is not completed - UnityEngine.Assertions.Assert.IsFalse(condition.IsCompleted, "TargetInRangeCondition should not be completed!"); - } - - [UnityTest] - public IEnumerator DontCompleteWhenWrongObjectEntersRange() - { - // In addition to setup phase, also setup an additional object - GameObject wrongObj = new GameObject("Wrong Object"); - wrongObj.transform.position = PositionFarFromTarget; - ProcessSceneObject wrongProcessSceneObject = wrongObj.AddComponent(); - - // Activate range condition - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Move wrong object to the target position - wrongProcessSceneObject.transform.position = TargetPositionObject.transform.position; - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - UnityEngine.Assertions.Assert.IsFalse(condition.IsCompleted, "TargetInRangeCondition should not be completed!"); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given an object in range condition, - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - - // Then the condition is complete and the object is moved - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted); - Assert.IsTrue(TrackedProcessSceneObject.GameObject.transform.position == TargetProcessSceneObject.GameObject.transform.position); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given an object in range condition, - ObjectInRangeCondition condition = new ObjectInRangeCondition(TrackedProcessSceneObject, TargetProcessSceneObject.GetProperty(), 5); - - // When you activate it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(TrackedProcessSceneObject.GameObject.transform.position == TargetProcessSceneObject.GameObject.transform.position); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs.meta deleted file mode 100644 index a7f7c523c..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInRangeConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9e2bbd212622977458a4f32e9a0d6836 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs deleted file mode 100644 index 7517159fe..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs +++ /dev/null @@ -1,43 +0,0 @@ -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using NUnit.Framework; -using UnityEngine; - -namespace VRBuilder.Core.Tests.Conditions -{ - public class ObjectInTargetTestBase : RuntimeTests - { - private readonly Vector3 targetPosition = new Vector3(10, 10, 10); - protected Vector3 PositionFarFromTarget = new Vector3(-10, -10, -10); - protected Vector3 PositionOffsetNearTarget = new Vector3(0.1f, 0.1f, 0.1f); - - protected GameObject TargetPositionObject; - protected ProcessSceneObject TargetProcessSceneObject; - - protected GameObject TrackedObject; - protected ProcessSceneObject TrackedProcessSceneObject; - - [SetUp] - public void SetUpCreatePositionObject() - { - // Setup position target object - TargetPositionObject = new GameObject("Position Object"); - TargetPositionObject.transform.position = targetPosition; - } - - [SetUp] - public void SetUpCreateTrackedObject() - { - // Setup tracked object - TrackedObject = new GameObject("Tracked Object"); - TrackedObject.transform.position = PositionFarFromTarget; - } - - [TearDown] - public void TearDownDestroyGameObjects() - { - Object.DestroyImmediate(TargetPositionObject); - Object.DestroyImmediate(TrackedObject); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs.meta deleted file mode 100644 index d577f2451..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/ObjectInTargetTestBase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a5c0a4fb3fa33b847b2e2561c58f3cff -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs b/Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs deleted file mode 100644 index de5cd4a8c..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs +++ /dev/null @@ -1,156 +0,0 @@ -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Conditions -{ - public class TimeoutConditionTests : RuntimeTests - { - [UnityTest] - public IEnumerator ConditionIsActivated() - { - // Setup Condition - TimeoutCondition condition = new TimeoutCondition(0.2f); - - // Activate condition and wait - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Check state is correct - Assert.AreEqual(condition.LifeCycle.Stage, Stage.Active, "TimeoutCondition should be active"); - } - - [UnityTest] - public IEnumerator ActivationEventsAreEmitted() - { - // Setup Condition - TimeoutCondition condition = new TimeoutCondition(0.1f); - bool isActivationStarted = false; - bool isActivated = false; - condition.LifeCycle.StageChanged += (sender, args) => - { - if (args.Stage == Stage.Activating) - { - isActivationStarted = true; - } - - - if (args.Stage == Stage.Active) - { - isActivated = true; - } - }; - - // Activate condition and wait - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Check events got called - Assert.IsTrue(isActivationStarted, "TimeoutCondition was not activated"); - Assert.IsTrue(isActivated, "TimeoutCondition did not call activated"); - } - - [UnityTest] - public IEnumerator ConditionIsCompleted() - { - // Given a TimeoutCondition which is completed after 200ms. - float targetDuration = 0.2f; - TimeoutCondition condition = new TimeoutCondition(targetDuration); - - // When the condition is activated. - condition.LifeCycle.Activate(); - - // Activation frame - yield return null; - condition.Update(); - - float startTime = Time.time; - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - float duration = Time.time - startTime; - - // Then the condition is completed after the specified time. - Assert.AreEqual(targetDuration, duration, Time.deltaTime); - Assert.IsTrue(condition.IsCompleted, "TimeoutCondition is not completed but should be!"); - } - - [UnityTest] - public IEnumerator ConditionIsNotCompleted() - { - // Create TimeoutCondition which is completed after 100ms - TimeoutCondition condition = new TimeoutCondition(0.1f); - // Start counter - condition.LifeCycle.Activate(); - - yield return null; - condition.Update(); - - // Condition should be active now - Assert.AreEqual(condition.LifeCycle.Stage, Stage.Active, "TimeoutCondition is not active"); - // Check if condition is still not completed - Assert.IsFalse(condition.IsCompleted, "TimeoutCondition is already completed!"); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given a timeout condition - TimeoutCondition condition = new TimeoutCondition(0.1f); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - - // Then it is completed. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given a timeout condition - TimeoutCondition condition = new TimeoutCondition(0.1f); - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs.meta deleted file mode 100644 index 653540c6f..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Conditions/TimeoutConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 699b4f4dee4d6114291e724f33791583 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities.meta b/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities.meta deleted file mode 100644 index 7758ad220..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 672789181aba96745be8559fe4eaeb3a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines.meta b/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines.meta deleted file mode 100644 index 6229f4e72..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ffbf228780284214bb41a3a1eb7ade20 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs b/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs deleted file mode 100644 index 0b08edc7e..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs +++ /dev/null @@ -1,411 +0,0 @@ -using System; -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Tests.RuntimeUtils; - -using Object = UnityEngine.Object; -using VRBuilder.Core.ProcessUtils; - -namespace VRBuilder.BaseTemplate.Tests.ParticleMachine -{ - public class ConfettiMachineTests : RuntimeTests - { - private const string pathToDefaultPrefab = "Confetti/Prefabs/RandomConfettiMachine"; - - [UnityTest] - public IEnumerator InstantiateDefaultPrefab() - { - // Given a valid path to the prefab, - // When I instantiate the prefab, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - - // Then it is not null. - Assert.IsFalse(machineObject == null); - - yield break; - } - - [UnityTest] - public IEnumerator DefaultPrefabHasConfettiMachineComponent() - { - // Given a valid path to the prefab, - // When I instantiate the prefab, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - - // Then it has the "ConfettiMachine" component - Assert.IsFalse(machineObject.GetComponent(typeof(ConfettiMachine)) == null); - - yield break; - } - - [UnityTest] - public IEnumerator DefaultPrefabHasChildrenWithParticleSystems() - { - // Given a valid path to the prefab, - // When I instantiate the prefab, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - - // Then it has "ParticleSystems" as children. - Assert.IsFalse(machineObject.GetComponentInChildren(typeof(ParticleSystem), true) == null); - - yield break; - } - - [UnityTest] - public IEnumerator ActivateWithoutParametersTest() - { - // Given a valid confetti machine, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - // When I call Activate without parameters on it, - confettiMachine.Activate(); - - // Then the confetti machine is active and all of its particle systems are active and playing. - Assert.IsTrue(confettiMachine.IsActive); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(); - Assert.IsTrue(particleSystems.Length > 0); - - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsTrue(particleSystem.isPlaying); - } - - yield break; - } - - [UnityTest] - public IEnumerator ActivateWithParametersTest() - { - // Given a valid confetti machine with particle systems and some valid positive parameters, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - float newDuration = 22.5f; - float newRadius = 9.75f; - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float oldRate = particleSystems[0].emission.rateOverTimeMultiplier; - - // When I call Activate with parameters on it, - confettiMachine.Activate(newRadius, newDuration); - - // Then the confetti machine is active and all of its particle systems are active and playing with the new given parameters. - Assert.IsTrue(confettiMachine.IsActive); - - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsTrue(particleSystem.isPlaying); - Assert.IsTrue(Math.Abs(particleSystem.shape.radius - newRadius) < 0.001f); - Assert.IsTrue(Math.Abs(particleSystem.main.duration - newDuration) < 0.001f); - } - - Assert.IsTrue(Math.Abs(particleSystems[0].emission.rateOverTimeMultiplier - (oldRate * newRadius * newRadius)) < 0.001f); - - yield break; - } - - [UnityTest] - public IEnumerator DeactivateWhenActiveTest() - { - // Given an active valid confetti machine, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - confettiMachine.Activate(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(); - Assert.IsTrue(particleSystems.Length > 0); - - // When I deactivate it, - confettiMachine.Deactivate(); - - // Then the confetti machine is not active and all of its particle systems are deactivated and not playing. - Assert.IsFalse(confettiMachine.IsActive); - - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsFalse(particleSystem.isPlaying); - Assert.IsFalse(particleSystem.gameObject.activeSelf); - } - - yield break; - } - - [UnityTest] - public IEnumerator DeactivateWhenNotActiveTest() - { - // Given an inactive valid confetti machine, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - // When I deactivate it, - confettiMachine.Deactivate(); - - // Then the confetti machine is not active and all of its particle systems are deactivated and not playing. - Assert.IsFalse(confettiMachine.IsActive); - - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsFalse(particleSystem.isPlaying); - Assert.IsFalse(particleSystem.gameObject.activeSelf); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeToPositiveEmissionDurationTest() - { - // Given a valid confetti machine with particle systems and a new positive duration, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float newDuration = particleSystems[0].main.duration + confettiMachine.EmissionDuration + 1.47f; - - // When I change the emission duration, - confettiMachine.ChangeEmissionDuration(newDuration); - - // Then it is accordingly changed in the confetti machine component itself and in all of its particle systems. - Assert.IsTrue(Math.Abs(confettiMachine.EmissionDuration - newDuration) < 0.001f); - - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsTrue(Math.Abs(particleSystem.main.duration - newDuration) < 0.001f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeToNegativeEmissionDurationTest() - { - // Given a valid confetti machine with particle systems and a new negative duration, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float newDuration = -5f; - - // When I change the emission duration, - confettiMachine.ChangeEmissionDuration(newDuration); - - // Then it is accordingly changed in the confetti machine component itself and in all of its particle systems. - Assert.IsTrue(Math.Abs(confettiMachine.EmissionDuration) < 0.1f); - - foreach (ParticleSystem particleSystem in particleSystems) - { - // Note it is not possible to set a particle system's duration to zero, Unity will silently set it to 0.05f. - Assert.IsTrue(Math.Abs(particleSystem.main.duration) < 0.1f); - } - - yield break; - } - - - [UnityTest] - public IEnumerator ChangeToZeroEmissionDurationTest() - { - // Given a valid confetti machine with particle systems and the new duration equals zero, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float newDuration = 0f; - - // When I change the emission duration, - confettiMachine.ChangeEmissionDuration(newDuration); - - // Then it is accordingly changed in the confetti machine component itself and in all of its particle systems. - Assert.IsTrue(Math.Abs(confettiMachine.EmissionDuration) < 0.1f); - - foreach (ParticleSystem particleSystem in particleSystems) - { - // Note it is not possible to set a particle system's duration to zero, Unity will silently set it to 0.05f. - Assert.IsTrue(Math.Abs(particleSystem.main.duration) < 0.1f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeEmissionRateWithPositiveNumberTest() - { - // Given a valid confetti machine with particle systems and a new area radius, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float[] oldRates = new float[particleSystems.Length]; - - for (int i = 0; i < oldRates.Length; i++) - { - oldRates[i] = particleSystems[i].emission.rateOverTimeMultiplier; - } - - float multiplier = 7.5f; - - // When I change the area radius, - confettiMachine.ChangeAreaRadius(multiplier); - - // Then the emission rate is accordingly changed. It equals squared radius multiplied by the default emission rate over time for radius equals 1. - for (int i = 0; i < oldRates.Length; i++) - { - Assert.IsTrue(Math.Abs(particleSystems[i].emission.rateOverTimeMultiplier - (oldRates[i] * multiplier * multiplier)) < 0.001f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeEmissionRateWithNegativeNumberTest() - { - // Given a valid confetti machine with particle systems and a new negative area radius, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float[] oldRates = new float[particleSystems.Length]; - - for (int i = 0; i < oldRates.Length; i++) - { - oldRates[i] = particleSystems[i].emission.rateOverTimeMultiplier; - } - - float multiplier = -7.5f; - - // When I change the area radius, - confettiMachine.ChangeAreaRadius(multiplier); - - // Then the emission rate is accordingly changed. It equals squared radius (radius has 0.01f as lowest value) multiplied by the default emission rate over time for radius equals 1. - for (int i = 0; i < oldRates.Length; i++) - { - Assert.IsTrue(Math.Abs(particleSystems[i].emission.rateOverTimeMultiplier - (oldRates[i] * 0.01f * 0.01f)) < 0.001f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeEmissionRateWithZeroTest() - { - // Given a valid confetti machine with particle systems and the new radius equals zero, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float[] oldRates = new float[particleSystems.Length]; - - for (int i = 0; i < oldRates.Length; i++) - { - oldRates[i] = particleSystems[i].emission.rateOverTimeMultiplier; - } - - float multiplier = 0f; - - // When I change the area radius, - confettiMachine.ChangeAreaRadius(multiplier); - - // Then the emission rate is accordingly changed. It equals squared radius (radius has 0.01f as lowest value) multiplied by the default emission rate over time for radius equals 1. - for (int i = 0; i < oldRates.Length; i++) - { - Assert.IsTrue(Math.Abs(particleSystems[i].emission.rateOverTimeMultiplier - (oldRates[i] * 0.01f * 0.01f)) < 0.001f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeToPositiveAreaRadiusTest() - { - // Given a valid confetti machine with particle systems and a new area radius, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float newRadius = particleSystems[0].shape.radius + 17.53f; - - // When I change the area radius, - confettiMachine.ChangeAreaRadius(newRadius); - - // Then the radius is changed in all provided particle systems. - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsTrue(Math.Abs(particleSystem.shape.radius - newRadius) < 0.001f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeToNegativeAreaRadiusTest() - { - // Given a valid confetti machine with particle systems and a new negative area radius, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float newRadius = -17.53f; - - // When I change the area radius, - confettiMachine.ChangeAreaRadius(newRadius); - - // Then the radius is changed to 0.01f (lowest possible value) in all provided particle systems. - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsTrue(Math.Abs(particleSystem.shape.radius - 0.01f) < 0.001f); - } - - yield break; - } - - [UnityTest] - public IEnumerator ChangeToZeroAreaRadiusTest() - { - // Given a valid confetti machine with particle systems and a area radius equals zero, - GameObject machineObject = Object.Instantiate(Resources.Load(pathToDefaultPrefab)); - ConfettiMachine confettiMachine = machineObject.GetComponent(); - - ParticleSystem[] particleSystems = machineObject.GetComponentsInChildren(true); - Assert.IsTrue(particleSystems.Length > 0); - - float newRadius = 0f; - - // When I change the area radius, - confettiMachine.ChangeAreaRadius(newRadius); - - // Then the radius is changed to 0.01f (lowest possible value) in all provided particle systems. - foreach (ParticleSystem particleSystem in particleSystems) - { - Assert.IsTrue(Math.Abs(particleSystem.shape.radius - 0.01f) < 0.001f); - } - - yield break; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs.meta deleted file mode 100644 index 4e8636f53..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/ProcessUtilities/ParticleMachines/ConfettiMachineTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 07fb5b574dac4ce47aff8ea0e9a8bb36 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Processes.meta b/Tests/Basic-Conditions-And-Behaviors/Processes.meta deleted file mode 100644 index 1adc2275f..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Processes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 21252852a32b87844bae01f4fef29716 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs b/Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs deleted file mode 100644 index 07b79c546..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System.Collections; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Mocks; -using UnityEngine; -using NUnit.Framework; -using UnityEngine.TestTools; - -namespace VRBuilder.Core.Tests.Processes -{ - public class StepBasicConditionsAndBehaviorsTests : RuntimeTests - { - [UnityTest] - public IEnumerator ConditionCompletedAfterTimingBehaviorInStep() - { - float targetDuration = 0.5f; - Step step = new Step("Step1"); - ICondition condition = new TimeoutCondition(targetDuration); - Transition transition = new Transition(); - IBehavior behavior = new TimeoutBehaviorMock(targetDuration, targetDuration); - transition.Data.Conditions.Add(condition); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Data.Behaviors.Data.Behaviors.Add(behavior); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - step.LifeCycle.Activate(); - - // Activation frame - yield return null; - step.Update(); - - float startTime = Time.time; - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - step.Update(); - } - - float behaviorDuration = Time.time - startTime; - - Assert.AreEqual(targetDuration, behaviorDuration, Time.deltaTime); - Assert.IsFalse(condition.IsCompleted); - - // Process frames - yield return null; - step.Update(); - yield return null; - step.Update(); - yield return null; - step.Update(); - - startTime = Time.time; - while (condition.IsCompleted == false) - { - yield return null; - step.Update(); - } - - float conditionDuration = Time.time - startTime; - - Assert.AreEqual(targetDuration, conditionDuration, 2 * Time.deltaTime); - Assert.IsTrue(condition.IsCompleted); - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs.meta deleted file mode 100644 index dc565746c..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Processes/StepBasicConditionsAndBehaviorsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5985332de676b9740a4158699e77381e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Serialization.meta b/Tests/Basic-Conditions-And-Behaviors/Serialization.meta deleted file mode 100644 index d7596cd8a..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Serialization.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d859e46f973b6664fa14caf56d3a0639 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs b/Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs deleted file mode 100644 index f756b7ae7..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs +++ /dev/null @@ -1,280 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine.Assertions; -using UnityEngine.TestTools; -using VRBuilder.Core.Audio; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.EntityOwners; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Serialization -{ - public class JsonProcessSerializerBasicConditionsAndBehaviorsTests : RuntimeTests - { - [UnityTest] - public IEnumerator ObjectInRangeCondition() - { - // Given a process with ObjectInRangeCondition, - ProcessSceneObject testObjectToo = TestingUtils.CreateSceneObject("TestObjectToo"); - TransformInRangeDetectorProperty detector = testObjectToo.gameObject.AddComponent(); - ProcessSceneObject testObject = TestingUtils.CreateSceneObject("TestObject"); - - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new ObjectInRangeCondition(testObject, detector, 1.5f)))) - .Build(); - - // When we serialize and deserialize it - IProcess process2 = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process1)); - - // Then that condition's target, detector and range should stay unchanged. - ObjectInRangeCondition condition1 = process1.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as ObjectInRangeCondition; - ObjectInRangeCondition condition2 = process2.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as ObjectInRangeCondition; - - Assert.IsNotNull(condition1); - Assert.IsNotNull(condition2); - Assert.AreEqual(condition1.Data.Range, condition2.Data.Range); - Assert.AreEqual(condition1.Data.TargetObject.Value, condition2.Data.TargetObject.Value); - Assert.AreEqual(condition1.Data.ReferenceObject.Value, condition2.Data.ReferenceObject.Value); - - // Cleanup - TestingUtils.DestroySceneObject(testObjectToo); - TestingUtils.DestroySceneObject(testObject); - - return null; - } - - [UnityTest] - public IEnumerator TimeoutCondition() - { - // Given a process with a timeout condition - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new TimeoutCondition(2.5f)))) - .Build(); - - // When we serialize and deserialize it - IProcess process2 = Serializer.ProcessFromByteArray((Serializer.ProcessToByteArray(process1))); - - // Then that condition's timeout value should stay unchanged. - TimeoutCondition condition1 = process1.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as TimeoutCondition; - TimeoutCondition condition2 = process2.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as TimeoutCondition; - - Assert.IsNotNull(condition1); - Assert.IsNotNull(condition2); - Assert.AreEqual(condition1.Data.Timeout, condition2.Data.Timeout); - - return null; - } - - [UnityTest] - public IEnumerator MoveObjectBehavior() - { - // Given process with MoveObjectBehavior - ProcessSceneObject moved = TestingUtils.CreateSceneObject("moved"); - ProcessSceneObject positionProvider = TestingUtils.CreateSceneObject("positionprovider"); - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new MoveObjectBehavior(moved, positionProvider, 24.7f)))) - .Build(); - - // When that process is serialized and deserialzied - IProcess process2 = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process1)); - - // Then we should have two identical move object behaviors - MoveObjectBehavior behavior1 = process1.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as MoveObjectBehavior; - MoveObjectBehavior behavior2 = process2.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as MoveObjectBehavior; - - Assert.IsNotNull(behavior1); - Assert.IsNotNull(behavior2); - Assert.IsFalse(ReferenceEquals(behavior1, behavior2)); - Assert.AreEqual(behavior1.Data.TargetObject.Value, behavior2.Data.TargetObject.Value); - Assert.AreEqual(behavior1.Data.FinalPosition.Value, behavior2.Data.FinalPosition.Value); - Assert.AreEqual(behavior1.Data.Duration, behavior2.Data.Duration); - - // Cleanup created game objects. - TestingUtils.DestroySceneObject(moved); - TestingUtils.DestroySceneObject(positionProvider); - - return null; - } - - [UnityTest] - public IEnumerator BehaviorSequence() - { - // Given a process with a behaviors sequence - BehaviorSequence sequence = new BehaviorSequence(true, new List - { - new DelayBehavior(0f), - new EmptyBehaviorMock() - }); - IProcess process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(sequence))) - .Build(); - - // When we serialize and deserialize it - IProcess deserializedProcess = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process)); - - BehaviorSequence deserializedSequence = deserializedProcess.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as BehaviorSequence; - - // Then the values stay the same. - Assert.IsNotNull(deserializedSequence); - Assert.AreEqual(sequence.Data.PlaysOnRepeat, deserializedSequence.Data.PlaysOnRepeat); - - List behaviors = sequence.Data.Behaviors; - List deserializedBehaviors = deserializedSequence.Data.Behaviors; - Assert.AreEqual(behaviors.First().GetType(), deserializedBehaviors.First().GetType()); - Assert.AreEqual(behaviors.Last().GetType(), deserializedBehaviors.Last().GetType()); - Assert.AreEqual(behaviors.Count, deserializedBehaviors.Count); - yield break; - } - - [UnityTest] - public IEnumerator DelayBehavior() - { - // Given we have a process with a delayed activation behavior, - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new DelayBehavior(7f)))) - .Build(); - - // When we serialize and deserialize it, - byte[] serialized = Serializer.ProcessToByteArray(process1); - IProcess process2 = Serializer.ProcessFromByteArray(serialized); - - // Then that delayed behaviors should have the same target behaviors and delay time. - DelayBehavior behavior1 = process1.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as DelayBehavior; - DelayBehavior behavior2 = process2.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as DelayBehavior; - - Assert.AreEqual(behavior1.Data.DelayTime, behavior2.Data.DelayTime); - - return null; - } - - [UnityTest] - public IEnumerator PlayAudioOnActivationBehavior() - { - // Given a process with PlayAudioOnActivationBehavior with some ResourceAudio - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new PlayAudioBehavior(new ResourceAudio("TestPath"), BehaviorExecutionStages.Activation)))) - .Build(); - - // When we serialize and deserialize it, - IProcess process2 = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process1)); - - // Then path to the audiofile should not change. - PlayAudioBehavior behavior1 = process1.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as PlayAudioBehavior; - PlayAudioBehavior behavior2 = process2.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as PlayAudioBehavior; - - Assert.IsNotNull(behavior1); - Assert.IsNotNull(behavior2); - Assert.AreEqual(TestingUtils.GetField(behavior1.Data.AudioData, "path"), TestingUtils.GetField(behavior2.Data.AudioData, "path")); - - return null; - } - - [UnityTest] - public IEnumerator PlayAudioOnDectivationBehavior() - { - // Given a process with PlayAudioOnDeactivationBehavior and some ResourceData, - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new PlayAudioBehavior(new ResourceAudio("TestPath"), BehaviorExecutionStages.Activation)))) - .Build(); - - // When we serialize and deserialize it, - IProcess process2 = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process1)); - - PlayAudioBehavior behavior1 = process1.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as PlayAudioBehavior; - PlayAudioBehavior behavior2 = process2.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First() as PlayAudioBehavior; - - // Then path to audio file should not change. - Assert.IsNotNull(behavior1); - Assert.IsNotNull(behavior2); - Assert.AreEqual(TestingUtils.GetField(behavior1.Data.AudioData, "path"), TestingUtils.GetField(behavior2.Data.AudioData, "path")); - - return null; - } - - [UnityTest] - public IEnumerator ResourceAudio() - { - // Given we have a ResourceAudio instance, - ResourceAudio audio = new ResourceAudio("TestPath"); - - IProcess process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new PlayAudioBehavior(audio, BehaviorExecutionStages.Activation)))) - .Build(); - - // When we serialize and deserialize a process with it - IProcess testProcess = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process)); - - // Then the path to audio resource should be the same. - string audioPath1 = TestingUtils.GetField(((PlayAudioBehavior)process.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First()).Data.AudioData, "path"); - string audioPath2 = TestingUtils.GetField(((PlayAudioBehavior)testProcess.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First()).Data.AudioData, "path"); - - Assert.AreEqual(audioPath1, audioPath2); - - return null; - } - - [UnityTest] - public IEnumerator ExecuteChapters() - { - // Given an ExecuteChapters behavior - IChapter parallelPath1 = new LinearChapterBuilder("Path 1") - .AddStep(new BasicStepBuilder("Step 1")) - .Build(); - - IChapter parallelPath2 = new LinearChapterBuilder("Path 2") - .AddStep(new BasicStepBuilder("Step 2")) - .Build(); - IProcess process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new ExecuteChaptersBehavior(new[] { parallelPath1, parallelPath2 })))) - .Build(); - - // When we serialize and deserialize a process with it - IProcess testProcess = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process)); - - // Then the sub-chapters are present. - EntityCollectionData data = testProcess.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First(behavior => behavior is ExecuteChaptersBehavior).Data as EntityCollectionData; - Assert.IsNotNull(data); - Assert.AreEqual(data.GetChildren().Count(), 2); - - IChapter path1 = data.GetChildren().FirstOrDefault(chapter => chapter.Data.Name == "Path 1"); - Assert.IsNotNull(path1); - Assert.AreEqual(path1.ChapterMetadata.Guid, parallelPath1.ChapterMetadata.Guid); - IStep step1 = path1.Data.FirstStep; - Assert.IsNotNull(step1); - Assert.AreEqual(step1.StepMetadata.Guid, parallelPath1.Data.FirstStep.StepMetadata.Guid); - - IChapter path2 = data.GetChildren().FirstOrDefault(chapter => chapter.Data.Name == "Path 2"); - Assert.IsNotNull(path2); - Assert.AreEqual(path2.ChapterMetadata.Guid, parallelPath2.ChapterMetadata.Guid); - IStep step2 = path2.Data.FirstStep; - Assert.IsNotNull(step2); - Assert.AreEqual(step2.StepMetadata.Guid, parallelPath2.Data.FirstStep.StepMetadata.Guid); - return null; - } - } -} diff --git a/Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs.meta b/Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs.meta deleted file mode 100644 index ec57dfc1c..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/Serialization/JsonProcessSerializerBasicConditionsAndBehaviorsTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 0be15745f3c945449938c7ddf10b9868 -timeCreated: 1539184949 \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref b/Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref deleted file mode 100644 index 3fbba0036..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:880cbf18a8d0b304e905a848d71cf547" -} \ No newline at end of file diff --git a/Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref.meta b/Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref.meta deleted file mode 100644 index 6ebbe6c6c..000000000 --- a/Tests/Basic-Conditions-And-Behaviors/VRBuilder.Core.TestsReference.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e80fdeda238b7034a878d14ff8384dd8 -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component.meta b/Tests/Basic-Interaction-Component.meta deleted file mode 100644 index 61c6ec7a6..000000000 --- a/Tests/Basic-Interaction-Component.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2ad6704b6d12a7c489e185502baa4518 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/Behaviors.meta b/Tests/Basic-Interaction-Component/Behaviors.meta deleted file mode 100644 index a044dc93b..000000000 --- a/Tests/Basic-Interaction-Component/Behaviors.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 933fcf4576f53a444b9c87f85a5d3940 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs b/Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs deleted file mode 100644 index 2e565f26f..000000000 --- a/Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs +++ /dev/null @@ -1,356 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction; -using VRBuilder.BasicInteraction.Behaviors; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Tests.Utils; -using VRBuilder.XRInteraction.Properties; - -namespace VRBuilder.Core.Tests.Interaction -{ - public class UnsnapBehaviorTests : BehaviorTests - { - protected override IBehavior CreateDefaultBehavior() - { - return new UnsnapBehavior(); - } - - private SnapZoneProperty CreateSnapZone(string name = "Snap Zone") - { - GameObject snapZoneObject = new GameObject(name); - Collider collider = snapZoneObject.AddComponent(); - collider.isTrigger = true; - SnapZoneProperty snapZoneProperty = snapZoneObject.AddComponent(); - - return snapZoneProperty; - } - - private SnappableProperty CreateSnappableObject(string name = "Snappable Object") - { - GameObject snappableObject = new GameObject(name); - return snappableObject.AddComponent(); - } - - [UnityTest] - public IEnumerator CreateByName() - { - // Given two process scene objects and the required parameters, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - Guid snappablePropertyGuid = snappableProperty.SceneObject.Guid; - Guid snapZoneGuid = snapZoneProperty.SceneObject.Guid; - - // When we create Unsnap Behavior and pass process scene objects by their unique name, - UnsnapBehavior behavior = new UnsnapBehavior(snappablePropertyGuid, snapZoneGuid); - - // Then all properties are properly assigned - Assert.AreEqual(snapZoneProperty, behavior.Data.TargetSnapZone.Value); - Assert.AreEqual(snappableProperty, behavior.Data.TargetObject.Value); - - yield return null; - } - - [UnityTest] - public IEnumerator CreateByReference() - { - // Given two process scene objects and the required parameters, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - // When we create Unsnap Behavior and pass process scene objects by reference, - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, snapZoneProperty); - - // Then all properties are properly assigned - Assert.AreEqual(snapZoneProperty, behavior.Data.TargetSnapZone.Value); - Assert.AreEqual(snappableProperty, behavior.Data.TargetObject.Value); - - yield return null; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, null); - - // When we mark it to fast-forward and activate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - yield return null; - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, null); - - // When we mark it to fast-forward, activate and immediately deactivate it, - behavior.LifeCycle.MarkToFastForward(); - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - yield return null; - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, null); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - yield return null; - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, null); - - behavior.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - behavior.Update(); - } - - behavior.LifeCycle.Deactivate(); - - while (behavior.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - behavior.Update(); - } - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it autocompletes immediately. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - } - - [UnityTest] - public IEnumerator UnsnapByObject() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, null); - - // When an unsnap behavior is activated, - - behavior.LifeCycle.Activate(); - - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the object is unsnapped. - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - } - - [UnityTest] - public IEnumerator UnsnapBySnapZone() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(null, snapZoneProperty); - - // When an unsnap behavior is activated, - - behavior.LifeCycle.Activate(); - - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the object is unsnapped. - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - } - - [UnityTest] - public IEnumerator UnsnapByObjectAndSnapZone() - { - // Given a snapped object and an unsnap behavior, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty snappableProperty = CreateSnappableObject(); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappableProperty); - - yield return null; - - bool wasObjectSnapped = snappableProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappableProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(snappableProperty, snapZoneProperty); - - // When an unsnap behavior is activated, - - behavior.LifeCycle.Activate(); - - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the object is unsnapped. - Assert.IsTrue(wasObjectSnapped); - Assert.IsNull(snapZone.SnappedObject); - Assert.IsNull(snappableProperty.SnappedZone); - } - - [UnityTest] - public IEnumerator NoUnsnapNonMatchingObject() - { - // Given a snapped object and an unsnap behavior specifying a different object, - SnapZoneProperty snapZoneProperty = CreateSnapZone(); - SnappableProperty notSnappedProperty = CreateSnappableObject("Not Snapped Object"); - SnappableProperty snappedProperty = CreateSnappableObject("Snapped Object"); - - ISnapZone snapZone = snapZoneProperty.GetComponent(); - - snapZone.ForceSnap(snappedProperty); - - yield return null; - - bool wasObjectSnapped = snappedProperty.Equals(snapZone.SnappedObject) && snapZoneProperty.Equals(snappedProperty.SnappedZone); - - UnsnapBehavior behavior = new UnsnapBehavior(notSnappedProperty, snapZoneProperty); - - // When an unsnap behavior is activated, - - behavior.LifeCycle.Activate(); - - while (Stage.Active != behavior.LifeCycle.Stage) - { - yield return null; - behavior.Update(); - } - - // Then the object is not unsnapped. - Assert.IsTrue(wasObjectSnapped); - Assert.AreEqual(snappedProperty, snapZone.SnappedObject); - Assert.AreEqual(snapZoneProperty, snappedProperty.SnappedZone); - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs.meta b/Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs.meta deleted file mode 100644 index 1f4990fb2..000000000 --- a/Tests/Basic-Interaction-Component/Behaviors/UnsnapBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 30b0d9e74a589194c94d31f0e99b80d2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/Builders.meta b/Tests/Basic-Interaction-Component/Builders.meta deleted file mode 100644 index b11812b2a..000000000 --- a/Tests/Basic-Interaction-Component/Builders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d2636bb26ce73684e9060bbbe56f1159 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs b/Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs deleted file mode 100644 index 2343b324c..000000000 --- a/Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs +++ /dev/null @@ -1,143 +0,0 @@ -using System; -using System.Linq; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.BasicInteraction.Properties; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Utils; -using VRBuilder.Core.Tests.Utils.Builders; - -namespace VRBuilder.BasicInteraction.Builders -{ - public static class InteractionDefaultSteps - { - - /// - /// Gets the with given from the registry. - /// - /// Name of scene object. - /// with given name. - private static ISceneObject GetFromRegistry(string name) - { - return RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(Guid.Parse(name)).FirstOrDefault(); - } - - /// - /// Get grab step builder. - /// - /// Name of the step. - /// List of objects that have to be grabbed before chapter continues. - /// Configured builder. - public static BasicStepBuilder Grab(string name, params IGrabbableProperty[] objectsToGrab) - { - return Grab(name, objectsToGrab.Select(o => ProcessReferenceUtils.GetUniqueIdFrom(o).ToString()).ToArray()); - } - - /// - /// Get grab step builder. - /// - /// Name of the step. - /// List of objects that have to be grabbed before chapter continues. - /// Configured builder. - public static BasicStepBuilder Grab(string name, params string[] objectsToGrab) - { - BasicStepBuilder builder = new BasicStepBuilder(name); - - foreach (string objectToGrab in objectsToGrab) - { - builder.AddCondition(new GrabbedCondition(Guid.Parse(objectToGrab))); - } - - return builder; - } - - /// - /// Get builder for a step during which user has to put objects into a snap zone. - /// - /// Name of the step. - /// Snap zone in which user should put objects. - /// List of objects to put into collider. - /// Configured builder. - public static BasicStepBuilder PutIntoSnapZone(string name, ISnapZoneProperty snapZone, params ISnappableProperty[] objectsToPut) - { - BasicStepBuilder builder = new BasicStepBuilder(name); - - foreach (ISnappableProperty objectToPut in objectsToPut) - { - builder.AddCondition(new SnappedCondition(objectToPut, snapZone)); - } - - return builder; - } - - /// - /// Get builder for a step during which user has to put objects into a snap zone. - /// - /// Name of the step. - /// Snap zone in which user should put objects. - /// List of objects to put into collider. - /// Configured builder. - public static BasicStepBuilder PutIntoSnapZone(string name, string snapZone, params string[] objectsToPut) - { - return PutIntoSnapZone(name, GetFromRegistry(snapZone).GetProperty(), objectsToPut.Select(GetFromRegistry).Select(t => t.GetProperty()).ToArray()); - } - - /// - /// Get builder for a step during which user has to activate some objects. - /// - /// Name of the step. - /// List of objects to use. - /// Configured builder. - public static BasicStepBuilder Use(string name, params IUsableProperty[] objectsToUse) - { - BasicStepBuilder builder = new BasicStepBuilder(name); - - foreach (IUsableProperty objectToUse in objectsToUse) - { - builder.AddCondition(new UsedCondition(objectToUse)); - } - - return builder; - } - - /// - /// Get builder for a step during which user has to activate some objects. - /// - /// Name of the step. - /// List of objects to use. - /// Configured builder. - public static BasicStepBuilder Use(string name, params string[] objectsToUse) - { - return Use(name, objectsToUse.Select(GetFromRegistry).Select(t => t.GetProperty()).ToArray()); - } - - /// - /// Get builder for a step during which user has to touch some objects. - /// - /// Name of the step. - /// List of objects to touch. - /// Configured builder. - public static BasicStepBuilder Touch(string name, params ISceneObject[] objectsToTouch) - { - return Touch(name, objectsToTouch.Select(o => ProcessReferenceUtils.GetUniqueIdFrom(o).ToString()).ToArray()); - } - - /// - /// Get builder for a step during which user has to touch some objects. - /// - /// Name of the step. - /// List of objects to touch. - /// Configured builder. - public static BasicStepBuilder Touch(string name, params string[] objectsToTouch) - { - BasicStepBuilder builder = new BasicStepBuilder(name); - - foreach (string objectToTouch in objectsToTouch) - { - builder.AddCondition(new TouchedCondition(Guid.Parse(objectToTouch))); - } - - return builder; - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs.meta b/Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs.meta deleted file mode 100644 index 8a500e4f8..000000000 --- a/Tests/Basic-Interaction-Component/Builders/InteractionDefaultSteps.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 45db2d2e93968994daf2684976c8c9a2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs b/Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs deleted file mode 100644 index c135100cc..000000000 --- a/Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs +++ /dev/null @@ -1,241 +0,0 @@ -using System; -using System.Collections; -using System.Linq; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction.Builders; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.BasicInteraction.Properties; - -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; - -using Object = UnityEngine.Object; - -namespace VRBuilder.Core.Tests.Interaction -{ - public class InteractionProcessBuilderTests : RuntimeTests - { - private class DummySnapZoneProperty : LockableProperty, ISnapZoneProperty - { - protected override void InternalSetLocked(bool lockState) - { - throw new NotImplementedException(); - } -#pragma warning disable CS0067 // Disable "event is never used" warning. - public event EventHandler ObjectSnapped; - public event EventHandler ObjectUnsnapped; -#pragma warning restore CS0067 - - - public bool IsObjectSnapped { get; } - - public ISnappableProperty SnappedObject { get; set; } - - public GameObject SnapZoneObject { get; } - - public UnityEvent ObjectAttached => throw new NotImplementedException(); - - public UnityEvent ObjectDetached => throw new NotImplementedException(); - - public void Configure(IMode mode) - { - throw new NotImplementedException(); - } - } - - private class DummySnappableProperty : ProcessSceneObjectProperty, ISnappableProperty - { -#pragma warning disable CS0067 // Disable "event is never used" warning. - public event EventHandler Snapped; - public event EventHandler Unsnapped; - public event EventHandler Locked; - public event EventHandler Unlocked; -#pragma warning restore CS0067 - - public bool IsSnapped { get; } - - public bool LockObjectOnSnap { get; } - - public ISnapZoneProperty SnappedZone { get; set; } - - public UnityEvent AttachedToSnapZone => throw new NotImplementedException(); - - public UnityEvent DetachedFromSnapZone => throw new NotImplementedException(); - - public bool IsLocked => throw new NotImplementedException(); - - public void FastForwardSnapInto(ISnapZoneProperty snapZone) - { - throw new NotImplementedException(); - } - - public void SetLocked(bool lockState) - { - throw new NotImplementedException(); - } - - public void RequestLocked(bool lockState, IStepData stepData) - { - throw new NotImplementedException(); - } - - public bool RemoveUnlocker(IStepData data) - { - throw new NotImplementedException(); - } - } - - private class DummyUsableProperty : LockableProperty, IUsableProperty - { - protected override void InternalSetLocked(bool lockState) - { - throw new NotImplementedException(); - } - -#pragma warning disable CS0067 // Disable "event is never used" warning. - public event EventHandler UsageStarted; - public event EventHandler UsageStopped; -#pragma warning restore CS0067 - - public bool IsBeingUsed { get; } - - public UnityEvent UseStarted => throw new NotImplementedException(); - - public UnityEvent UseEnded => throw new NotImplementedException(); - - public void FastForwardUse() - { - throw new NotImplementedException(); - } - - public void ForceSetUsed(bool isUsed) - { - throw new NotImplementedException(); - } - } - - private class DummyTouchableProperty : LockableProperty, ITouchableProperty - { - protected override void InternalSetLocked(bool lockState) - { - throw new NotImplementedException(); - } - -#pragma warning disable CS0067 // Disable "event is never used" warning. - public event EventHandler Touched; - public event EventHandler Untouched; -#pragma warning restore CS0067 - - public bool IsBeingTouched { get; } - - public UnityEvent TouchStarted => throw new NotImplementedException(); - - public UnityEvent TouchEnded => throw new NotImplementedException(); - - public void FastForwardTouch() - { - throw new NotImplementedException(); - } - - public void ForceSetTouched(bool isTouched) - { - throw new NotImplementedException(); - } - } - - [UnityTest] - public IEnumerator BuildingSnapZonePutTest() - { - // Given a snap zone and snappable property and a builder for a process with a PutIntoSnapZone default step - GameObject snapZoneGo = new GameObject("SnapZone"); - ProcessSceneObject snapZone = snapZoneGo.AddComponent(); - snapZoneGo.AddComponent(); - - GameObject putGo = new GameObject("Puttable"); - ProcessSceneObject objectToPut = putGo.AddComponent(); - putGo.AddComponent(); - - LinearProcessBuilder builder = new LinearProcessBuilder("TestProcess") - .AddChapter(new LinearChapterBuilder("TestChapter") - .AddStep(InteractionDefaultSteps.PutIntoSnapZone("TestSnapZonePutStep", snapZone.Guid.ToString(), objectToPut.Guid.ToString()))); - - // When you build a process with it - IStep step = builder.Build().Data.FirstChapter.Data.FirstStep; - - // Then it has a step with a SnappedCondition - Assert.True(step != null); - Assert.True(step.Data.Name == "TestSnapZonePutStep"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.Count == 1); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.First() is SnappedCondition); - Assert.True(ReferenceEquals((step.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as SnappedCondition).Data.TargetObjects.Values.First().SceneObject, objectToPut)); - - // Cleanup - Object.DestroyImmediate(snapZoneGo); - Object.DestroyImmediate(putGo); - - return null; - } - - [UnityTest] - public IEnumerator BuildingUseTest() - { - // Given a usable property and a builder for a process with Use default step - GameObject usableGo = new GameObject("Usable"); - ProcessSceneObject usable = usableGo.AddComponent(); - usableGo.AddComponent(); - - LinearProcessBuilder builder = new LinearProcessBuilder("TestProcess") - .AddChapter(new LinearChapterBuilder("TestChapter") - .AddStep(InteractionDefaultSteps.Use("TestUseStep", usable.Guid.ToString()))); - - // When you build a process with it - IStep step = builder.Build().Data.FirstChapter.Data.FirstStep; - - // Then it has a step with an UsedCondition - Assert.True(step != null); - Assert.True(step.Data.Name == "TestUseStep"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.Count == 1); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.First() is UsedCondition); - Assert.True(ReferenceEquals((step.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as UsedCondition).Data.UsableObjects.Values.First().SceneObject, usable)); - - // Cleanup - Object.DestroyImmediate(usableGo); - - return null; - } - - [UnityTest] - public IEnumerator BuildingTouchTest() - { - // Given you have a touchable property and a builder for a process with Touch default step - GameObject touchableGo = new GameObject("Touchable"); - ProcessSceneObject touchable = touchableGo.AddComponent(); - touchableGo.AddComponent(); - - LinearProcessBuilder builder = new LinearProcessBuilder("TestProcess") - .AddChapter(new LinearChapterBuilder("TestChapter") - .AddStep(InteractionDefaultSteps.Touch("TestTouchStep", touchable.Guid.ToString()))); - - // When you build a process with it - IStep step = builder.Build().Data.FirstChapter.Data.FirstStep; - - // Then it has a step with a TouchCOndition - Assert.True(step != null); - Assert.True(step.Data.Name == "TestTouchStep"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.Count == 1); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.First() is TouchedCondition); - Assert.True(ReferenceEquals((step.Data.Transitions.Data.Transitions.First().Data.Conditions.First() as TouchedCondition).Data.TouchableProperties.Values.First().SceneObject, touchable)); - - // Cleanup - Object.DestroyImmediate(touchableGo); - - return null; - } - } -} \ No newline at end of file diff --git a/Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs.meta b/Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs.meta deleted file mode 100644 index 310a53e64..000000000 --- a/Tests/Basic-Interaction-Component/Builders/InteractionProcessBuilderTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: db45377e5edf98b4197842b24ed495f8 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/HighlighterTests.cs b/Tests/Basic-Interaction-Component/HighlighterTests.cs deleted file mode 100644 index b347fd16b..000000000 --- a/Tests/Basic-Interaction-Component/HighlighterTests.cs +++ /dev/null @@ -1,154 +0,0 @@ -using System; -using System.Collections; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.TestTools; -using VRBuilder.Core.Utils; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.BasicInteraction.Tests -{ - public class HighlighterTests : RuntimeTests - { - [UnityTest] - public IEnumerator StartHighlight() - { - foreach (Type highlighterImplementation in ReflectionUtils.GetConcreteImplementationsOf()) - { - // Given a GameObject with at least one Renderer - GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); - IHighlighter highlighter = cube.AddComponent(highlighterImplementation) as IHighlighter; ; - - Assert.That(highlighter != null); - Assert.IsFalse(highlighter.IsHighlighting); - - // When StartHighlighting - highlighter.StartHighlighting(CreateHighlightMaterial()); - - yield return null; - - // Then the object is highlighted - Assert.IsTrue(highlighter.IsHighlighting); - } - } - - [UnityTest] - public IEnumerator StopHighlight() - { - foreach (Type highlighterImplementation in ReflectionUtils.GetConcreteImplementationsOf()) - { - // Given a GameObject with at least one Renderer - GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); - IHighlighter highlighter = cube.AddComponent(highlighterImplementation) as IHighlighter; ; - - Assert.That(highlighter != null); - Assert.IsFalse(highlighter.IsHighlighting); - - // When StartHighlighting - highlighter.StartHighlighting(CreateHighlightMaterial()); - - yield return null; - - // Then the object is highlighted and then stopped. - Assert.IsTrue(highlighter.IsHighlighting); - highlighter.StopHighlighting(); - - yield return null; - Assert.IsFalse(highlighter.IsHighlighting); - } - } - - [UnityTest] - public IEnumerator HighlightWithColor() - { - foreach (Type highlighterImplementation in ReflectionUtils.GetConcreteImplementationsOf()) - { - // Given a GameObject with at least one Renderer - GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); - IHighlighter highlighter = cube.AddComponent(highlighterImplementation) as IHighlighter; - Material testMaterial = CreateHighlightMaterial(); - Color testColor = Color.green; - - testMaterial.color = testColor; - - Assert.That(highlighter != null); - Assert.IsFalse(highlighter.IsHighlighting); - - // When StartHighlighting - highlighter.StartHighlighting(testMaterial); - - yield return null; - - // Then the object is highlighted with provided color - Material highlightMaterial = highlighter.GetHighlightMaterial(); - - Assert.IsTrue(highlighter.IsHighlighting); - Assert.That(highlightMaterial.color == testColor); - } - } - - [UnityTest] - public IEnumerator HighlightWithMaterial() - { - foreach (Type highlighterImplementation in ReflectionUtils.GetConcreteImplementationsOf()) - { - // Given a GameObject with at least one Renderer - GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); - IHighlighter highlighter = cube.AddComponent(highlighterImplementation) as IHighlighter; - Material testMaterial = CreateHighlightMaterial(); - - Assert.That(highlighter != null); - Assert.IsFalse(highlighter.IsHighlighting); - - // When StartHighlighting - highlighter.StartHighlighting(testMaterial); - - yield return null; - - // Then the object is highlighted with provided material - Material highlightMaterial = highlighter.GetHighlightMaterial(); - - Assert.IsTrue(highlighter.IsHighlighting); - Assert.That(testMaterial == highlightMaterial); - } - } - - [UnityTest] - public IEnumerator HighlightWithTexture() - { - foreach (Type highlighterImplementation in ReflectionUtils.GetConcreteImplementationsOf()) - { - // Given a GameObject with at least one Renderer - GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); - IHighlighter highlighter = cube.AddComponent(highlighterImplementation) as IHighlighter; - Material testMaterial = CreateHighlightMaterial(); - Texture testTexture = Texture2D.redTexture; - - testMaterial.mainTexture = testTexture; - - Assert.That(highlighter != null); - Assert.IsFalse(highlighter.IsHighlighting); - - // When StartHighlighting - highlighter.StartHighlighting(testMaterial); - - yield return null; - - // Then the object is highlighted with provided texture - Material highlightMaterial = highlighter.GetHighlightMaterial(); - - Assert.IsTrue(highlighter.IsHighlighting); - Assert.That(testTexture == highlightMaterial.mainTexture); - } - } - - private Material CreateHighlightMaterial() - { - string shaderName = GraphicsSettings.currentRenderPipeline ? "Universal Render Pipeline/Lit" : "Standard"; - Shader defaultShader = Shader.Find(shaderName); - - return new Material(defaultShader); - } - } -} diff --git a/Tests/Basic-Interaction-Component/HighlighterTests.cs.meta b/Tests/Basic-Interaction-Component/HighlighterTests.cs.meta deleted file mode 100644 index e4aa12220..000000000 --- a/Tests/Basic-Interaction-Component/HighlighterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e7130494e52ab4c3a8a9cd33f9cbf4b0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef b/Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef deleted file mode 100644 index 68fa87a4e..000000000 --- a/Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "VRBuilder.BasicInteraction.Tests", - "rootNamespace": "", - "references": [ - "GUID:27619889b8ba8c24980f49ee34dbb44a", - "GUID:0acc523941302664db1f4e527237feb3", - "GUID:c8561f9de838ac04d8feeda695bc572d", - "GUID:e476a81b6ef7b824686666349a591a9a", - "GUID:474da18fc7b8c9c4c9db09e343483375", - "GUID:05a23dc99adcd7045af6fda7a3ed6ccd", - "GUID:5bac2de3e0a43884ba7b23da0c8de186", - "GUID:880cbf18a8d0b304e905a848d71cf547", - "GUID:ed4af906a53b389478975e0296b00c9f" - ], - "includePlatforms": [], - "excludePlatforms": [ - "WSA" - ], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS", - "VR_BUILDER" - ], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef.meta b/Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef.meta deleted file mode 100644 index efaaa6b17..000000000 --- a/Tests/Basic-Interaction-Component/VRBuilder.BasicInteraction.Tests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5dc10662f790e4e49944b5fb3f5daeea -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core.meta b/Tests/Core.meta deleted file mode 100644 index cee1beb2b..000000000 --- a/Tests/Core.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 87ab6758c9986c24a8fd44d4c38d6b7f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/EditMode.meta b/Tests/Core/EditMode.meta deleted file mode 100644 index 8aab90b71..000000000 --- a/Tests/Core/EditMode.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 572f3caa4f4ef094bb6039576e629d4c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/EditMode/AssetUtilityTests.cs b/Tests/Core/EditMode/AssetUtilityTests.cs deleted file mode 100644 index 03364c496..000000000 --- a/Tests/Core/EditMode/AssetUtilityTests.cs +++ /dev/null @@ -1,133 +0,0 @@ -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Core.Tests.Utils; -using VRBuilder.Unity; - -namespace VRBuilder.Core.Tests -{ - public class AssetUtilityTests - { - private const string prefabPath = "Assets/TestPrefabsFolder_DeleteMe"; - - [OneTimeSetUp] - public void CreateTestPrefabFolder() - { - TestingUtils.CreateFolderRecursively(prefabPath); - } - - [OneTimeTearDown] - public void DeleteTestPrefabFolder() - { - TestingUtils.DeleteContentAndFolder(prefabPath); - } - - [Test] - public void IsComponentInScene_ComponentAttachedToSceneObject() - { - // Arrange - GameObject gameObject = new GameObject("TestSceneObject"); - Rigidbody component = gameObject.AddComponent(); - - // Act - bool result = AssetUtility.IsComponentInScene(component); - - // Assert - Assert.IsTrue(result); - - // Cleanup - Object.DestroyImmediate(gameObject); - } - - [Test] - public void IsComponentInScene_ComponentAttachedToPrefab() - { - // Arrange - string prefabName = TestingUtils.GetUniqueName(); - GameObject go = new GameObject(prefabName); - go.AddComponent(); - GameObject prefab = TestingUtils.CreatePrefab(go, prefabPath); - - // Act - bool result = AssetUtility.IsComponentInScene(prefab.gameObject.GetComponent()); - - // Assert - Assert.IsFalse(result); - - // Cleanup - TestingUtils.DeletePrefab(prefabName, prefabPath); - } - - [Test] - public void IsComponentInScene_Null() - { - // Act - bool result = AssetUtility.IsComponentInScene(null); - - // Assert - Assert.IsFalse(result); - } - - [Test] - public void IsOnDisk_SceneObject() - { - // Arrange - GameObject gameObject = new GameObject("TestSceneObjectDisk"); - - // Act - bool result = AssetUtility.IsOnDisk(gameObject); - - // Assert - Assert.IsFalse(result); - - // Cleanup - Object.DestroyImmediate(gameObject); - } - - [Test] - public void IsOnDisk_PrefabOnDisk() - { - // Arrange - string prefabName = TestingUtils.GetUniqueName(); - GameObject go = new GameObject(prefabName); - GameObject prefab = TestingUtils.CreatePrefab(go, prefabPath); - - // Act - bool result = AssetUtility.IsOnDisk(prefab); - - // Assert - Assert.IsTrue(result); - - // Cleanup - TestingUtils.DeletePrefab(prefabName, prefabPath); - } - - [Test] - public void IsOnDisk_InstantiatedPrefab() - { - // Arrange - string prefabName = TestingUtils.GetUniqueName(); - GameObject go = new GameObject(prefabName); - GameObject prefab = TestingUtils.CreatePrefab(go, prefabPath); - GameObject instantiatedPrefab = Object.Instantiate(prefab); - - // Act - bool result = AssetUtility.IsOnDisk(instantiatedPrefab); - - // Assert - Assert.IsFalse(result); - - // Cleanup - TestingUtils.DeletePrefab(prefabName, prefabPath); - } - - [Test] - public void IsOnDisk_Null() - { - // Act - bool result = AssetUtility.IsOnDisk(null); - - // Assert - Assert.IsFalse(result); - } - } -} diff --git a/Tests/Core/EditMode/AssetUtilityTests.cs.meta b/Tests/Core/EditMode/AssetUtilityTests.cs.meta deleted file mode 100644 index ec76f1aa9..000000000 --- a/Tests/Core/EditMode/AssetUtilityTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 59e266a1530cad243bdeea514b3d1cde -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/EditMode/Editor.meta b/Tests/Core/EditMode/Editor.meta deleted file mode 100644 index b4bcfdc64..000000000 --- a/Tests/Core/EditMode/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fab200e17a43b20428738a2961276272 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/EditMode/Editor/Setup.meta b/Tests/Core/EditMode/Editor/Setup.meta deleted file mode 100644 index 4d1e63f0c..000000000 --- a/Tests/Core/EditMode/Editor/Setup.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 99fc434354fe4304bd8c2b089cd850be -timeCreated: 1586870764 \ No newline at end of file diff --git a/Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs b/Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs deleted file mode 100644 index 766ba7843..000000000 --- a/Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Editor.Setup; -using VRBuilder.Unity; - -namespace VRBuilder.Editor.Tests -{ - public class RuntimeConfigurationSetupTests - { - [Test] - public void ConfigNotCreated() - { - // When the Runtime configuration setup is ran. - new RuntimeConfigurationSetup().Setup(new DefaultSceneSetupConfiguration()); - // Then there should be an GameObject with fitting name in scene. - GameObject obj = GameObject.Find(RuntimeConfigurationSetup.ProcessConfigurationName); - Assert.NotNull(obj); - } - - [Test] - public void IsConfigWithoutMissingScriptTest() - { - // When the Runtime configuration setup is ran. - new RuntimeConfigurationSetup().Setup(new DefaultSceneSetupConfiguration()); - // Then the found GameObject should not have missing scripts. - GameObject obj = GameObject.Find(RuntimeConfigurationSetup.ProcessConfigurationName); - Assert.NotNull(obj); - Assert.False(SceneUtils.ContainsMissingScripts(obj)); - } - } -} diff --git a/Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs.meta b/Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs.meta deleted file mode 100644 index 3e31a34f3..000000000 --- a/Tests/Core/EditMode/Editor/Setup/RuntimeConfigurationSetupTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: d9ec8f843d6148b89f5c531846023afc -timeCreated: 1586870769 \ No newline at end of file diff --git a/Tests/Core/EditMode/Editor/Utils.meta b/Tests/Core/EditMode/Editor/Utils.meta deleted file mode 100644 index ae72bdfc0..000000000 --- a/Tests/Core/EditMode/Editor/Utils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5e9083a546ec47143a5c202c3a3537c7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs b/Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs deleted file mode 100644 index 04f5d3a81..000000000 --- a/Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs +++ /dev/null @@ -1,293 +0,0 @@ -// Copyright(c) 2013 - 2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using NUnit.Framework; -using System; -using System.Linq; -using UnityEditor; -using VRBuilder.Core; -using VRBuilder.Core.Configuration; -using VRBuilder.Editor.Setup; -using VRBuilder.Editor.Utils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Editor.Tests -{ - public class SystemClipboardTests - { - [SetUp] - public void Setup() - { - if (RuntimeConfigurator.Exists) - { - return; - } - - ProcessSceneSetup.Run(new DefaultSceneSetupConfiguration()); - } - - [Test] - public void CopyIntoBuffer() - { - // Given a step and a value in the system copy buffer - IStep step = new Step("Step"); - string testValue = "Hello!"; - EditorGUIUtility.systemCopyBuffer = testValue; - - // When I copy that step - SystemClipboard.CopyStep(step); - - // Then the system's copy buffer value has changed. - - Assert.AreNotEqual(testValue, EditorGUIUtility.systemCopyBuffer); - } - - [Test] - public void PasteNewInstance() - { - // Given a step - IStep step = new Step("Step"); - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then it creates a new instance of the step. - Assert.IsFalse(ReferenceEquals(step, copy)); - } - - [Test] - public void PasteMultipleTimes() - { - // Given a step - IStep step = new Step("Step"); - - // When I copy and then paste it multiple times - SystemClipboard.CopyStep(step); - IStep copy1 = SystemClipboard.PasteStep(); - IStep copy2 = SystemClipboard.PasteStep(); - IStep copy3 = SystemClipboard.PasteStep(); - - // Then it creates multiple new instances. - Assert.NotNull(copy1); - Assert.NotNull(copy2); - Assert.NotNull(copy3); - } - - [Test] - public void PasteWithName() - { - // Given a step with a name - IStep step = new Step("Quite rare name"); - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy has the same name - Assert.AreEqual(step.Data.Name, copy.Data.Name); - } - - [Test] - public void PasteWithBehavior() - { - // Given a step with a behavior - IStep step = new BasicStepBuilder("Step") - .AddBehavior(new EmptyBehaviorMock()) - .Build(); - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // The copy has a new copy of the behavior - Assert.IsFalse(ReferenceEquals( - step.Data.Behaviors.Data.Behaviors.First(), - copy.Data.Behaviors.Data.Behaviors.First())); - } - - [Test] - public void PasteKeepBehaviorType() - { - // Given a step with a behavior - IStep step = new BasicStepBuilder("Step") - .AddBehavior(new EmptyBehaviorMock()) - .Build(); - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // The copy of the behavior has the same type. - Assert.AreEqual( - step.Data.Behaviors.Data.Behaviors.First().GetType(), - copy.Data.Behaviors.Data.Behaviors.First().GetType()); - } - - [Test] - public void PasteWithPrimitiveValue() - { - // Given a step with a behavior with a primitive value - IStep step = new BasicStepBuilder("Step") - .AddBehavior(new ValueBehaviorMock(5f)) - .Build(); - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy stores the same value as the original behavior. - Assert.AreEqual( - ((ValueBehaviorMock)step.Data.Behaviors.Data.Behaviors.First()).Data.Value, - ((ValueBehaviorMock)copy.Data.Behaviors.Data.Behaviors.First()).Data.Value); - } - - [Test] - public void PasteWithPropertyReference() - { - // Given a step with a behavior with a property reference - IStep step = new BasicStepBuilder("Step") - .AddBehavior(new ObjectReferenceBehaviorMock(Guid.NewGuid())) - .Build(); - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy stores the same value as the original behavior. - Assert.AreEqual( - ((ObjectReferenceBehaviorMock)step.Data.Behaviors.Data.Behaviors.First()).Data.SingleReferenceObject.Guids.First(), - ((ObjectReferenceBehaviorMock)copy.Data.Behaviors.Data.Behaviors.First()).Data.SingleReferenceObject.Guids.First()); - } - - [Test] - public void PasteWithTransition() - { - // Given a step with a transition to another step, - IStep step = new Step("Step"); - IStep target = new Step("Step 2"); - - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.First().Data.TargetStep = target; - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy's transition leads to the end of chapter. - Assert.IsNull(copy.Data.Transitions.Data.Transitions.First().Data.TargetStep); - } - - [Test] - public void PasteWithTransitionToItself() - { - // Given a step with a transition to itself, - IStep step = new Step("Step"); - - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.First().Data.TargetStep = step; - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy's transition leads to the end of chapter. - Assert.IsNull(copy.Data.Transitions.Data.Transitions.First().Data.TargetStep); - } - - [Test] - public void PasteWithCondition() - { - // Given a step with a transition with a condition, - IStep step = new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock()) - .Build(); - IStep target = new Step("Step 2"); - step.Data.Transitions.Data.Transitions.First().Data.TargetStep = target; - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy's transition has a copy of the condition. - Assert.AreEqual( - step.Data.Transitions.Data.Transitions.First().Data.Conditions.First().GetType(), - copy.Data.Transitions.Data.Transitions.First().Data.Conditions.First().GetType()); - - Assert.IsFalse(ReferenceEquals( - step.Data.Transitions.Data.Transitions.First().Data.Conditions.First(), - copy.Data.Transitions.Data.Transitions.First().Data.Conditions.First())); - } - - [Test] - public void PasteMultipleTransitions() - { - // Given a step with three transitions, - IStep step = new Step("Step"); - - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.Add(new Transition()); - - // When I copy and paste it, - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy has three transitions, too - Assert.AreEqual(3, copy.Data.Transitions.Data.Transitions.Count); - } - - - [Test] - public void PasteMultipleTransitionsAndConditions() - { - // Given a step with three transitions with different conditions, - IStep step = new Step("Step"); - - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.Add(new Transition()); - - step.Data.Transitions.Data.Transitions[0].Data.Conditions.Add(new EndlessConditionMock()); - step.Data.Transitions.Data.Transitions[1].Data.Conditions.Add(new OptionalEndlessConditionMock()); - step.Data.Transitions.Data.Transitions[2].Data.Conditions.Add(new AutoCompletedCondition()); - - // When I copy and paste it, - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the copy has three transitions, too - Assert.AreEqual(typeof(EndlessConditionMock), copy.Data.Transitions.Data.Transitions[0].Data.Conditions[0].GetType()); - Assert.AreEqual(typeof(OptionalEndlessConditionMock), copy.Data.Transitions.Data.Transitions[1].Data.Conditions[0].GetType()); - Assert.AreEqual(typeof(AutoCompletedCondition), copy.Data.Transitions.Data.Transitions[2].Data.Conditions[0].GetType()); - } - - [Test] - public void PasteWithTransitionsWithTargets() - { - // Given a step with three transitions to different steps, - IStep step = new Step("Step"); - IStep target1 = new Step("Target 1"); - IStep target2 = new Step("Target 2"); - IStep target3 = new Step("Target 3"); - - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = target1; - step.Data.Transitions.Data.Transitions[1].Data.TargetStep = target2; - step.Data.Transitions.Data.Transitions[2].Data.TargetStep = target3; - - // When I copy and paste it - SystemClipboard.CopyStep(step); - IStep copy = SystemClipboard.PasteStep(); - - // Then the all copy's transitions leads to the end of chapter. - Assert.IsNull(copy.Data.Transitions.Data.Transitions[0].Data.TargetStep); - Assert.IsNull(copy.Data.Transitions.Data.Transitions[1].Data.TargetStep); - Assert.IsNull(copy.Data.Transitions.Data.Transitions[2].Data.TargetStep); - } - } -} diff --git a/Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs.meta b/Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs.meta deleted file mode 100644 index f7911c168..000000000 --- a/Tests/Core/EditMode/Editor/Utils/SystemClipboardTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7c8d8dc031b0b2144b32bd8bf5e76b14 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef b/Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef deleted file mode 100644 index 994abd8df..000000000 --- a/Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "VRBuilder.Core.Tests.Editmode", - "rootNamespace": "", - "references": [ - "GUID:0acc523941302664db1f4e527237feb3", - "GUID:c8561f9de838ac04d8feeda695bc572d", - "GUID:e476a81b6ef7b824686666349a591a9a", - "GUID:ed4af906a53b389478975e0296b00c9f" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll", - "Newtonsoft.Json.dll" - ], - "autoReferenced": true, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS", - "VR_BUILDER" - ], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef.meta b/Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef.meta deleted file mode 100644 index dc426a319..000000000 --- a/Tests/Core/EditMode/VRBuilder.Core.Tests.Editmode.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d5a1e524bded5fe48a1c2f1b5604900c -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode.meta b/Tests/Core/PlayMode.meta deleted file mode 100644 index b973984d7..000000000 --- a/Tests/Core/PlayMode.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 90ee21ef19f725b498ed3df1f1c7871e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Behaviors.meta b/Tests/Core/PlayMode/Behaviors.meta deleted file mode 100644 index 8edfa7ecb..000000000 --- a/Tests/Core/PlayMode/Behaviors.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6524330f4ca59c24d80b598271870ffc -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs b/Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs deleted file mode 100644 index e5677c349..000000000 --- a/Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs +++ /dev/null @@ -1,282 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Collections; -using UnityEngine.Assertions; -using UnityEngine.TestTools; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Behaviors -{ - public class BackgroundBehaviorTests : RuntimeTests - { - [UnityTest] - public IEnumerator NonBlockingBehaviorActivating() - { - // Given a non-blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(false); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it, - behaviorMock.LifeCycle.Activate(); - - // Then behavior starts its activation. - Assert.AreEqual(Stage.Activating, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator NonBlockingBehaviorActivated() - { - // Given a non-blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(false); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate and finish activation, - behaviorMock.LifeCycle.Activate(); - - behaviorMock.LifeCycle.MarkToFastForward(); - - yield return null; - behaviorMock.Update(); - - yield return null; - behaviorMock.Update(); - - // Then it is activated. - Assert.AreEqual(Stage.Active, behaviorMock.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator BlockingBehaviorActivating() - { - // Given a blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(true); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate it, - behaviorMock.LifeCycle.Activate(); - - // Then it is immediately activating. - Assert.AreEqual(Stage.Activating, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveNonBlockingBehavior() - { - // Given a non-blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(false); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward, - behaviorMock.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveNonBlockingBehaviorAndActivateIt() - { - // Given a non-blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(false); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward and activate it, - behaviorMock.LifeCycle.MarkToFastForward(); - behaviorMock.LifeCycle.Activate(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBlockingBehaviorAndActivateIt() - { - // Given a blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(true); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we mark it to fast-forward and activate it, - behaviorMock.LifeCycle.MarkToFastForward(); - behaviorMock.LifeCycle.Activate(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingNonBlockingBehavior() - { - // Given an activating non-blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(false); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - behaviorMock.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behaviorMock.LifeCycle.MarkToFastForward(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBlockingBehavior() - { - // Given an activating blocking behavior, - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(true); - behaviorMock.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - behaviorMock.LifeCycle.Activate(); - - // When we mark it to fast-forward, - behaviorMock.LifeCycle.MarkToFastForward(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, behaviorMock.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator NonBlockingBehaviorDoesNotBlock() - { - // Given a chapter with a step with no conditions but a transition to the end, and a non-blocking endless behavior, - EndlessBehaviorMock nonBlockingBehaviorMock = new EndlessBehaviorMock(false); - ITransition transition = new Transition(); - transition.Data.TargetStep = null; - IStep step = new Step("NonBlockingStep"); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Data.Behaviors.Data.Behaviors.Add(nonBlockingBehaviorMock); - IChapter chapter = new Chapter("NonBlockingChapter", step); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the chapter, - chapter.LifeCycle.Activate(); - - // Then it will finish activation immediately after a few update cycles. - while (chapter.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator BlockingBehaviorDoesBlock() - { - // Given a chapter with a step with no conditions but a transition to the end, and a blocking endless behavior, - EndlessBehaviorMock blockingBehaviorMock = new EndlessBehaviorMock(true); - ITransition transition = new Transition(); - transition.Data.TargetStep = null; - IStep step = new Step("BlockingStep"); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Data.Behaviors.Data.Behaviors.Add(blockingBehaviorMock); - IChapter chapter = new Chapter("BlockingChapter", step); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the chapter, - chapter.LifeCycle.Activate(); - - while (blockingBehaviorMock.LifeCycle.Stage != Stage.Activating) - { - yield return null; - chapter.Update(); - } - - // When endless behavior stays activating even after a few frames, - int waitingFrames = 10; - while (waitingFrames > 0) - { - yield return null; - chapter.Update(); - Assert.AreEqual(Stage.Activating, blockingBehaviorMock.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - waitingFrames--; - } - - // Then the chapter will not be activated until the behavior finishes. - blockingBehaviorMock.LifeCycle.MarkToFastForward(); - - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - - while (chapter.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator NonBlockingBehaviorLoop() - { - // Given a chapter with a step with a loop transition, and a non-blocking endless behavior, - EndlessBehaviorMock nonBlockingBehaviorMock = new EndlessBehaviorMock(false); - ITransition transition = new Transition(); - IStep step = new Step("NonBlockingStep"); - transition.Data.TargetStep = step; - step.Data.Transitions.Data.Transitions.Add(transition); - step.Data.Behaviors.Data.Behaviors.Add(nonBlockingBehaviorMock); - IChapter chapter = new Chapter("NonBlockingChapter", step); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the chapter, - chapter.LifeCycle.Activate(); - - // Then it will loop without any problems. - int loops = 3; - while (loops > 0) - { - while (step.LifeCycle.Stage != Stage.Activating) - { - yield return null; - chapter.Update(); - } - - while (step.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - while (step.LifeCycle.Stage != Stage.Deactivating) - { - yield return null; - chapter.Update(); - } - - while (step.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - chapter.Update(); - } - - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - loops--; - } - - Assert.AreEqual(Stage.Inactive, step.LifeCycle.Stage); - } - } -} diff --git a/Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs.meta b/Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs.meta deleted file mode 100644 index b92ee1344..000000000 --- a/Tests/Core/PlayMode/Behaviors/BackgroundBehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 73484ffb3bd74126b05cf85b09f6bb61 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Behaviors/BehaviorTests.cs b/Tests/Core/PlayMode/Behaviors/BehaviorTests.cs deleted file mode 100644 index 756debe5f..000000000 --- a/Tests/Core/PlayMode/Behaviors/BehaviorTests.cs +++ /dev/null @@ -1,28 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Utils -{ - public abstract class BehaviorTests : RuntimeTests - { - protected abstract IBehavior CreateDefaultBehavior(); - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a behavior, - IBehavior behavior = CreateDefaultBehavior(); - - // When we mark it to fast-forward, - behavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - - yield break; - } - } -} diff --git a/Tests/Core/PlayMode/Behaviors/BehaviorTests.cs.meta b/Tests/Core/PlayMode/Behaviors/BehaviorTests.cs.meta deleted file mode 100644 index 6ba307082..000000000 --- a/Tests/Core/PlayMode/Behaviors/BehaviorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c259ad9c9943a024ab870b3917217572 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Conditions.meta b/Tests/Core/PlayMode/Conditions.meta deleted file mode 100644 index 61a5c1a72..000000000 --- a/Tests/Core/PlayMode/Conditions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7cdea1d88882b2940973d41dc022d999 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Conditions/ConditionTests.cs b/Tests/Core/PlayMode/Conditions/ConditionTests.cs deleted file mode 100644 index 5137755c2..000000000 --- a/Tests/Core/PlayMode/Conditions/ConditionTests.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Collections; -using NUnit.Framework; -using UnityEngine.TestTools; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests.Conditions -{ - public abstract class ConditionTests : RuntimeTests - { - protected abstract ICondition CreateDefaultCondition(); - - [UnityTest] - public IEnumerator NotCompleted() - { - // Create Condition - ICondition condition = CreateDefaultCondition(); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - Assert.IsFalse(condition.IsCompleted, "Condition should not be completed!"); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Create Condition - ICondition condition = CreateDefaultCondition(); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - } - } -} diff --git a/Tests/Core/PlayMode/Conditions/ConditionTests.cs.meta b/Tests/Core/PlayMode/Conditions/ConditionTests.cs.meta deleted file mode 100644 index ca9086234..000000000 --- a/Tests/Core/PlayMode/Conditions/ConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 71fd5a2f1c4a13d45b1086bf1f4c2f5b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Entities.meta b/Tests/Core/PlayMode/Entities.meta deleted file mode 100644 index 14a4713ce..000000000 --- a/Tests/Core/PlayMode/Entities.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 082f6c59b0594299b804d1df3c8018f1 -timeCreated: 1594209143 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Entities/EntityFactoryTests.cs b/Tests/Core/PlayMode/Entities/EntityFactoryTests.cs deleted file mode 100644 index 86e9fc674..000000000 --- a/Tests/Core/PlayMode/Entities/EntityFactoryTests.cs +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests -{ - public class EntityFactoryTests : RuntimeTests - { - [Test] - public void CreateAStep() - { - string stepName = "Test Step"; - Vector2 stepPosition = default; - - IStep step = EntityFactory.CreateStep(stepName); - - Assert.NotNull(step); - Assert.That(step is IStep); - Assert.That(step.Data.Name == stepName); - Assert.That(step.StepMetadata.Position == stepPosition); - } - - [Test] - public void CreateAStepWithPosition() - { - string stepName = "Test Step"; - Vector2 stepPosition = Vector2.left; - IStep step = EntityFactory.CreateStep(stepName, stepPosition); - - Assert.NotNull(step); - Assert.That(step is IStep); - Assert.That(step.Data.Name == stepName); - Assert.That(step.StepMetadata.Position == stepPosition); - } - - [Test] - public void CreateATransition() - { - ITransition transition = EntityFactory.CreateTransition(); - - Assert.NotNull(transition); - Assert.That(transition is ITransition); - } - - [Test] - public void CreateAChapter() - { - string chapterName = "Test Chapter"; - IChapter chapter = EntityFactory.CreateChapter(chapterName); - - Assert.NotNull(chapter); - Assert.That(chapter is IChapter); - Assert.That(chapter.Data.Name == chapterName); - } - - [Test] - public void CreateAProcess() - { - string processName = "Test Process"; - IProcess process = EntityFactory.CreateProcess(processName); - - Assert.NotNull(process); - Assert.That(process is IProcess); - Assert.That(process.Data.Name == processName); - } - } -} diff --git a/Tests/Core/PlayMode/Entities/EntityFactoryTests.cs.meta b/Tests/Core/PlayMode/Entities/EntityFactoryTests.cs.meta deleted file mode 100644 index bb6d003be..000000000 --- a/Tests/Core/PlayMode/Entities/EntityFactoryTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: e1c568357ec046ef8bbf584bc6294490 -timeCreated: 1594209144 \ No newline at end of file diff --git a/Tests/Core/PlayMode/IO.meta b/Tests/Core/PlayMode/IO.meta deleted file mode 100644 index 5fb557d8f..000000000 --- a/Tests/Core/PlayMode/IO.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 83832aeb9fe95e94ea620e19534aa697 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs b/Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs deleted file mode 100644 index e17183ca0..000000000 --- a/Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.IO; -using System.Text; -using System.Collections; -using System.Threading.Tasks; -using VRBuilder.Core.IO; -using UnityEngine; -using NUnit.Framework; -using UnityEngine.TestTools; - -namespace VRBuilder.Core.Tests.IO -{ - public class DefaultFileSystemTests : IOTests - { - private IPlatformFileSystem defaultFileSystem; - - [OneTimeSetUp] - public override void OneTimeSetUp() - { - base.OneTimeSetUp(); - defaultFileSystem = new DefaultFileSystem(Application.streamingAssetsPath, Application.persistentDataPath); - } - - [UnityTest] - public IEnumerator Read() - { - yield return null; - - // Given an existing file in a relative path. - Task exists = Task.Run(() => defaultFileSystem.Exists(RelativeFilePath)); - exists.Wait(); - Assert.IsTrue(exists.IsCompleted); - Assert.IsTrue(exists.Result); - - // When reading the file from the relative path. - Task getFileData = Task.Run(() => defaultFileSystem.Read(RelativeFilePath)); - getFileData.Wait(); - string message = Encoding.Default.GetString(getFileData.Result); - - // Then assert that the file content was retrieved. - Assert.IsTrue(getFileData.IsCompleted); - Assert.That(getFileData.Result != null && getFileData.Result.Length > 0); - Assert.IsFalse(string.IsNullOrEmpty(message)); - } - - [UnityTest] - public IEnumerator Exists() - { - yield return null; - - Task exists = Task.Run(() => defaultFileSystem.Exists(RelativeFilePath)); - exists.Wait(); - - // Given a file in a relative path. - // When checking if the file exits. - // Then assert that the file exits. - Assert.IsFalse(string.IsNullOrEmpty(RelativeFilePath)); - Assert.IsFalse(Path.IsPathRooted(RelativeFilePath)); - Assert.IsTrue(exists.IsCompleted); - Assert.IsTrue(exists.Result); - } - - [UnityTest] - public IEnumerator Write() - { - yield return null; - - Task exists = Task.Run(() => defaultFileSystem.Exists(RelativeFilePath)); - exists.Wait(); - Assert.IsTrue(exists.IsCompleted); - Assert.IsFalse(exists.Result); - - // Given invalid paths and files data. - byte[] fileData = new UTF8Encoding(true).GetBytes(FileContent); - - // When trying to read, write or check if the file exits using invalid arguments. - Task tryWrite = Task.Run(() => defaultFileSystem.Write(RelativeFilePath, fileData)); - tryWrite.Wait(); - - // Then assert that a proper exception is thrown. - Assert.IsTrue(tryWrite.IsCompleted); - - Task existsAfterWriting = Task.Run(() => defaultFileSystem.Exists(RelativeFilePath)); - exists.Wait(); - - Assert.IsTrue(existsAfterWriting.Result); - } - - [UnityTest] - public IEnumerator NotExistingFile() - { - yield return null; - - // Given a relative path to a file that does not exist. - // When checking if the file exists. - Task exists = Task.Run(() => defaultFileSystem.Exists(NonExistingFilePath)); - exists.Wait(); - // Then assert that the file does not exist. - Assert.IsTrue(exists!.IsCompleted); - Assert.IsFalse(exists.Result); - } - } -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs.meta b/Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs.meta deleted file mode 100644 index 6e976b0cc..000000000 --- a/Tests/Core/PlayMode/IO/DefaultFileSystemTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f27bcb8f460746a4883e3d89ee63abc7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/IO/FileManagerTests.cs b/Tests/Core/PlayMode/IO/FileManagerTests.cs deleted file mode 100644 index cb64cb852..000000000 --- a/Tests/Core/PlayMode/IO/FileManagerTests.cs +++ /dev/null @@ -1,138 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Text; -using System.Collections; -using System.Threading.Tasks; -using VRBuilder.Core.IO; -using UnityEngine; -using NUnit.Framework; -using UnityEngine.TestTools; - -namespace VRBuilder.Core.Tests.IO -{ - public class FileManagerTests : IOTests - { - public static IEnumerator Execute(Task task) - { - while (!task.IsCompleted) - { - yield return null; - } - - if (task.IsFaulted) - { - throw task.Exception; - } - } - - [UnityTest] - public IEnumerator Read() - { - yield return Execute(ReadAsync()); - } - - public async Task ReadAsync() - { - // Given an existing file in a relative path. - Assert.IsTrue(await FileManager.Exists(RelativeFilePath)); - - // When reading the file from the relative path. - byte[] fileData = await FileManager.Read(RelativeFilePath); - string message = Encoding.Default.GetString(fileData); - - // Then assert that the file content was retrieved. - Assert.That(fileData != null && fileData.Length > 0); - Assert.IsFalse(string.IsNullOrEmpty(message)); - } - - [UnityTest] - public IEnumerator Exists() - { - yield return Execute(ExistsAsync()); - } - - public async Task ExistsAsync() - { - // Given a file in a relative path. - // When checking if the file exits. - // Then assert that the file exits. - Assert.IsTrue(await FileManager.Exists(RelativeFilePath)); - } - - [UnityTest] - public IEnumerator Write() - { - yield return Execute(WriteAsync()); - } - - public async Task WriteAsync() - { - Assert.IsFalse(await FileManager.Exists(RelativeFilePath)); - - // Given - byte[] fileData = new UTF8Encoding(true).GetBytes(FileContent); - - // When - await FileManager.Write(RelativeFilePath, fileData); - - // Then - Assert.IsTrue(await FileManager.Exists(RelativeFilePath)); - } - - [UnityTest] - public IEnumerator ArgumentException() - { - yield return null; - // Given invalid paths and files data. - string nullPath = null; - string empPath = string.Empty; - string absolutePath = Application.dataPath; - byte[] nullData = null; - Task fileDataTask = Task.Run(() => FileManager.Read(RelativeFilePath)); - fileDataTask.Wait(); - byte[] fileData = fileDataTask.Result; - - // When trying to read, write or check if the file exits using invalid arguments. - - // Then assert that a proper exception is thrown. - Task ReadNullPath() => FileManager.Read(nullPath); - Task ReadEmptyPath() => FileManager.Read(empPath); - Task ReadAbsolutePath() => FileManager.Read(absolutePath); - Task WriteFileData() => FileManager.Write(nullPath, fileData); - Task WriteEmptyFileData() => FileManager.Write(empPath, fileData); - Task WriteAbsoluteFileData() => FileManager.Write(absolutePath, fileData); - Task WriteRelativeNullData() => FileManager.Write(RelativeFilePath, nullData); - Task ExistNullData() => FileManager.Exists(nullPath); - Task ExistEmptyPath() => FileManager.Exists(empPath); - Task ExistAbsolutePath() => FileManager.Exists(absolutePath); - - Assert.That(ReadNullPath().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(ReadEmptyPath().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(ReadAbsolutePath().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(WriteFileData().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(WriteEmptyFileData().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(WriteAbsoluteFileData().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(WriteRelativeNullData().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(ExistNullData().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(ExistEmptyPath().Exception.InnerException.GetType() == typeof(ArgumentException)); - Assert.That(ExistAbsolutePath().Exception.InnerException.GetType() == typeof(ArgumentException)); - } - - [UnityTest] - public IEnumerator NotExistingFile() - { - yield return Execute(NotExistingFileAsync()); - } - - public async Task NotExistingFileAsync() - { - // Given a relative path to a file that does not exit. - // When checking if the file exits. - // Then assert that the file does not exit. - Assert.IsFalse(await FileManager.Exists(NonExistingFilePath)); - } - } -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/IO/FileManagerTests.cs.meta b/Tests/Core/PlayMode/IO/FileManagerTests.cs.meta deleted file mode 100644 index 7b0fa8d8a..000000000 --- a/Tests/Core/PlayMode/IO/FileManagerTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 69457bb5caf662149a43c48955deff29 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/IO/IOTests.cs b/Tests/Core/PlayMode/IO/IOTests.cs deleted file mode 100644 index aa889fa9e..000000000 --- a/Tests/Core/PlayMode/IO/IOTests.cs +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.IO; -using System.Text; -using UnityEngine; -using NUnit.Framework; - -namespace VRBuilder.Core.Tests.IO -{ - public class IOTests - { - protected const string FolderName = "TestFolder"; - protected const string FileName = "TestFile.txt"; - protected const string FileContent = "Hello Test!"; - protected const string NonExistingFilePath = "I do not exist.sad"; - - protected string RelativeFilePath; - protected string AbsoluteStreamingAssetsFilePath; - protected string AbsolutePersistentDataFilePath; - - [OneTimeSetUp] - public virtual void OneTimeSetUp() - { - RelativeFilePath = Path.Combine(FolderName, FileName); - AbsoluteStreamingAssetsFilePath = CreateDirectory(Application.streamingAssetsPath); - AbsolutePersistentDataFilePath = CreateDirectory(Application.persistentDataPath); - } - - [SetUp] - public virtual void SetUp() - { - if (TestContext.CurrentContext.Test.MethodName.Contains("Write")) - { - return; - } - - CreateFile(AbsoluteStreamingAssetsFilePath); - CreateFile(AbsolutePersistentDataFilePath); - } - - [TearDown] - public virtual void TearDown() - { - DeleteFile(AbsoluteStreamingAssetsFilePath); - DeleteFile(AbsolutePersistentDataFilePath); - } - - [OneTimeTearDown] - public virtual void OneTimeTearDown() - { - DeleteDirectory(Application.streamingAssetsPath); - DeleteDirectory(Application.persistentDataPath); - } - - private void CreateFile(string cacheLocation) - { - using (FileStream fileStream = File.Create(cacheLocation)) - { - byte[] fileData = new UTF8Encoding(true).GetBytes(FileContent); - fileStream.Write(fileData, 0, fileData.Length); - } - } - - private void DeleteFile(string absoluteFilePath) - { - if (File.Exists(absoluteFilePath)) - { - File.Delete(absoluteFilePath); - } - } - - private string CreateDirectory(string cacheLocation) - { - string fileDirectory = Path.Combine(cacheLocation, FolderName); - - if (Directory.Exists(fileDirectory) == false) - { - Directory.CreateDirectory(fileDirectory); - } - - return Path.Combine(fileDirectory, FileName); - } - - private void DeleteDirectory(string cacheLocation) - { - string fileDirectory = Path.Combine(cacheLocation, FolderName); - - if (Directory.Exists(fileDirectory)) - { - Directory.Delete(fileDirectory); - } - } - } -} diff --git a/Tests/Core/PlayMode/IO/IOTests.cs.meta b/Tests/Core/PlayMode/IO/IOTests.cs.meta deleted file mode 100644 index d965377b6..000000000 --- a/Tests/Core/PlayMode/IO/IOTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 66149188a3a30ac4d8a04b8000e5c375 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Locking.meta b/Tests/Core/PlayMode/Locking.meta deleted file mode 100644 index 592475316..000000000 --- a/Tests/Core/PlayMode/Locking.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 188e416e6f8255d4bb658abae46c3e8b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Locking/LockingTests.cs b/Tests/Core/PlayMode/Locking/LockingTests.cs deleted file mode 100644 index e05edc53c..000000000 --- a/Tests/Core/PlayMode/Locking/LockingTests.cs +++ /dev/null @@ -1,839 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using UnityEngine.TestTools; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Properties; -using VRBuilder.Core.RestrictiveEnvironment; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Locking -{ - public class LockingTests : RuntimeTests - { - public readonly DefaultStepLockHandling LockHandling = new DefaultStepLockHandling(); - - [UnityTest] - public IEnumerator LockAtEndPropertyIsLockedAfterFinishingStep() - { - // Given a transition with a condition referencing a scene object with a lockable property - // that should be locked in the end of a step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - LockableReferencingConditionMock lockAtEndOfStepCondition = new LockableReferencingConditionMock(); - lockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - lockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(property, true) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - - Step step = new BasicStepBuilder("step").AddCondition(lockAtEndOfStepCondition).Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine and completing the step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - // Then the property is locked in the end. - Assert.IsTrue(property.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator KeepUnlockedAtEndPropertyIsUnlockedAfterFinishingStep() - { - // Given a transition with a condition referencing a scene object with a lockable property - // that should not be locked in the end of a step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - LockableReferencingConditionMock doNotLockAtEndOfStepCondition = new LockableReferencingConditionMock(); - doNotLockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - doNotLockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(property, false) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - - Step step = new BasicStepBuilder("step").AddCondition(doNotLockAtEndOfStepCondition).Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine and completing the step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - // Then the property is not locked in the end. - Assert.IsFalse(property.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator SecondPropertyStaysLocked() - { - // Given two steps and two scene objects with each one lockable property - // where only the first property is referenced in the first step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property1 = o1.GameObject.AddComponent(); - - ISceneObject o2 = TestingUtils.CreateSceneObject("o2"); - LockablePropertyMock property2 = o2.GameObject.AddComponent(); - - LockableReferencingConditionMock doNotLockAtEndOfStepCondition = new LockableReferencingConditionMock(); - doNotLockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - doNotLockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(property1, false) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - Step step = new BasicStepBuilder("step") - .AddCondition(doNotLockAtEndOfStepCondition) - .Build(); - - property1.SetLocked(true); - property2.SetLocked(true); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine in the first step. - LockHandling.Unlock(step.Data, new List()); - - // Then property 2 is locked during the first step. - Assert.IsTrue(property2.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator GetLockablePropertiesInTransition() - { - // Given a scene object with one lockable property and one non-lockable property used by a condition in a transition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - o1.GameObject.AddComponent(); - - LockableReferencingConditionMock condition = new LockableReferencingConditionMock(); - condition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - condition.LockableProperties = new[] { new LockablePropertyData(property, true) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition).Build(); - Transition transition = (Transition)step.Data.Transitions.Data.Transitions[0]; - transition.Data.TargetStep = step2; - - // When counting the lockable properties in the transition. - // Then there is exactly one lockable property. - Assert.IsTrue(transition.GetLockableProperties().Count() == 1); - - yield return null; - } - - [UnityTest] - public IEnumerator GetLockablePropertiesZeroLockables() - { - // Given a scene object with one non-lockable property used by a condition in a transition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - o1.GameObject.AddComponent(); - - ReferencingConditionMock condition = new ReferencingConditionMock(); - condition.Data.SinglePropertyMock = new SingleScenePropertyReference(o1.Guid); - - Step step2 = new BasicStepBuilder("step2").Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition).Build(); - Transition transition = (Transition)step.Data.Transitions.Data.Transitions[0]; - transition.Data.TargetStep = step2; - - // When counting the lockable properties in the transition. - // Then there is no lockable property. - Assert.IsFalse(transition.GetLockableProperties().Any()); - - yield return null; - } - - [UnityTest] - public IEnumerator GetLockablePropertiesObjectInMultipleConditions() - { - // Given a scene object with one lockable property and one non-lockable property used by two conditions in a transition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - o1.GameObject.AddComponent(); - - LockableReferencingConditionMock condition1 = new LockableReferencingConditionMock(); - condition1.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - condition1.LockableProperties = new[] { new LockablePropertyData(property, true) }; - - LockableReferencingConditionMock condition2 = new LockableReferencingConditionMock(); - condition2.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - condition2.LockableProperties = new[] { new LockablePropertyData(property, false) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition1).AddCondition(condition2).Build(); - - Transition transition = (Transition)step.Data.Transitions.Data.Transitions[0]; - transition.Data.TargetStep = step2; - - // When counting the lockable properties in the transition. - // Then there is exactly one lockable property. - Assert.IsTrue(transition.GetLockableProperties().Count() == 1); - - yield return null; - } - - [UnityTest] - public IEnumerator GetLockablePropertiesMultipleObjectsAndConditions() - { - // Given three scene objects, - // one of them with one lockable property and one non-lockable property, - // one of them with only one non-lockable property, - // and one of them with only one lockable property, - // used by three different conditions in a transition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - o1.GameObject.AddComponent(); - - ISceneObject o2 = TestingUtils.CreateSceneObject("o2"); - o2.GameObject.AddComponent(); - - ISceneObject o3 = TestingUtils.CreateSceneObject("o3"); - LockablePropertyMock property2 = o2.GameObject.AddComponent(); - - LockableReferencingConditionMock condition1 = new LockableReferencingConditionMock(); - condition1.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - condition1.LockableProperties = new[] { new LockablePropertyData(property, true) }; - - ReferencingConditionMock condition2 = new ReferencingConditionMock(); - condition2.Data.SinglePropertyMock = new SingleScenePropertyReference(o2.Guid); - - LockableReferencingConditionMock condition3 = new LockableReferencingConditionMock(); - condition3.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o3.Guid); - condition3.LockableProperties = new[] { new LockablePropertyData(property2, true) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - Step step = new BasicStepBuilder("step") - .AddCondition(condition1) - .AddCondition(condition2) - .AddCondition(condition3) - .Build(); - Transition transition = (Transition)step.Data.Transitions.Data.Transitions[0]; - transition.Data.TargetStep = step2; - - // When counting the lockable properties in the transition. - // Then there are exactly two lockable properties. - Assert.IsTrue(transition.GetLockableProperties().Count() == 2); - - yield return null; - } - - [UnityTest] - public IEnumerator EmptyTransition() - { - // Given a transition from one step to another without any conditions. - Step step2 = new BasicStepBuilder("step2").Build(); - Step step = new BasicStepBuilder("step").Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine in the first step. - try - { - LockHandling.Unlock(step.Data, new List()); - LockHandling.Lock(step.Data, new List()); - } - // Then no exception is thrown. - catch (Exception exception) - { - Assert.Fail("Expected no exception, but got: " + exception.Message); - } - - yield return null; - } - - [UnityTest] - public IEnumerator SamePropertyInSecondStepStaysUnlocked() - { - // Given a scene object with a lockable property which is referenced in the transitions of the first and second step - // and should normally lock at the end of a step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - LockableReferencingConditionMock lockAtEndOfStepCondition = new LockableReferencingConditionMock(); - lockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - lockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(property, true) }; - - Step step2 = new BasicStepBuilder("step2").AddCondition(lockAtEndOfStepCondition).Build(); - - Step step = new BasicStepBuilder("step").AddCondition(lockAtEndOfStepCondition).Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine in the first step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - // Then the property is not locked at the end of the first step because it is needed in the second step. - Assert.IsFalse(property.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator SamePropertyInSecondStepGetsLockedAfterSecondStep() - { - // Given three steps and - // a scene object with a lockable property that should normally lock at the end of a step. - // It is referenced in the transitions of the first and second step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - LockableReferencingConditionMock lockAtEndOfStepCondition = new LockableReferencingConditionMock(); - lockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - lockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(property, true) }; - - Step step3 = new BasicStepBuilder("step3").AddCondition(new EndlessConditionMock()).Build(); - Step step2 = new BasicStepBuilder("step2").AddCondition(lockAtEndOfStepCondition).Build(); - step2.Data.Transitions.Data.Transitions[0].Data.TargetStep = step3; - - Step step = new BasicStepBuilder("step").AddCondition(lockAtEndOfStepCondition).Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine in the first and second step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - LockHandling.Unlock(step2.Data, new List()); - step2.Data.Transitions.Data.Transitions.First().Autocomplete(); - step2.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step2.Data, new List()); - - // Then the property is locked at the end of the second step because it is not needed any further. - Assert.IsTrue(property.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator SecondPropertyGetsLockedAfterNotBeingNeededAnymore() - { - // Given two steps and two scene objects with each one lockable property - // and property 2 (lock at the end of step = true) is referenced only in the first step, - // whereas property 1 (lock at the end of step = false) is referenced in both steps. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock DoNotLockAtEndOfStep = o1.GameObject.AddComponent(); - - ISceneObject o2 = TestingUtils.CreateSceneObject("o2"); - LockablePropertyMock lockAtEndOfStep = o2.GameObject.AddComponent(); - - LockableReferencingConditionMock doNotLockAtEndOfStepCondition = new LockableReferencingConditionMock(); - doNotLockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - doNotLockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(DoNotLockAtEndOfStep, false) }; - - LockableReferencingConditionMock lockAtEndOfStepCondition = new LockableReferencingConditionMock(); - lockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o2.Guid); - lockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(lockAtEndOfStep, true) }; - - Step step2 = new BasicStepBuilder("step2").AddCondition(doNotLockAtEndOfStepCondition).Build(); - Step step = new BasicStepBuilder("step") - .AddCondition(doNotLockAtEndOfStepCondition) - .AddCondition(lockAtEndOfStepCondition) - .Build(); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine in the first step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - // Then property 2 is locked in the end of the first step. - Assert.IsTrue(lockAtEndOfStep.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator SecondTransitionIsLocked() - { - // Given a step with two different transitions, - // each of them having an own condition with a lockable property which should not be locked at the end of a step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - ISceneObject o2 = TestingUtils.CreateSceneObject("o2"); - LockablePropertyMock property2 = o2.GameObject.AddComponent(); - - LockableReferencingConditionMock doNotLockAtEndOfStepCondition1 = new LockableReferencingConditionMock(); - doNotLockAtEndOfStepCondition1.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - doNotLockAtEndOfStepCondition1.LockableProperties = new[] { new LockablePropertyData(property, false) }; - - LockableReferencingConditionMock doNotLockAtEndOfStepCondition2 = new LockableReferencingConditionMock(); - doNotLockAtEndOfStepCondition2.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o2.Guid); - doNotLockAtEndOfStepCondition2.LockableProperties = new[] { new LockablePropertyData(property2, false) }; - - Step step2 = new BasicStepBuilder("step2").AddCondition(doNotLockAtEndOfStepCondition1).Build(); - - Step step = new BasicStepBuilder("step").AddCondition(doNotLockAtEndOfStepCondition1).Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - step.Data.Transitions.Data.Transitions.Add(new Transition()); - step.Data.Transitions.Data.Transitions[1].Data.Conditions.Add(doNotLockAtEndOfStepCondition2); - - // When completing only the first transition. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - // Then the lockable property of the second transition is locked, - // even though lock at the end of step is set to false. - Assert.IsTrue(property2.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator UnlockedAfterManualUnlockStarted() - { - // Given a scene object with a lockable property which is not referenced by any condition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - EndlessConditionMock condition = new EndlessConditionMock(); - - Step step2 = new BasicStepBuilder("step").AddCondition(new EndlessConditionMock()).Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition).Build(); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - property.SetLocked(true); - - // When we include the property into the manualUnlocked list of the UnlockPropertiesForStepData method. - LockHandling.Unlock(step.Data, new List { new LockablePropertyData(property) }); - - // Then the property is not locked. - Assert.IsFalse(property.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator OtherPropertyNotUnlockedAfterManualUnlockStarted() - { - // Given a scene object with two independent lockable properties which are not referenced by any condition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - LockablePropertyMock property2 = o1.GameObject.AddComponent(); - - EndlessConditionMock condition = new EndlessConditionMock(); - - Step step2 = new BasicStepBuilder("step").AddCondition(new EndlessConditionMock()).Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition).Build(); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - property.SetLocked(true); - property2.SetLocked(true); - - // When we manually unlock one property. - LockHandling.Unlock(step.Data, new List { new LockablePropertyData(property) }); - - // Then the other stays is locked. - Assert.IsTrue(property2.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator LockedAfterManualUnlockFinished() - { - // Given a scene object with a lockable property which is not referenced by any condition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - EndlessConditionMock condition = new EndlessConditionMock(); - - Step step2 = new BasicStepBuilder("step").AddCondition(new EndlessConditionMock()).Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition).Build(); - - property.SetLocked(true); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When we manually unlock the property for one step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List { new LockablePropertyData(property) }); - - // Then it is locked again after the step was completed. - Assert.IsTrue(property.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator OtherPropertyLockedAfterManualUnlockFinished() - { - // Given a scene object with two independent lockable properties which are not referenced by any condition. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - LockablePropertyMock property2 = o1.GameObject.AddComponent(); - - EndlessConditionMock condition = new EndlessConditionMock(); - - Step step2 = new BasicStepBuilder("step").AddCondition(new EndlessConditionMock()).Build(); - Step step = new BasicStepBuilder("step").AddCondition(condition).Build(); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - property.SetLocked(true); - property2.SetLocked(true); - - // When we manually unlock one property for one step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List { new LockablePropertyData(property) }); - - // Then the other property stays locked after the step was completed. - Assert.IsTrue(property2.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator DependencyGetsUnlocked() - { - // Given a scene object with one lockable property with dependency. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock dependency = o1.GameObject.AddComponent(); - LockablePropertyMockWithDependency propertyWithDependency = o1.GameObject.AddComponent(); - - Step step2 = new BasicStepBuilder("step").Build(); - Step step = new BasicStepBuilder("step").AddCondition(new EndlessConditionMock()).Build(); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - dependency.SetLocked(true); - propertyWithDependency.SetLocked(true); - - // When we manually unlock the property for one step. - LockHandling.Unlock(step.Data, new List { new LockablePropertyData(propertyWithDependency) }); - - // Then the dependent property is also unlocked. - Assert.IsFalse(dependency.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator DependencyGetsLocked() - { - // Given a scene object with one lockable property with dependency. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock dependency = o1.GameObject.AddComponent(); - LockablePropertyMockWithDependency propertyWithDependency = o1.GameObject.AddComponent(); - - Step step2 = new BasicStepBuilder("step").Build(); - Step step = new BasicStepBuilder("step").AddCondition(new EndlessConditionMock()).Build(); - - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - dependency.SetLocked(true); - propertyWithDependency.SetLocked(true); - - // When we manually unlock the property for one step. - LockHandling.Unlock(step.Data, new List { new LockablePropertyData(propertyWithDependency) }); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List { new LockablePropertyData(propertyWithDependency) }); - - // Then after the step the dependent property is also locked again. - Assert.IsTrue(dependency.IsLocked); - - yield return null; - } - - [UnityTest] - public IEnumerator ObjectInConditionIsInAutoUnlockList() - { - // Given a step with a condition with a LockableProperty - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock lockableProperty = o1.GameObject.AddComponent(); - LockableReferencingConditionMock lockCondition = new LockableReferencingConditionMock(); - lockCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - Step step = new BasicStepBuilder("step").AddCondition(lockCondition).Build(); - - // When we create a collection referencing this step - LockableObjectsCollection collection = new LockableObjectsCollection(step.Data); - - // Then the lockable property is in the AutoUnlockList of the collection - Assert.IsTrue(collection.IsInAutoUnlockList(lockableProperty)); - - yield return null; - } - - [UnityTest] - public IEnumerator ObjectInConditionIsNotInManualUnlockList() - { - // Given a step with a condition with a LockableProperty - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - LockableReferencingConditionMock lockCondition = new LockableReferencingConditionMock(); - lockCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - Step step = new BasicStepBuilder("step").AddCondition(lockCondition).Build(); - - // When we create a collection referencing this step - LockableObjectsCollection collection = new LockableObjectsCollection(step.Data); - - // Then the lockable property is not in the Manual Unlock List of the collection - Assert.IsFalse(collection.IsInManualUnlockList(lockableProperty)); - - yield return null; - } - - [UnityTest] - public IEnumerator ManuallyAddedSceneObjectIsInManualUnlockList() - { - // Given a step with a condition with a LockableProperty and a collection referencing this step - Step step = new BasicStepBuilder("step").Build(); - LockableObjectsCollection collection = new LockableObjectsCollection(step.Data); - - // When we create a SceneObject with a lockable property - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - // ...and add the SceneObject and its property to the collection - collection.AddSceneObject(o1); - collection.Add(lockableProperty); - - // Then the lockable property is in the Manual Unlock List of the collection - Assert.IsTrue(collection.IsInManualUnlockList(lockableProperty)); - - yield return null; - } - - [UnityTest] - public IEnumerator ManuallyAddedSceneObjectIsNotInAutoUnlockList() - { - // Given a step with a condition with a LockableProperty and a collection referencing this step - Step step = new BasicStepBuilder("step").Build(); - LockableObjectsCollection collection = new LockableObjectsCollection(step.Data); - - // When we create a SceneObject with a lockable property - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - // ...and add the SceneObject and its property to the collection - collection.AddSceneObject(o1); - collection.Add(lockableProperty); - - // Then the lockable property is not in the Auto Unlock List of the collection - Assert.IsFalse(collection.IsInAutoUnlockList(lockableProperty)); - - yield return null; - } - - [UnityTest] - public IEnumerator RemovedSceneObjectIsNotInManualUnlockList() - { - // Given a step with a condition with a LockableProperty - Step step = new BasicStepBuilder("step").Build(); - // ...and a collection with a manually added SceneObject and an added lockable property - LockableObjectsCollection collection = new LockableObjectsCollection(step.Data); - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - collection.AddSceneObject(o1); - collection.Add(lockableProperty); - - // When we remove the SceneObject from the collection - collection.RemoveSceneObject(o1); - - // Then the lockable property is not in the Auto Unlock List of the collection - Assert.IsFalse(collection.IsInAutoUnlockList(lockableProperty)); - - yield return null; - } - - [UnityTest] - public IEnumerator RemovedPropertyIsNotInManualUnlockList() - { - // Given a step with a condition with a LockableProperty - Step step = new BasicStepBuilder("step").Build(); - // ...and a collection with a manually added SceneObject and an added lockable property - LockableObjectsCollection collection = new LockableObjectsCollection(step.Data); - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - collection.AddSceneObject(o1); - collection.Add(lockableProperty); - - // When we remove the property from the collection - collection.Remove(lockableProperty); - - // Then the lockable property is not in the Auto Unlock List of the collection - Assert.IsFalse(collection.IsInAutoUnlockList(lockableProperty)); - - yield return null; - } - - [UnityTest] - public IEnumerator PropertyDoesNotLockIfStillRequiredByOtherStep() - { - // Given two steps running at the same time which unlock the same property. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - LockableReferencingConditionMock lockCondition1 = new LockableReferencingConditionMock(); - lockCondition1.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - LockableReferencingConditionMock lockCondition2 = new LockableReferencingConditionMock(); - lockCondition2.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - Step step1 = new BasicStepBuilder("step1").AddCondition(lockCondition1).Build(); - Step step2 = new BasicStepBuilder("step2").AddCondition(lockCondition2).Build(); - step1.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - step2.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When one of the steps completes. - step1.LifeCycle.Activate(); - step2.LifeCycle.Activate(); - - yield return null; - bool allStepsActivated = false; - - while (allStepsActivated == false) - { - if (step1.LifeCycle.Stage != Stage.Active) - { - step1.Update(); - } - - if (step2.LifeCycle.Stage != Stage.Active) - { - step2.Update(); - } - - yield return null; - - allStepsActivated = step1.LifeCycle.Stage == Stage.Active && step2.LifeCycle.Stage == Stage.Active; - } - - step1.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - step1.LifeCycle.Deactivate(); - while (step1.LifeCycle.Stage != Stage.Inactive) - { - step1.Update(); - - yield return null; - } - - // Then the property stays unlocked. - Assert.IsFalse(lockableProperty.IsLocked); - } - - [UnityTest] - public IEnumerator PropertyLocksAfterNoMoreStepRequireItUnlocked() - { - // Given two steps running at the same time which unlock the same property. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockableProperty lockableProperty = o1.GameObject.AddComponent(); - LockableReferencingConditionMock lockCondition1 = new LockableReferencingConditionMock(); - lockCondition1.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - LockableReferencingConditionMock lockCondition2 = new LockableReferencingConditionMock(); - lockCondition2.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - Step step1 = new BasicStepBuilder("step1").AddCondition(lockCondition1).Build(); - Step step2 = new BasicStepBuilder("step2").AddCondition(lockCondition2).Build(); - step1.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - step2.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When both steps complete. - step1.LifeCycle.Activate(); - step2.LifeCycle.Activate(); - - yield return null; - bool allStepsActivated = false; - - while (allStepsActivated == false) - { - if (step1.LifeCycle.Stage != Stage.Active) - { - step1.Update(); - } - - if (step2.LifeCycle.Stage != Stage.Active) - { - step2.Update(); - } - - yield return null; - - allStepsActivated = step1.LifeCycle.Stage == Stage.Active && step2.LifeCycle.Stage == Stage.Active; - } - - step1.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - step1.LifeCycle.Deactivate(); - - step2.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - step2.LifeCycle.Deactivate(); - - bool allStepsDeactivated = false; - - while (allStepsDeactivated == false) - { - if (step1.LifeCycle.Stage != Stage.Inactive) - { - step1.Update(); - } - - if (step2.LifeCycle.Stage != Stage.Inactive) - { - step2.Update(); - } - - yield return null; - - allStepsDeactivated = step1.LifeCycle.Stage == Stage.Inactive && step2.LifeCycle.Stage == Stage.Inactive; - } - - // Then the property is locked. - Assert.IsTrue(lockableProperty.IsLocked); - } - - [UnityTest] - public IEnumerator KeepUnlockedAtEndPropertyCanStillBeLocked() - { - // Given a transition with a condition referencing a scene object with a lockable property - // that should not be locked in the end of a step. - ISceneObject o1 = TestingUtils.CreateSceneObject("o1"); - LockablePropertyMock property = o1.GameObject.AddComponent(); - - LockableReferencingConditionMock doNotLockAtEndOfStepCondition = new LockableReferencingConditionMock(); - doNotLockAtEndOfStepCondition.Data.SingleLockablePropertyMock = new SingleScenePropertyReference(o1.Guid); - doNotLockAtEndOfStepCondition.LockableProperties = new[] { new LockablePropertyData(property, false) }; - - Step step2 = new BasicStepBuilder("step2").Build(); - - Step step = new BasicStepBuilder("step").AddCondition(doNotLockAtEndOfStepCondition).Build(); - step.Data.Transitions.Data.Transitions[0].Data.TargetStep = step2; - - // When executing the locking routine and completing the step. - LockHandling.Unlock(step.Data, new List()); - step.Data.Transitions.Data.Transitions.First().Autocomplete(); - step.Data.Transitions.Data.Transitions.First().Data.IsCompleted = true; - LockHandling.Lock(step.Data, new List()); - - // When we subsequently request to lock the property. - property.RequestLocked(true); - - // Then the property can still be locked. - Assert.IsTrue(property.IsLocked); - - yield return null; - } - } -} diff --git a/Tests/Core/PlayMode/Locking/LockingTests.cs.meta b/Tests/Core/PlayMode/Locking/LockingTests.cs.meta deleted file mode 100644 index da4d08ef7..000000000 --- a/Tests/Core/PlayMode/Locking/LockingTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 278bf7f070e5fce4baae2bc116f27c70 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes.meta b/Tests/Core/PlayMode/Processes.meta deleted file mode 100644 index 5aa8b994a..000000000 --- a/Tests/Core/PlayMode/Processes.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 0740e3a862de41df89830a58950babfd -timeCreated: 1583320170 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Processes/BaseProcessTests.cs b/Tests/Core/PlayMode/Processes/BaseProcessTests.cs deleted file mode 100644 index 825f3d2d0..000000000 --- a/Tests/Core/PlayMode/Processes/BaseProcessTests.cs +++ /dev/null @@ -1,181 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Collections; -using System.Collections.Generic; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Processes -{ - public class BaseProcessTests : RuntimeTests - { - [Test] - public void CanBeSetup() - { - Chapter chapter1 = TestLinearChapterBuilder.SetupChapterBuilder(3, false).Build(); - Chapter chapter2 = TestLinearChapterBuilder.SetupChapterBuilder().Build(); - Process process = new Process("MyProcess", new List - { - chapter1, - chapter2 - }); - - Assert.AreEqual(chapter1, process.Data.FirstChapter); - } - - [UnityTest] - public IEnumerator OneChapterProcess() - { - Chapter chapter1 = TestLinearChapterBuilder.SetupChapterBuilder(3, false).Build(); - Process process = new Process("MyProcess", chapter1); - - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - - Debug.Log(chapter1.LifeCycle.Stage); - yield return null; - - Assert.AreEqual(Stage.Activating, chapter1.LifeCycle.Stage); - - while (chapter1.LifeCycle.Stage != Stage.Inactive) - { - Debug.Log(chapter1.LifeCycle.Stage); - yield return null; - } - - Assert.AreEqual(Stage.Inactive, chapter1.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator TwoChapterProcess() - { - Chapter chapter1 = TestLinearChapterBuilder.SetupChapterBuilder(3, false).Build(); - Chapter chapter2 = TestLinearChapterBuilder.SetupChapterBuilder().Build(); - Process process = new Process("MyProcess", new List - { - chapter1, - chapter2 - }); - - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - - yield return new WaitUntil(() => chapter1.LifeCycle.Stage == Stage.Activating); - - Assert.AreEqual(Stage.Inactive, chapter2.LifeCycle.Stage); - - yield return new WaitUntil(() => chapter2.LifeCycle.Stage == Stage.Activating); - - Assert.AreEqual(Stage.Inactive, chapter1.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, chapter2.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator EventsAreThrown() - { - Chapter chapter1 = TestLinearChapterBuilder.SetupChapterBuilder(3, false).Build(); - Chapter chapter2 = TestLinearChapterBuilder.SetupChapterBuilder(3, false).Build(); - Process process = new Process("MyProcess", new List - { - chapter1, - chapter2 - }); - - bool wasStarted = false; - bool wasCompleted = false; - - process.LifeCycle.StageChanged += (obj, args) => - { - if (args.Stage == Stage.Activating) - { - wasStarted = true; - } - else if (args.Stage == Stage.Active) - { - wasCompleted = true; - } - }; - - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - - while (process.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - } - - Assert.IsTrue(wasStarted); - Assert.IsTrue(wasCompleted); - } - - [UnityTest] - public IEnumerator FastForwardInactiveProcess() - { - // Given a process - Process process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock()))) - .Build(); - - process.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When you mark it to fast-forward, - process.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it weren't activated yet. - Assert.AreEqual(Stage.Inactive, process.LifeCycle.Stage); - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveProcessAndActivateIt() - { - // Given a process - Process process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock()))) - .Build(); - - // When you mark it to fast-forward and activate it, - process.LifeCycle.MarkToFastForward(); - - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - - yield return null; - - // Then it autocompletes. - Assert.AreEqual(Stage.Inactive, process.LifeCycle.Stage); - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingProcess() - { - // Given an activated process - Process process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock()))) - .Build(); - - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - - // When you mark it to fast-forward, - process.LifeCycle.MarkToFastForward(); - - // Then it finishes activation. - Assert.AreEqual(Stage.Active, process.LifeCycle.Stage); - yield break; - } - } -} diff --git a/Tests/Core/PlayMode/Processes/BaseProcessTests.cs.meta b/Tests/Core/PlayMode/Processes/BaseProcessTests.cs.meta deleted file mode 100644 index d808f8e3d..000000000 --- a/Tests/Core/PlayMode/Processes/BaseProcessTests.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 223cf45119bae4c46be0fecd5214f76e -timeCreated: 1528466476 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes/ChapterTests.cs b/Tests/Core/PlayMode/Processes/ChapterTests.cs deleted file mode 100644 index 828ceda17..000000000 --- a/Tests/Core/PlayMode/Processes/ChapterTests.cs +++ /dev/null @@ -1,550 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System; -using System.Collections; -using System.Linq; -using NUnit.Framework; -using UnityEngine.TestTools; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Exceptions; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Processes -{ - public class ChapterTests : RuntimeTests - { - [Test] - public void SetupTest() - { - Chapter chapter = TestLinearChapterBuilder.SetupChapterBuilder().Build(); - // Name should be added to the Chapter - Assert.AreEqual("Chapter1", chapter.Data.Name); - // State is correct - Assert.AreEqual(chapter.LifeCycle.Stage, Stage.Inactive, "Chapter should not be active"); - // Assert that FirstStep is set - Assert.IsNotNull(chapter.Data.FirstStep, "FirstStep is not null."); - // Assert that CurrentStep is null - Assert.IsNull(chapter.Data.Current, "Current is null."); - } - - [Test] - public void FirstStepIsSet() - { - TestLinearChapterBuilder builder = TestLinearChapterBuilder.SetupChapterBuilder(); - - Chapter chapter = builder.Build(); - - Assert.IsNotNull(chapter.Data.FirstStep, "First step not set!"); - Assert.AreEqual(builder.Steps.First(), chapter.Data.FirstStep, "Wrong Step set as first!"); - } - - [Test] - public void DeactivateWhileNotActive() - { - // Setup Chapter - Chapter chapter = TestLinearChapterBuilder.SetupChapterBuilder().Build(); - - bool didNotFail = false; - bool isWrongException = false; - - // Expect to fail on calling Deactivate() before activating the Chapter. - try - { - chapter.LifeCycle.Deactivate(); - didNotFail = true; - } - catch (InvalidStateException) - { - // This is ok - } - catch (Exception) - { - isWrongException = true; - } - - // Check if exception was thrown. - Assert.IsFalse(didNotFail, "No Exception was raised!"); - Assert.IsFalse(isWrongException, "Wrong Exception was raised!"); - } - - [UnityTest] - public IEnumerator ActivationIsDone() - { - // Setup Chapter - Chapter chapter = TestLinearChapterBuilder.SetupChapterBuilder(1, false).Build(); - - // Activate should work on simple steps. - ProcessRunner.Initialize(new Process("Process", chapter)); - ProcessRunner.Run(); - - while (chapter.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - } - - // Chapter should be finished now. - Assert.AreEqual(Stage.Inactive, chapter.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FirstStepGetActivated() - { - // Setup Chapter - Chapter chapter = TestLinearChapterBuilder.SetupChapterBuilder(3, true).Build(); - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // Activate should work on simple steps. - chapter.LifeCycle.Activate(); - - while (chapter.Data.FirstStep.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - // First Step should be active now. - Assert.IsNotNull(chapter.Data.Current, "First step not set"); - Assert.AreEqual(chapter.Data.Current.LifeCycle.Stage, Stage.Active, "First Step of Chapter was not activated"); - } - - [UnityTest] - public IEnumerator MultiStepChapterCompletesSteps() - { - // Setup Chapter - TestLinearChapterBuilder builder = TestLinearChapterBuilder.SetupChapterBuilder(2, true); - Chapter chapter = builder.Build(); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // Activate should work on simple steps. - chapter.LifeCycle.Activate(); - - while (chapter.Data.FirstStep.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage chapterInitalStage = chapter.LifeCycle.Stage; - Stage step1InitialStage = builder.Steps[0].LifeCycle.Stage; - Stage step2InitialStage = builder.Steps[1].LifeCycle.Stage; - - builder.StepTriggerConditions[0].Autocomplete(); - - while (chapter.Data.Steps[1].LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage chapterStageAfterFirstComplete = chapter.LifeCycle.Stage; - Stage step1StageAfterFirstComplete = builder.Steps[0].LifeCycle.Stage; - Stage step2StageAfterFirstComplete = builder.Steps[1].LifeCycle.Stage; - - builder.StepTriggerConditions[1].Autocomplete(); - - while (chapter.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage chapterStageInEnd = chapter.LifeCycle.Stage; - Stage step1StageInEnd = builder.Steps[0].LifeCycle.Stage; - Stage step2StageInEnd = builder.Steps[1].LifeCycle.Stage; - - // check steps are activated and completed in correct order - Assert.AreEqual(Stage.Activating, chapterInitalStage, "Chapter should be active in the beginning"); - Assert.AreEqual(Stage.Active, step1InitialStage, "First Step should be active in the beginning"); - Assert.AreEqual(Stage.Inactive, step2InitialStage, "Second Step should not be active in the beginning"); - - Assert.AreEqual(Stage.Activating, chapterStageAfterFirstComplete, "Chapter should be active after first complete"); - Assert.AreEqual(Stage.Inactive, step1StageAfterFirstComplete, "First Step should not be active after first complete"); - Assert.AreEqual(Stage.Active, step2StageAfterFirstComplete, "Second Step should be active after first complete"); - - Assert.AreEqual(Stage.Active, chapterStageInEnd, "Chapter should still be active, as nothing deactivated it."); - Assert.AreEqual(Stage.Inactive, step1StageInEnd, "First Step should not be active in the end"); - Assert.AreEqual(Stage.Inactive, step2StageInEnd, "Second Step should not be active in the end"); - } - - [UnityTest] - public IEnumerator LoopingStepsActivationStates() - { - // Given a chapter with two steps that have transitions with one condition to each other (a "loop"), - Step step1 = new Step("First"); - Step step2 = new Step("Second"); - - Chapter chapter = new Chapter("Looping Chapter", step1); - chapter.Data.Steps.Add(step2); - - Transition transition1 = new Transition(); - Transition transition2 = new Transition(); - transition1.Data.TargetStep = step2; - transition2.Data.TargetStep = step1; - - EndlessConditionMock condition1 = new EndlessConditionMock(); - EndlessConditionMock condition2 = new EndlessConditionMock(); - transition1.Data.Conditions.Add(condition1); - transition2.Data.Conditions.Add(condition2); - - step1.Data.Transitions.Data.Transitions.Add(transition1); - step2.Data.Transitions.Data.Transitions.Add(transition2); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the chapter and complete every condition, - chapter.LifeCycle.Activate(); - - while (chapter.Data.FirstStep.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage chapterInitalStage = chapter.LifeCycle.Stage; - Stage step1InitialStage = step1.LifeCycle.Stage; - Stage step2InitialStage = step2.LifeCycle.Stage; - - condition1.Autocomplete(); - - while (step2.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage chapterStageAfterFirstComplete = chapter.LifeCycle.Stage; - Stage step1StageAfterFirstComplete = step1.LifeCycle.Stage; - Stage step2StageAfterFirstComplete = step2.LifeCycle.Stage; - - condition2.Autocomplete(); - - while (step1.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage chapterStageAfterSecondComplete = chapter.LifeCycle.Stage; - Stage step1StageAfterSecondComplete = step1.LifeCycle.Stage; - Stage step2StageAfterSecondComplete = step2.LifeCycle.Stage; - - // Then the first step is active again and every ActivationState after each condition completion has been correct. - Assert.AreEqual(Stage.Activating, chapterInitalStage, "Chapter should be activating in the beginning"); - Assert.AreEqual(Stage.Active, step1InitialStage, "First Step should be active in the beginning"); - Assert.AreEqual(Stage.Inactive, step2InitialStage, "Second Step should be inactive in the beginning"); - - Assert.AreEqual(Stage.Activating, chapterStageAfterFirstComplete, "Chapter should be activating after first complete"); - Assert.AreEqual(Stage.Inactive, step1StageAfterFirstComplete, "First Step should be deactivated after first complete"); - Assert.AreEqual(Stage.Active, step2StageAfterFirstComplete, "Second Step should be active after first complete"); - - Assert.AreEqual(Stage.Activating, chapterStageAfterSecondComplete, "Chapter should not be activating after second complete because of the loop"); - Assert.AreEqual(Stage.Active, step1StageAfterSecondComplete, "First Step should be active after second complete because of the loop"); - Assert.AreEqual(Stage.Inactive, step2StageAfterSecondComplete, "Second Step should be deactivated after second complete because of the loop"); - - yield break; - } - - [UnityTest] - public IEnumerator LoopingStepsWithOneEndStep() - { - // Given a chapter with three steps - // where the first two steps are connected to each other with two transitions with each one condition ("loop") - // and the second step is connected to the third step with a third transition with one condition, - Step step1 = new Step("First"); - Step step2 = new Step("Second"); - Step step3 = new Step("Third"); - - Chapter chapter = new Chapter("Chapter 1", step1); - chapter.Data.Steps.Add(step2); - chapter.Data.Steps.Add(step3); - - Transition transition1 = new Transition(); - Transition transition2 = new Transition(); - Transition transition3 = new Transition(); - Transition transitionToEnd = new Transition(); - transition1.Data.TargetStep = step2; - transition2.Data.TargetStep = step1; - transition3.Data.TargetStep = step3; - - EndlessConditionMock condition1 = new EndlessConditionMock(); - EndlessConditionMock condition2 = new EndlessConditionMock(); - EndlessConditionMock condition3 = new EndlessConditionMock(); - transition1.Data.Conditions.Add(condition1); - transition2.Data.Conditions.Add(condition2); - transition3.Data.Conditions.Add(condition3); - - step1.Data.Transitions.Data.Transitions.Add(transition1); - step2.Data.Transitions.Data.Transitions.Add(transition2); - step2.Data.Transitions.Data.Transitions.Add(transition3); - step3.Data.Transitions.Data.Transitions.Add(transitionToEnd); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the chapter and complete the third condition after looping the first two steps once, - chapter.LifeCycle.Activate(); - - while (chapter.Data.FirstStep.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - condition1.Autocomplete(); - - while (step2.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - condition2.Autocomplete(); - - while (step1.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - condition1.Autocomplete(); - - while (step2.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - condition3.Autocomplete(); - - while (chapter.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - // Then the chapter and each step are deactivated. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage, "Chapter should be active in the end"); - Assert.AreEqual(Stage.Inactive, step1.LifeCycle.Stage, "Step1 should not be active in the end"); - Assert.AreEqual(Stage.Inactive, step2.LifeCycle.Stage, "Step2 should not be active in the end"); - Assert.AreEqual(Stage.Inactive, step3.LifeCycle.Stage, "Step3 should not be active in the end"); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveChapter() - { - // Given a chapter, - Chapter chapter = new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock())) - .Build(); - - // When it's marked to be fast-forwarded, - chapter.LifeCycle.MarkToFastForward(); - - yield return null; - chapter.Update(); - - // Then it doesn't start its activation on its own. - Assert.AreEqual(Stage.Inactive, chapter.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardInactiveChapterAndThenActivate() - { - // Given a chapter, - Chapter chapter = new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock())) - .Build(); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When it's marked to be fast-forwarded, - chapter.LifeCycle.MarkToFastForward(); - chapter.LifeCycle.Activate(); - - // Then it's activated. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActiveChapter() - { - // Given an activated chapter, - Chapter chapter = new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new EndlessConditionMock())) - .Build(); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - chapter.LifeCycle.Activate(); - - // When it's marked to be fast-forwarded, - chapter.LifeCycle.MarkToFastForward(); - - yield return null; - chapter.Update(); - - // Then it's activated. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardBranchingChapter() - { - // Given a chapter with a step branching to three transitions, - Step branchingStep = new Step("Branching Step"); - Chapter chapter = new Chapter("Chapter", branchingStep); - Transition firstTransition = new Transition(); - Transition secondTransition = new Transition(); - Transition thirdTransition = new Transition(); - EndlessConditionMock firstConditionMock = new EndlessConditionMock(); - EndlessConditionMock secondConditionMock = new EndlessConditionMock(); - EndlessConditionMock thirdConditionMock = new EndlessConditionMock(); - firstTransition.Data.Conditions.Add(firstConditionMock); - secondTransition.Data.Conditions.Add(secondConditionMock); - thirdTransition.Data.Conditions.Add(thirdConditionMock); - branchingStep.Data.Transitions.Data.Transitions.Add(firstTransition); - branchingStep.Data.Transitions.Data.Transitions.Add(secondTransition); - branchingStep.Data.Transitions.Data.Transitions.Add(thirdTransition); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - chapter.LifeCycle.Activate(); - - yield return null; - chapter.Update(); - - // When it's marked to be fast-forwarded, - chapter.LifeCycle.MarkToFastForward(); - - // Then only the first transition completes. - Assert.IsTrue(firstTransition.IsCompleted); - Assert.IsFalse(secondTransition.IsCompleted); - Assert.IsFalse(thirdTransition.IsCompleted); - } - - [UnityTest] - public IEnumerator FastForwardLoopingChapter() - { - // Given a chapter with a looping step, - Step loopingStep = new Step("Looping Step"); - Chapter chapter = new Chapter("Chapter", loopingStep); - Transition loopingTransition = new Transition(); - loopingTransition.Data.TargetStep = loopingStep; - Transition endTransition = new Transition(); - EndlessConditionMock conditionMock = new EndlessConditionMock(); - endTransition.Data.Conditions.Add(conditionMock); - loopingStep.Data.Transitions.Data.Transitions.Add(loopingTransition); - loopingStep.Data.Transitions.Data.Transitions.Add(endTransition); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - chapter.LifeCycle.Activate(); - - int loops = 0; - while (loops < 2) - { - while (loopingStep.LifeCycle.Stage != Stage.Active) - { - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - yield return null; - chapter.Update(); - } - - - while (loopingStep.LifeCycle.Stage != Stage.Inactive) - { - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - yield return null; - chapter.Update(); - } - - loops++; - } - - // When it's marked to be fast-forwarded, - chapter.LifeCycle.MarkToFastForward(); - - // Then it completes. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, loopingStep.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardTwoStepsLoopingChapter() - { - // Given a chapter with two steps looping between each other, - Step firstStep = new Step("First Step"); - Step secondStep = new Step("Second Step"); - Chapter chapter = new Chapter("Chapter", firstStep); - chapter.Data.Steps.Add(secondStep); - Transition firstToSecond = new Transition(); - firstToSecond.Data.TargetStep = secondStep; - Transition secondToFirst = new Transition(); - secondToFirst.Data.TargetStep = firstStep; - Transition secondToEnd = new Transition(); - EndlessConditionMock conditionMock = new EndlessConditionMock(); - secondToEnd.Data.Conditions.Add(conditionMock); - firstStep.Data.Transitions.Data.Transitions.Add(firstToSecond); - secondStep.Data.Transitions.Data.Transitions.Add(secondToFirst); - secondStep.Data.Transitions.Data.Transitions.Add(secondToEnd); - - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - chapter.LifeCycle.Activate(); - - int loops = 0; - while (loops < 2) - { - while (firstStep.LifeCycle.Stage != Stage.Active) - { - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, secondStep.LifeCycle.Stage); - yield return null; - chapter.Update(); - } - - - while (firstStep.LifeCycle.Stage != Stage.Inactive) - { - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, secondStep.LifeCycle.Stage); - yield return null; - chapter.Update(); - } - - while (secondStep.LifeCycle.Stage != Stage.Active) - { - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, firstStep.LifeCycle.Stage); - yield return null; - chapter.Update(); - } - - while (secondStep.LifeCycle.Stage != Stage.Inactive) - { - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, firstStep.LifeCycle.Stage); - yield return null; - chapter.Update(); - } - - loops++; - } - - // When it's marked to be fast-forwarded, - chapter.LifeCycle.MarkToFastForward(); - - // Then it completes. - Assert.AreEqual(Stage.Active, chapter.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, firstStep.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, secondStep.LifeCycle.Stage); - } - } -} diff --git a/Tests/Core/PlayMode/Processes/ChapterTests.cs.meta b/Tests/Core/PlayMode/Processes/ChapterTests.cs.meta deleted file mode 100644 index b9e2b30b6..000000000 --- a/Tests/Core/PlayMode/Processes/ChapterTests.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: f1064b5675ce5a54782b7c9776764ff8 -timeCreated: 1526999100 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes/LifeCycleTests.cs b/Tests/Core/PlayMode/Processes/LifeCycleTests.cs deleted file mode 100644 index b3281dabd..000000000 --- a/Tests/Core/PlayMode/Processes/LifeCycleTests.cs +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using NUnit.Framework; -using System.Collections; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.Exceptions; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Processes -{ - public class LifeCycleTests : RuntimeTests - { - private class TestEntity : Entity - { - public class EntityData : IData, IModeData - { - public Metadata Metadata { get; set; } - - public bool IsUpdateFinished { get; set; } - public bool IsFastForwarded { get; set; } - public bool IsEndCalled { get; set; } - public IMode Mode { get; set; } - } - - private class ActiveProcess : StageProcess - { - public ActiveProcess(EntityData data) : base(data) - { - } - - public override void Start() - { - Data.IsUpdateFinished = false; - Data.IsFastForwarded = false; - } - - public override IEnumerator Update() - { - Data.IsUpdateFinished = true; - yield break; - } - - public override void End() - { - Data.IsEndCalled = true; - } - - public override void FastForward() - { - Data.IsFastForwarded = true; - } - } - - public override IStageProcess GetActiveProcess() - { - return new ActiveProcess(Data); - } - } - - [UnityTest] - public IEnumerator EntityIsAborted() - { - // Given a running entity, - IEntity entity = new EndlessBehaviorMock(); - - entity.LifeCycle.Activate(); - - Assert.AreEqual(Stage.Activating, entity.LifeCycle.Stage); - - // When it is aborted, - entity.LifeCycle.Abort(); - - // Then it goes back to inactive. - Assert.AreEqual(Stage.Aborting, entity.LifeCycle.Stage); - - entity.LifeCycle.Update(); - yield return null; - - Assert.AreEqual(Stage.Inactive, entity.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator FastForwardNextStage() - { - // Given an entity, - IEntity entity = new EndlessBehaviorMock(); - - entity.LifeCycle.Activate(); - - Assert.AreEqual(Stage.Activating, entity.LifeCycle.Stage); - - // When you fast-forward its next stage, - entity.LifeCycle.MarkToFastForwardStage(Stage.Active); - - // Then the current stage is not fast-forwarded. - Assert.AreEqual(Stage.Activating, entity.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardCompletedProcess() - { - // Given an entity in an active stage with exhausted process, - TestEntity entity = new TestEntity(); - entity.LifeCycle.Activate(); - entity.Update(); - Assert.AreEqual(Stage.Active, entity.LifeCycle.Stage); - - int endlessLoopProtection = 0; - - while (entity.Data.IsUpdateFinished == false && endlessLoopProtection < 30) - { - entity.LifeCycle.Update(); - } - - Assert.IsTrue(endlessLoopProtection < 30); - Assert.IsTrue(entity.Data.IsEndCalled); - Assert.IsFalse(entity.Data.IsFastForwarded); - Assert.AreEqual(Stage.Active, entity.LifeCycle.Stage); - - // When we fast-forward it, - entity.LifeCycle.MarkToFastForwardStage(Stage.Active); - - // Nothing happens. - Assert.IsFalse(entity.Data.IsFastForwarded); - - yield break; - } - - [UnityTest] - public IEnumerator StepContinuesIfChildAborted() - { - // Given a step with a behavior, - IBehavior behavior = new EndlessBehaviorMock(); - BasicStepBuilder stepBuilder = new BasicStepBuilder("TestStep") - .AddBehavior(behavior); - - Step step = stepBuilder.Build(); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - step.LifeCycle.Activate(); - - while (behavior.LifeCycle.Stage != Stage.Activating) - { - yield return null; - step.Update(); - } - - // If the behavior is aborted, - behavior.LifeCycle.Abort(); - - while (behavior.LifeCycle.Stage == Stage.Aborting) - { - yield return null; - step.Update(); - } - - // Then the step continues execution. - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, step.LifeCycle.Stage); - - yield return null; - step.Update(); - yield return null; - step.Update(); - yield return null; - step.Update(); - yield return null; - step.Update(); - yield return null; - step.Update(); - - Assert.AreEqual(Stage.Active, step.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator NoChangeInChapterIfCurrentStepIsAborted() - { - // Given a chapter, - LinearChapterBuilder chapterBuilder = new LinearChapterBuilder("TestChapter") - .AddStep(new BasicStepBuilder("1") - .AddBehavior(new EndlessBehaviorMock())) - .AddStep(new BasicStepBuilder("2") - .AddBehavior(new EndlessBehaviorMock())); - - IChapter chapter = chapterBuilder.Build(); - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - chapter.LifeCycle.Activate(); - - yield return null; - chapter.Update(); - - Assert.AreEqual("1", chapter.Data.Current.Data.Name); - Assert.AreEqual(Stage.Activating, chapter.Data.Current.LifeCycle.Stage); - - // If the current step is aborted, - chapter.Data.Current.LifeCycle.Abort(); - - while (chapter.Data.Current.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - chapter.Update(); - } - - // Then nothing changes in the state of the chapter. - Assert.AreEqual(Stage.Activating, chapter.LifeCycle.Stage); - Assert.AreEqual("1", chapter.Data.Current.Data.Name); - } - - [UnityTest] - public IEnumerator ProcessMovesToNextChapterIfChapterIsAborted() - { - // Given a process, - IProcess process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("C1") - .AddStep(new BasicStepBuilder("1").AddBehavior(new EndlessBehaviorMock()))) - .AddChapter(new LinearChapterBuilder("C2") - .AddStep(new BasicStepBuilder("2").AddBehavior(new EndlessBehaviorMock()))) - .Build(); - process.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - process.LifeCycle.Activate(); - - yield return null; - process.Update(); - - Assert.AreEqual(Stage.Activating, process.Data.Current.LifeCycle.Stage); - - // If a chapter is aborted, - process.Data.Current.LifeCycle.Abort(); - - while (process.Data.Current.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - process.Update(); - } - - yield return null; - process.Update(); - - // Then the process moves to the next chapter. - Assert.AreEqual("C2", process.Data.Current.Data.Name); - Assert.AreEqual(Stage.Activating, process.Data.Current.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator ExceptionThrownWhenAbortingInactiveEntity() - { - // Given an inactive entity, - IBehavior behavior = new EndlessBehaviorMock(); - - // When it is aborted, - TestDelegate abort = new TestDelegate(() => behavior.LifeCycle.Abort()); - - // An exception is thrown. - Assert.Throws(abort); - - yield return null; - } - - [UnityTest] - public IEnumerator ExceptionThrownWhenAbortingAbortingEntity() - { - // Given an aborting entity, - IBehavior behavior = new EndlessBehaviorMock(); - behavior.LifeCycle.Activate(); - - yield return null; - behavior.LifeCycle.Update(); - - Assert.AreEqual(Stage.Activating, behavior.LifeCycle.Stage); - - behavior.LifeCycle.Abort(); - - // When it is aborted, - TestDelegate abort = new TestDelegate(() => behavior.LifeCycle.Abort()); - - // An exception is thrown. - Assert.Throws(abort); - } - } -} diff --git a/Tests/Core/PlayMode/Processes/LifeCycleTests.cs.meta b/Tests/Core/PlayMode/Processes/LifeCycleTests.cs.meta deleted file mode 100644 index 6ddd6cdba..000000000 --- a/Tests/Core/PlayMode/Processes/LifeCycleTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 2d02d9de887d40bca9f47456f60a10d4 -timeCreated: 1575906805 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Processes/Modes.meta b/Tests/Core/PlayMode/Processes/Modes.meta deleted file mode 100644 index 2f352a25f..000000000 --- a/Tests/Core/PlayMode/Processes/Modes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 973a5a0f891538f4693fbd870928ec19 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs b/Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs deleted file mode 100644 index 0234b378f..000000000 --- a/Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Collections; -using System.Collections.Generic; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Utils -{ - public class ChangeModeDuringExecutionTests : RuntimeTests - { - private static AudioSource audioSource; - - [SetUp] - public override void SetUp() - { - // Setup the player and its audio source in here. - // AudioSource.playOnAwake is by default true. Thus audioSource.isPlaying is true during the first frame. - // The first frame is skipped after setup and audioSource.isPlaying is false as desired. - GameObject player = new GameObject("AudioPlayer"); - audioSource = player.AddComponent(); - - base.SetUp(); - } - - [UnityTest] - public IEnumerator ActivationBehavior() - { - // Given a linear three step process with 3 ActivationStageBehaviorMock set to Activation and an EndlessConditionMock - IBehavior behavior1 = new ActivationStageBehaviorMock(BehaviorExecutionStages.Activation); - IBehavior behavior2 = new ActivationStageBehaviorMock(BehaviorExecutionStages.Activation); - IBehavior behavior3 = new ActivationStageBehaviorMock(BehaviorExecutionStages.Activation); - - TestLinearChapterBuilder chapterBuilder = TestLinearChapterBuilder.SetupChapterBuilder(3, true); - chapterBuilder.Steps[0].Data.Behaviors.Data.Behaviors = new List { behavior1 }; - chapterBuilder.Steps[1].Data.Behaviors.Data.Behaviors = new List { behavior2 }; - chapterBuilder.Steps[2].Data.Behaviors.Data.Behaviors = new List { behavior3 }; - IChapter chapter = chapterBuilder.Build(); - - IProcess process = new Process("process", chapter); - - // And given a "restricted" and an "unrestricted" mode. - IMode restricted = new Mode("Restricted", new WhitelistTypeRule().Add()); - IMode unrestricted = new Mode("Unrestricted", new WhitelistTypeRule()); - - // When running it and changing the mode during execution several times, - // Then the corresponding ActivationStageBehaviorMock of the current step is activated and deactivated accordingly. - // The other ActivationStageBehaviorMock of the other steps stay inactive. - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - process.Configure(unrestricted); - - yield return new WaitUntil(() => behavior1.LifeCycle.Stage == Stage.Activating); - - Assert.AreEqual(Stage.Activating, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - process.Configure(restricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - ICondition condition1 = process.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions[0].Data.Conditions[0]; - yield return new WaitUntil(() => condition1.LifeCycle.Stage == Stage.Active); - - condition1.Autocomplete(); - - ICondition condition2 = process.Data.FirstChapter.Data.Steps[1].Data.Transitions.Data.Transitions[0].Data.Conditions[0]; - yield return new WaitUntil(() => condition2.LifeCycle.Stage == Stage.Active); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - process.Configure(unrestricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - condition2.Autocomplete(); - - ICondition condition3 = process.Data.FirstChapter.Data.Steps[2].Data.Transitions.Data.Transitions[0].Data.Conditions[0]; - yield return new WaitUntil(() => condition3.LifeCycle.Stage == Stage.Active); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior3.LifeCycle.Stage); - - process.Configure(restricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - process.Configure(unrestricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, behavior3.LifeCycle.Stage); - - condition3.Autocomplete(); - - yield return new WaitUntil(() => condition3.LifeCycle.Stage == Stage.Inactive); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior3.LifeCycle.Stage); - } - - [UnityTest] - public IEnumerator DeactivationBehavior() - { - // Given a linear three step process with 3 ActivationStageBehaviorMock set to Activation and an EndlessConditionMock - IBehavior behavior1 = new ActivationStageBehaviorMock(BehaviorExecutionStages.Deactivation); - IBehavior behavior2 = new ActivationStageBehaviorMock(BehaviorExecutionStages.Deactivation); - IBehavior behavior3 = new ActivationStageBehaviorMock(BehaviorExecutionStages.Deactivation); - - TestLinearChapterBuilder chapterBuilder = TestLinearChapterBuilder.SetupChapterBuilder(3, true); - chapterBuilder.Steps[0].Data.Behaviors.Data.Behaviors = new List { behavior1 }; - chapterBuilder.Steps[1].Data.Behaviors.Data.Behaviors = new List { behavior2 }; - chapterBuilder.Steps[2].Data.Behaviors.Data.Behaviors = new List { behavior3 }; - IChapter chapter = chapterBuilder.Build(); - - IProcess process = new Process("process", chapter); - - // And given a "restricted" and an "unrestricted" mode. - IMode restricted = new Mode("Restricted", new WhitelistTypeRule().Add()); - IMode unrestricted = new Mode("Unrestricted", new WhitelistTypeRule()); - - // When running it and changing the mode during execution several times, - // Then the corresponding ActivationStageBehaviorMock of the current step is activated and deactivated accordingly. - // The other ActivationStageBehaviorMock of the other steps stay inactive. - ProcessRunner.Initialize(process); - ProcessRunner.Run(); - process.Configure(unrestricted); - - ICondition condition1 = process.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions[0].Data.Conditions[0]; - yield return new WaitUntil(() => condition1.LifeCycle.Stage == Stage.Active); - - Assert.AreEqual(Stage.Active, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - process.Configure(restricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - condition1.Autocomplete(); - yield return null; - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - ICondition condition2 = process.Data.FirstChapter.Data.Steps[1].Data.Transitions.Data.Transitions[0].Data.Conditions[0]; - yield return new WaitUntil(() => condition2.LifeCycle.Stage == Stage.Active); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - process.Configure(unrestricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - condition2.Autocomplete(); - yield return null; - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - ICondition condition3 = process.Data.FirstChapter.Data.Steps[2].Data.Transitions.Data.Transitions[0].Data.Conditions[0]; - yield return new WaitUntil(() => condition3.LifeCycle.Stage == Stage.Active); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior3.LifeCycle.Stage); - - process.Configure(restricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - - process.Configure(unrestricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Activating, behavior3.LifeCycle.Stage); - - condition3.Autocomplete(); - yield return null; - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior3.LifeCycle.Stage); - - process.Configure(restricted); - - Assert.AreEqual(Stage.Inactive, behavior1.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior2.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior3.LifeCycle.Stage); - } - } -} diff --git a/Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs.meta b/Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs.meta deleted file mode 100644 index 1acc17c9c..000000000 --- a/Tests/Core/PlayMode/Processes/Modes/ChangeModeDuringExecutionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3321441db75699d42b75282235b2f204 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs b/Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs deleted file mode 100644 index d3042a152..000000000 --- a/Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Configuration.Modes; -using NUnit.Framework; - -namespace VRBuilder.Core.Tests.Utils -{ - public class ModeParameterTests - { - [Test] - public void IsModifiedIsFlagged() - { - // Given a bool parameter - ModeParameter parameter = new ModeParameter("p1", false); - - // When set to true - parameter.Value = true; - - // Then the parameter is set to modified - Assert.IsTrue(parameter.IsModified); - } - - [Test] - public void IsModifiedIsFalseOnReset() - { - // Given a bool parameter - ModeParameter parameter = new ModeParameter("p1", false); - parameter.Value = true; - - // When reset - parameter.Reset(); - - // Then is modified is false - Assert.IsFalse(parameter.IsModified); - } - - [Test] - public void DefaultValueIsSet() - { - // Given a parameter with specific default value - ModeParameter parameter = new ModeParameter("p1", 5); - - // Then the default value is set. - Assert.AreEqual(5, parameter.Value); - } - - [Test] - public void DefaultValueIsSetAfterReset() - { - // Given a changed parameter with default value - ModeParameter parameter = new ModeParameter("p1", 5); - parameter.Value = 3; - - // When reset - parameter.Reset(); - - // Then it is the default value again. - Assert.AreEqual(5, parameter.Value); - } - - [Test] - public void EventIsEmittedOnChange() - { - // Given a parameter with listener - ModeParameter parameter = new ModeParameter("p1", 5); - bool wasCalled = false; - parameter.ParameterModified += (sender, args) => { wasCalled = true; }; - - // When changed - parameter.Value = 3; - - // Then the event was called - Assert.IsTrue(wasCalled); - } - - [Test] - public void EventIsEmittedOnReset() - { - // Given a changed parameter with listener - ModeParameter parameter = new ModeParameter("p1", 5); - parameter.Value = 3; - - bool wasCalled = false; - parameter.ParameterModified += (sender, args) => { wasCalled = true; }; - - // When reset - parameter.Reset(); - - // Then event was called - Assert.IsTrue(wasCalled); - } - - [Test] - public void EventIsNotEmittedWhenDefaultValueIsSetOnReset() - { - // Given a changed parameter with listener - ModeParameter parameter = new ModeParameter("p1", 5); - parameter.Value = 5; - - bool wasCalled = false; - parameter.ParameterModified += (sender, args) => { wasCalled = true; }; - - // When reset - parameter.Reset(); - - // Then event was called - Assert.IsFalse(wasCalled); - } - } -} diff --git a/Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs.meta b/Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs.meta deleted file mode 100644 index e5d2d3220..000000000 --- a/Tests/Core/PlayMode/Processes/Modes/ModeParameterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 80baf18d39a5bce4284c38f7e75d2f28 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes/StepTests.cs b/Tests/Core/PlayMode/Processes/StepTests.cs deleted file mode 100644 index f25befab6..000000000 --- a/Tests/Core/PlayMode/Processes/StepTests.cs +++ /dev/null @@ -1,357 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System; -using System.Collections; -using NUnit.Framework; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Exceptions; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Processes -{ - public class StepTests : RuntimeTests - { - [UnityTest] - public IEnumerator StepIsSetup() - { - Step step = new Step("Step1"); - - // Name should be added to the chapter. - Assert.AreEqual("Step1", step.Data.Name); - - // State is correct - Assert.AreEqual(Stage.Inactive, step.LifeCycle.Stage, "Chapter should be inactive"); - - // Has transitions and behaviours - Assert.IsNotNull(step.Data.Behaviors, "Behaviors list should be initialized"); - Assert.IsNotNull(step.Data.Transitions.Data.Transitions, "Transitions list should be initialized"); - - yield return null; - } - - [UnityTest] - public IEnumerator DeactivateWhileNotActive() - { - Step step = new Step("Step1"); - - bool didNotFail = false; - bool isWrongException = false; - - // Expect to fail on calling Deactivate() before activating the Chapter. - try - { - step.LifeCycle.Deactivate(); - didNotFail = true; - } - catch (InvalidStateException) - { - // This is ok - } - catch (Exception) - { - isWrongException = true; - } - - Assert.IsFalse(didNotFail, "No Exception was raised!"); - Assert.IsFalse(isWrongException, "Wrong Exception was raised!"); - - yield return null; - } - - [UnityTest] - public IEnumerator EmptyStepRaisesEvents() - { - Step step = new Step("Step1"); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - bool wasActivated = false; - bool wasDeactivated = false; - - step.LifeCycle.StageChanged += (sender, args) => - { - if (args.Stage == Stage.Active) - { - wasActivated = true; - } - - if (args.Stage == Stage.Inactive) - { - wasDeactivated = true; - } - }; - - // Activate should work on simple steps. - step.LifeCycle.Activate(); - - while (step.LifeCycle.Stage != Stage.Active) - { - yield return null; - step.Update(); - } - - step.LifeCycle.Deactivate(); - - while (step.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - step.Update(); - } - - // Step should be completed, and have become activated and deactivated. - Assert.IsTrue(wasActivated, "Step was not activated"); - Assert.IsTrue(wasDeactivated, "Step was not deactivated"); - } - - [UnityTest] - public IEnumerator ActivateEventEmitted() - { - // Setup Step with event listener for checking states. - Step step = new Step("Step1"); - bool isActivated = false; - bool isActivationStarted = false; - - step.LifeCycle.StageChanged += (sender, args) => - { - if (args.Stage == Stage.Active) - { - isActivated = true; - } - - if (args.Stage == Stage.Activating) - { - isActivationStarted = true; - } - }; - - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // Activate should work on simple steps. - step.LifeCycle.Activate(); - - while (step.LifeCycle.Stage != Stage.Active) - { - yield return null; - step.Update(); - } - - Assert.IsTrue(isActivationStarted, "Step was not activated"); - Assert.IsTrue(isActivated, "Step was not set to active"); - } - - [UnityTest] - public IEnumerator StepWithCondition() - { - Step step = new Step("Step1"); - EndlessConditionMock conditionMock = new EndlessConditionMock(); - Transition transition = new Transition(); - transition.Data.Conditions.Add(conditionMock); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - step.LifeCycle.Activate(); - - while (step.LifeCycle.Stage != Stage.Active) - { - yield return null; - step.Update(); - } - - Stage stepInitialStage = step.LifeCycle.Stage; - Stage conditionInitialStage = conditionMock.LifeCycle.Stage; - bool conditionIsCompletedInitially = conditionMock.IsCompleted; - - conditionMock.Autocomplete(); - - bool conditionIsCompleted = conditionMock.IsCompleted; - - step.LifeCycle.Deactivate(); - - while (step.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - step.Update(); - } - - Stage stepStageInEnd = step.LifeCycle.Stage; - Stage conditionStageInEnd = conditionMock.LifeCycle.Stage; - bool conditionIsCompletedInEnd = conditionMock.IsCompleted; - - // Check states were correct - Assert.AreEqual(Stage.Active, stepInitialStage, "Step should be active initially"); - Assert.AreEqual(Stage.Active, conditionInitialStage, "Condition should be active initially"); - Assert.IsFalse(conditionIsCompletedInitially, "Condition should not completed initially"); - - Assert.IsTrue(conditionIsCompleted, "Condition should be completed now"); - - Assert.AreEqual(Stage.Inactive, stepStageInEnd, "Step should be inactive in the end"); - Assert.AreEqual(Stage.Inactive, conditionStageInEnd, "Condition should not be active in the end"); - Assert.IsTrue(conditionIsCompletedInEnd, "Condition should be completed in the end"); - - yield return null; - } - - [UnityTest] - public IEnumerator StepWithInitiallyCompletedConditionResetsCondition() - { - // Given a step with an already completed condition, - Step step = new Step("Step1"); - ICondition condition = new EndlessConditionMock(); - condition.Autocomplete(); - Transition transition = new Transition(); - transition.Data.Conditions.Add(condition); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When it is activated, - step.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - step.Update(); - } - - // Then the condition is reset to not completed. - Assert.IsFalse(condition.IsCompleted); - - yield return null; - } - - [UnityTest] - public IEnumerator ConditionsActivateOnlyAfterBehaviors() - { - Step step = new Step("Step1"); - EndlessConditionMock conditionMock = new EndlessConditionMock(); - EndlessBehaviorMock behaviorMock = new EndlessBehaviorMock(); - Transition transition = new Transition(); - transition.Data.Conditions.Add(conditionMock); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Data.Behaviors.Data.Behaviors.Add(behaviorMock); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - step.LifeCycle.Activate(); - - while (behaviorMock.LifeCycle.Stage != Stage.Activating) - { - Assert.AreEqual(Stage.Activating, step.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, conditionMock.LifeCycle.Stage); - yield return null; - step.Update(); - } - - behaviorMock.LifeCycle.MarkToFastForwardStage(Stage.Activating); - - while (conditionMock.LifeCycle.Stage != Stage.Active) - { - Assert.AreEqual(Stage.Activating, step.LifeCycle.Stage); - yield return null; - step.Update(); - } - } - - [UnityTest] - public IEnumerator ActivateTest() - { - // Setup Step with event listener for checking states. - Step step = new Step("Step1"); - EndlessConditionMock conditionMock = new EndlessConditionMock(); // add condition to prevent step from auto-completing on activation - - Transition transition = new Transition(); - transition.Data.Conditions.Add(conditionMock); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // Activate should work on simple steps. - step.LifeCycle.Activate(); - - while (step.LifeCycle.Stage != Stage.Active) - { - yield return null; - step.Update(); - } - - // Chapter should be active now. - Assert.AreEqual(Stage.Active, step.LifeCycle.Stage, "Step was not activated"); - } - - [UnityTest] - public IEnumerator FastForwardInactive() - { - // Given a step, - IBehavior behavior = new EndlessBehaviorMock(); - ICondition condition = new EndlessConditionMock(); - Transition transition = new Transition(); - IStep step = new Step("Step"); - transition.Data.Conditions.Add(condition); - step.Data.Behaviors.Data.Behaviors.Add(behavior); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When you fast-forward it, - step.LifeCycle.MarkToFastForward(); - - // Then it doesn't change it's activation state, as well as its contents. - Assert.AreEqual(Stage.Inactive, step.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Inactive, condition.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveAndActivate() - { - // Given a step, - IBehavior behavior = new EndlessBehaviorMock(); - ICondition condition = new EndlessConditionMock(); - Transition transition = new Transition(); - IStep step = new Step("Step"); - transition.Data.Conditions.Add(condition); - step.Data.Behaviors.Data.Behaviors.Add(behavior); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When you fast-forward and activate it, - step.LifeCycle.MarkToFastForward(); - step.LifeCycle.Activate(); - - // Then everything is completed. - Assert.AreEqual(Stage.Active, step.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActive() - { - // Given a step, - IBehavior behavior = new EndlessBehaviorMock(); - ICondition condition = new EndlessConditionMock(); - Transition transition = new Transition(); - IStep step = new Step("Step"); - transition.Data.Conditions.Add(condition); - step.Data.Behaviors.Data.Behaviors.Add(behavior); - step.Data.Transitions.Data.Transitions.Add(transition); - step.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - step.LifeCycle.Activate(); - - // When you fast-forward it, - step.LifeCycle.MarkToFastForward(); - - // Then everything is completed. - Assert.AreEqual(Stage.Active, step.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, behavior.LifeCycle.Stage); - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - - yield break; - } - } -} diff --git a/Tests/Core/PlayMode/Processes/StepTests.cs.meta b/Tests/Core/PlayMode/Processes/StepTests.cs.meta deleted file mode 100644 index 33d38f74b..000000000 --- a/Tests/Core/PlayMode/Processes/StepTests.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 9b6da73f5f3ca764ab17f9a3861c92fd -timeCreated: 1526999100 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Processes/TransitionTests.cs b/Tests/Core/PlayMode/Processes/TransitionTests.cs deleted file mode 100644 index 03c4253dd..000000000 --- a/Tests/Core/PlayMode/Processes/TransitionTests.cs +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Collections; -using UnityEngine.Assertions; -using UnityEngine.TestTools; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Processes -{ - public class TransitionTests : RuntimeTests - { - [UnityTest] - public IEnumerator SkipSingleConditionBeforeActivation() - { - // Given an inactive transition with a skipped condition, - Transition transition = new Transition(); - transition.Data.Conditions.Add(new OptionalEndlessConditionMock()); - - transition.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - // When the transition is activated, - transition.LifeCycle.Activate(); - - while (transition.IsCompleted == false) - { - yield return null; - transition.Update(); - } - - // Then it is immediately completed. - Assert.IsTrue(transition.IsCompleted); - - yield break; - } - - [UnityTest] - public IEnumerator SkipSingleConditionDuringActivation() - { - // Given an activating transition with a condition, - Transition transition = new Transition(); - transition.Data.Conditions.Add(new OptionalEndlessConditionMock()); - transition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - transition.LifeCycle.Activate(); - - while (transition.LifeCycle.Stage != Stage.Active) - { - yield return null; - transition.Update(); - } - - // When the condition is skipped, - transition.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - yield return null; - transition.Update(); - - // Then the transition immediately completes. - Assert.IsTrue(transition.IsCompleted); - - yield break; - } - - [UnityTest] - public IEnumerator SkipOneOfTheConditionsDuringActivation() - { - // Given an activating transition with a condition, - Transition transition = new Transition(); - transition.Data.Conditions.Add(new OptionalEndlessConditionMock()); - transition.Data.Conditions.Add(new EndlessConditionMock()); - transition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - transition.LifeCycle.Activate(); - - while (transition.LifeCycle.Stage != Stage.Active) - { - yield return null; - transition.Update(); - } - - // When the condition is skipped, - transition.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - yield return null; - transition.Update(); - - // Then the transition is not completed, as the second condition was never completed. - Assert.IsFalse(transition.IsCompleted); - - yield break; - } - - [UnityTest] - public IEnumerator InactiveConditionDoesntPreventCompletion() - { - EndlessConditionMock notOptional = new EndlessConditionMock(); - - // Given an activating transition with a condition, - Transition transition = new Transition(); - transition.Data.Conditions.Add(new OptionalEndlessConditionMock()); - transition.Data.Conditions.Add(notOptional); - transition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - transition.LifeCycle.Activate(); - - while (transition.LifeCycle.Stage != Stage.Active) - { - yield return null; - transition.Update(); - } - - // When the condition is skipped and the second condition is completed, - transition.Configure(new Mode("Test", new WhitelistTypeRule().Add())); - - notOptional.Autocomplete(); - - yield return null; - transition.Update(); - - // Then the transition is completed. - Assert.IsTrue(transition.IsCompleted); - - yield break; - } - - [UnityTest] - public IEnumerator MultiConditionTransitionFinishes() - { - // Given a transition with two conditions, - EndlessConditionMock condition1 = new EndlessConditionMock(); - EndlessConditionMock condition2 = new EndlessConditionMock(); - Transition transition = new Transition(); - transition.Data.Conditions.Add(condition1); - transition.Data.Conditions.Add(condition2); - transition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // After it is activated and the conditions are completed, - transition.LifeCycle.Activate(); - - yield return null; - transition.Update(); - - condition1.Autocomplete(); - - Assert.IsTrue(condition1.IsCompleted); - Assert.IsFalse(condition2.IsCompleted); - Assert.IsFalse(transition.IsCompleted); - - condition2.Autocomplete(); - - Assert.IsTrue(condition1.IsCompleted); - Assert.IsTrue(condition2.IsCompleted); - Assert.IsFalse(transition.IsCompleted); - - while (transition.IsCompleted == false) - { - yield return null; - transition.Update(); - } - - // Then and only then the transition is completed. - Assert.IsTrue(transition.IsCompleted); - } - } -} diff --git a/Tests/Core/PlayMode/Processes/TransitionTests.cs.meta b/Tests/Core/PlayMode/Processes/TransitionTests.cs.meta deleted file mode 100644 index 7d6efa40c..000000000 --- a/Tests/Core/PlayMode/Processes/TransitionTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 29898d6d8c8c4c8eabdb3535b16b2fc0 -timeCreated: 1558355790 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Properties.meta b/Tests/Core/PlayMode/Properties.meta deleted file mode 100644 index 84137d645..000000000 --- a/Tests/Core/PlayMode/Properties.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ed97fcf584c44674b89bbcddea4fd5f3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs b/Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs deleted file mode 100644 index 8436e1e85..000000000 --- a/Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs +++ /dev/null @@ -1,284 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using NUnit.Framework; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Utils; - -namespace VRBuilder.Core.Tests.Properties -{ - public class ProcessPropertyTests : RuntimeTests - { - public static IEnumerable ProcessProperties - { - get { return ReflectionUtils.GetConcreteImplementationsOf(typeof(ProcessSceneObjectProperty)).Where(type => type.IsPublic); } - } - - public static readonly IEnumerable NotProcessProperties = new Type[] - { - typeof(Rigidbody), - typeof(BoxCollider), - typeof(Camera), - typeof(Light), - typeof(UnityEngine.Video.VideoPlayer), - typeof(UnityEngine.UI.Button) - }; - - protected ISceneObject SceneObject; - - [SetUp] - public override void SetUp() - { - base.SetUp(); - GameObject gameObject = new GameObject("Scene Object"); - SceneObject = gameObject.AddComponent(); - } - - [UnityTest] - public IEnumerator AddProcessProperties() - { - // Given a ISceneObject. - - // Required for ColliderWithTriggerProperty - SceneObject.GameObject.AddComponent().isTrigger = true; - int totalOfAddedProperties = 0; - - foreach (Type propertyType in ProcessProperties) - { - // When adding the ISceneObjectProperty to the ISceneObject. - SceneObject.AddProcessProperty(propertyType); - - yield return null; - - // Then assert that the ISceneObjectProperty is part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(propertyType)); - totalOfAddedProperties++; - - // Remove the added property. - SceneObject.RemoveProcessProperty(propertyType); - } - - int totalOfPublicProperties = ProcessProperties.Count(); - - // Then assert that the ISceneObject.Properties considers all the ISceneObjectProperty added to ISceneObject. - Assert.AreEqual(totalOfAddedProperties, totalOfPublicProperties); - } - - [UnityTest] - public IEnumerator AddAndRemoveProcessProperties() - { - // Given a ISceneObject. - - // Required for ColliderWithTriggerProperty - SceneObject.GameObject.AddComponent().isTrigger = true; - - foreach (Type propertyType in ProcessProperties) - { - // When adding the ISceneObjectProperty to the ISceneObject. - SceneObject.AddProcessProperty(propertyType); - Assert.That(SceneObject.GameObject.GetComponent(propertyType)); - - - foreach (Component propertyComponent in SceneObject.GameObject.GetComponents(typeof(ProcessSceneObjectProperty))) - { - // When removing a ISceneObjectProperty from the ISceneObject. - SceneObject.RemoveProcessProperty(propertyComponent); - - yield return null; - - // Then assert that the ISceneObjectProperty is no longer part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(propertyComponent.GetType()) == null); - } - } - - int totalOfAddedProperties = SceneObject.Properties.Count; - - // Then assert that all ISceneObjectProperty were removed. - Assert.AreEqual(0, totalOfAddedProperties); - } - - [UnityTest] - public IEnumerator AddPropertyWithDependencies() - { - // Given an ISceneObjectProperty and a list with its dependencies. - List dependencies = new List(); - Type processProperty = ProcessProperties.First(propertyType => GetAllDependenciesFrom(propertyType, ref dependencies)); - - if (processProperty == null) - { - Debug.LogWarningFormat("AddPropertyWithItsDependencies from {0} was ignored because no ProcessProperties with dependencies could be found.", GetType().Name); - Assert.Ignore(); - } - - // When adding the ISceneObjectProperty. - // Then assert that all its dependencies were added. - yield return AddPropertyAndVerifyDependencies(processProperty, dependencies); - } - - [UnityTest] - public IEnumerator RemovePropertyAndDependencies() - { - // Given an ISceneObjectProperty and a list with its dependencies. - List dependencies = new List(); - Type processProperty = ProcessProperties.First(propertyType => GetAllDependenciesFrom(propertyType, ref dependencies)); - - if (processProperty == null) - { - Debug.LogWarningFormat("RemovePropertyAndDependencies from {0} was ignored because no ProcessProperties with dependencies could be found.", GetType().Name); - Assert.Ignore(); - } - - // When adding the ISceneObjectProperty, we also make sure that all its dependencies were added. - yield return AddPropertyAndVerifyDependencies(processProperty, dependencies); - - // When removing the ISceneObjectProperty forcing to remove its dependencies. - SceneObject.RemoveProcessProperty(processProperty, true); - - yield return null; - - // Then assert that the ISceneObjectProperty is not longer part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(processProperty) == null); - - foreach (Type dependency in dependencies) - { - // Then assert that the dependencies of the ISceneObjectProperty are not longer part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(dependency) == null); - } - } - - [UnityTest] - public IEnumerator AddPropertyAndRemoveDependency() - { - // Given an ISceneObjectProperty, a list with its dependencies and a type dependant of ISceneObjectProperty. - List dependencies = new List(); - Type processProperty = ProcessProperties.First(propertyType => GetAllDependenciesFrom(propertyType, ref dependencies, true)), dependantType = dependencies.First(); - - if (processProperty == null || dependantType == null) - { - Debug.LogWarningFormat("AddPropertyAndRemoveDependency from {0} was ignored because no ProcessProperties with dependencies as ISceneObjectProperty could be found.", GetType().Name); - Assert.Ignore(); - } - - // When adding adding the ISceneObjectProperty, we also make sure that all its dependencies were added. - yield return AddPropertyAndVerifyDependencies(processProperty, dependencies); - - // Then assert that the ISceneObjectProperty and the property that depends of it are part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(processProperty)); - Assert.That(SceneObject.GameObject.GetComponent(dependantType)); - - // When removing the property that depends of ISceneObjectProperty. - SceneObject.RemoveProcessProperty(dependantType); - - yield return null; - - // Then assert that the ISceneObjectProperty and the property that depends of it are no longer part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(processProperty) == null); - Assert.That(SceneObject.GameObject.GetComponent(dependantType) == null); - } - - [UnityTest] - public IEnumerator RemovePropertyWithoutDependencies() - { - // Given an ISceneObjectProperty and a list with its dependencies. - List dependencies = new List(); - Type processProperty = ProcessProperties.First(propertyType => GetAllDependenciesFrom(propertyType, ref dependencies)); - - if (processProperty == null) - { - Debug.LogWarningFormat("RemovePropertyAndDependencies from {0} was ignored because no ProcessProperties with dependencies could be found.", GetType().Name); - Assert.Ignore(); - } - - // When adding adding the ISceneObjectProperty, we also make sure that all its dependencies were added. - yield return AddPropertyAndVerifyDependencies(processProperty, dependencies); - - // When removing the ISceneObjectProperty without forcing to remove its dependencies. - // Parameter removeDependencies is automatically initialized as false. - SceneObject.RemoveProcessProperty(processProperty); - - yield return null; - - // Then assert that the ISceneObjectProperty is not longer part of ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(processProperty) == null); - - foreach (Type dependency in dependencies) - { - // Then assert that the dependencies of the ISceneObjectProperty continuing in ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(dependency)); - } - } - - [UnityTest] - public IEnumerator TryToAddNotProcessProperties() - { - // Given an ISceneObject and a list of non-ISceneObjectProperty types. - foreach (Type notAPropertyType in NotProcessProperties) - { - // When trying to add a non-ISceneObjectProperty using ISceneObject.AddProcessProperty. - SceneObject.AddProcessProperty(notAPropertyType); - - yield return null; - - // Then assert that the type was not attached to ISceneObject. - Assert.That(SceneObject.GameObject.GetComponent(notAPropertyType) == null); - } - } - - private IEnumerator AddPropertyAndVerifyDependencies(Type processProperty, List dependencies) - { - // Given an ISceneObject. - SceneObject.AddProcessProperty(processProperty); - - // When adding an ISceneObjectProperty. - Assert.That(SceneObject.GameObject.GetComponent(processProperty)); - - yield return null; - - foreach (Type dependency in dependencies) - { - // Then assert that ISceneObject has all the dependencies required by the ISceneObjectProperty. - Assert.That(SceneObject.GameObject.GetComponent(dependency)); - } - } - - private bool GetAllDependenciesFrom(Type processProperty, ref List dependencies, bool onlyProcessProperties = false) - { - RequireComponent[] requireComponents = processProperty.GetCustomAttributes(typeof(RequireComponent), false) as RequireComponent[]; - - if (requireComponents == null || requireComponents.Length == 0) - { - return false; - } - - foreach (RequireComponent requireComponent in requireComponents) - { - AddTypeToListIfNew(requireComponent.m_Type0, ref dependencies, onlyProcessProperties); - AddTypeToListIfNew(requireComponent.m_Type1, ref dependencies, onlyProcessProperties); - AddTypeToListIfNew(requireComponent.m_Type2, ref dependencies, onlyProcessProperties); - } - - return dependencies.Count > 0; - } - - private void AddTypeToListIfNew(Type type, ref List dependencies, bool onlyProcessProperties = false) - { - if (type != null && dependencies.Contains(type) == false) - { - if (onlyProcessProperties && typeof(ISceneObjectProperty).IsAssignableFrom(type) == false) - { - return; - } - - dependencies.Add(type); - } - } - } -} diff --git a/Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs.meta b/Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs.meta deleted file mode 100644 index 764e800e8..000000000 --- a/Tests/Core/PlayMode/Properties/ProcessPropertyTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a0ffd1c42cee71b41a5806697021f9c6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Resources.meta b/Tests/Core/PlayMode/Resources.meta deleted file mode 100644 index 3e430ea67..000000000 --- a/Tests/Core/PlayMode/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 35f153461bfd9154ba5993184bc3be5e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Resources/Sounds.meta b/Tests/Core/PlayMode/Resources/Sounds.meta deleted file mode 100644 index 06b3ff537..000000000 --- a/Tests/Core/PlayMode/Resources/Sounds.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0310b71e5cab8ec48a0dc848f3872661 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3 b/Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3 deleted file mode 100644 index 56e1e2011..000000000 --- a/Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d6053d364a5918185c86e69567cb3f705ac7b54707dd38b4962f41b9edb73524 -size 36710 diff --git a/Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3.meta b/Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3.meta deleted file mode 100644 index ed2ae4a98..000000000 --- a/Tests/Core/PlayMode/Resources/Sounds/test-sound.mp3.meta +++ /dev/null @@ -1,22 +0,0 @@ -fileFormatVersion: 2 -guid: df78ba350aa505a43914fe40bd099df8 -AudioImporter: - externalObjects: {} - serializedVersion: 6 - defaultSettings: - loadType: 0 - sampleRateSetting: 0 - sampleRateOverride: 44100 - compressionFormat: 1 - quality: 1 - conversionMode: 0 - platformSettingOverrides: {} - forceToMono: 0 - normalize: 1 - preloadAudioData: 1 - loadInBackground: 0 - ambisonic: 0 - 3D: 1 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/RuntimeUtils.meta b/Tests/Core/PlayMode/RuntimeUtils.meta deleted file mode 100644 index c4387a231..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 286a5dbe771fac94e91b2f0c354e2a7c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs b/Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs deleted file mode 100644 index 53e6b83f2..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections.Generic; -using System.Linq; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Configuration.Modes; - -namespace VRBuilder.Core.Tests.RuntimeUtils -{ - /// - /// DynamicDefinition allows to dynamically adjust process modes. - /// - public class DynamicRuntimeConfiguration : DefaultRuntimeConfiguration - { - public DynamicRuntimeConfiguration() - { - Modes = new BaseModeHandler(new List { DefaultMode }); - } - - public void SetAvailableModes(IList modes) - { - Modes = new BaseModeHandler(modes.ToList()); - } - - public DynamicRuntimeConfiguration(params IMode[] modes) - { - SetAvailableModes(modes.ToList()); - } - } -} diff --git a/Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs.meta b/Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs.meta deleted file mode 100644 index 7f67ee6ae..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/DynamicRuntimeConfiguration.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8902b884adf44138a43b655bde60fce4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs b/Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs deleted file mode 100644 index b865b0b74..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Linq; -using NUnit.Framework; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; - -namespace VRBuilder.Core.Tests.Builder -{ - public class ProcessBuilderTests : RuntimeTests - { - [Test] - public void SimplestProcessBuilderTest() - { - // Given a builder of a process with one chapter with one step - LinearProcessBuilder builder = new LinearProcessBuilder("Process1") - .AddChapter(new LinearChapterBuilder("Chapter1.1") - .AddStep(new BasicStepBuilder("Step1.1.1")) - ); - - // When we build a process from it - IProcess process = builder.Build(); - - // Then it consists of exactly one chapter and one step, and their names are the same as expected - Assert.True(process.Data.Name == "Process1"); - Assert.True(process.Data.FirstChapter.Data.Name == "Chapter1.1"); - Assert.True(process.Data.FirstChapter.Data.FirstStep.Data.Name == "Step1.1.1"); - Assert.True(process.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.Count == 1); - Assert.True(process.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.TargetStep == null); - Assert.AreEqual(1, process.Data.Chapters.Count); - } - - [Test] - public void OneChapterMultipleStepsTest() - { - // Given a builder of a process with one chapter with three steps - LinearProcessBuilder builder = new LinearProcessBuilder("Process1") - .AddChapter(new LinearChapterBuilder("Chapter1.1") - .AddStep(new BasicStepBuilder("Step1.1.1")) - .AddStep(new BasicStepBuilder("Step1.1.2")) - .AddStep(new BasicStepBuilder("Step1.1.3"))); - - // When we build a process from it - IProcess process = builder.Build(); - - // Then it has exactly three steps in the same order. - IStep firstStep = process.Data.FirstChapter.Data.FirstStep; - Assert.True(firstStep.Data.Name == "Step1.1.1"); - IStep secondStep = firstStep.Data.Transitions.Data.Transitions.First().Data.TargetStep; - Assert.True(secondStep.Data.Name == "Step1.1.2"); - IStep thirdStep = secondStep.Data.Transitions.Data.Transitions.First().Data.TargetStep; - Assert.True(thirdStep.Data.Name == "Step1.1.3"); - Assert.True(thirdStep.Data.Transitions.Data.Transitions.First().Data.TargetStep == null); - } - - [Test] - public void MultipleChaptersTest() - { - // Given a builder of a process with three chapters with one, three, and one steps - LinearProcessBuilder builder = new LinearProcessBuilder("1") - .AddChapter(new LinearChapterBuilder("1.1") - .AddStep(new BasicStepBuilder("1.1.1"))) - .AddChapter(new LinearChapterBuilder("1.2") - .AddStep(new BasicStepBuilder("1.2.1")) - .AddStep(new BasicStepBuilder("1.2.2")) - .AddStep(new BasicStepBuilder("1.2.3"))) - .AddChapter(new LinearChapterBuilder("1.3") - .AddStep(new BasicStepBuilder("1.3.1"))); - - // When we build a process from it - IProcess process = builder.Build(); - - // Then it has exactly three chapters in it with one, three, and one steps, - // `NextChapter` properties are properly assigned, - // and every chapter has expected composition of steps. - IChapter chapter = process.Data.FirstChapter; - Assert.True(chapter.Data.Name == "1.1"); - IStep step = chapter.Data.FirstStep; - Assert.True(chapter.Data.FirstStep.Data.Name == "1.1.1"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.TargetStep == null); - - chapter = process.Data.Chapters[1]; - Assert.True(chapter.Data.Name == "1.2"); - step = chapter.Data.FirstStep; - Assert.True(step.Data.Name == "1.2.1"); - step = step.Data.Transitions.Data.Transitions.First().Data.TargetStep; - Assert.True(step.Data.Name == "1.2.2"); - step = step.Data.Transitions.Data.Transitions.First().Data.TargetStep; - Assert.True(step.Data.Name == "1.2.3"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.TargetStep == null); - - chapter = process.Data.Chapters[2]; - Assert.True(chapter.Data.Name == "1.3"); - step = chapter.Data.FirstStep; - Assert.True(step.Data.Name == "1.3.1"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.TargetStep == null); - Assert.AreEqual(3, process.Data.Chapters.Count); - } - - [Test] - public void ReuseBuilderTest() - { - // Given a builder - LinearProcessBuilder builder = new LinearProcessBuilder("1") - .AddChapter(new LinearChapterBuilder("1.1") - .AddStep(new BasicStepBuilder("1.1.1"))) - .AddChapter(new LinearChapterBuilder("1.2") - .AddStep(new BasicStepBuilder("1.2.1")) - .AddStep(new BasicStepBuilder("1.2.2")) - .AddStep(new BasicStepBuilder("1.2.3"))) - .AddChapter(new LinearChapterBuilder("1.3") - .AddStep(new BasicStepBuilder("1.3.1"))); - - // When we build two processes from it - IProcess process1 = builder.Build(); - IProcess process2 = builder.Build(); - - Assert.True(process1.Data.Chapters.Count == process2.Data.Chapters.Count, "Both processes should have the same length"); - - // Then two different instances of the process are created, - // which have the same composition of chapters and steps, - // but there is not a single step or chapter instance that is shared between two processes. - for (int i = 0; i < 3; i++) - { - IChapter chapter1 = process1.Data.Chapters[i]; - IChapter chapter2 = process2.Data.Chapters[i]; - - Assert.False(ReferenceEquals(chapter1, chapter2)); - Assert.True(chapter1.Data.Name == chapter2.Data.Name); - - IStep step1 = chapter1.Data.FirstStep; - IStep step2 = chapter2.Data.FirstStep; - - while (step1 != null) - { - Assert.False(ReferenceEquals(step1, step2)); - Assert.True(step1.Data.Name == step2.Data.Name); - - step1 = step1.Data.Transitions.Data.Transitions.First().Data.TargetStep; - step2 = step2.Data.Transitions.Data.Transitions.First().Data.TargetStep; - } - - Assert.True(step2 == null, "If we are here, step1 is null. If step1 is null, step2 has to be null, too."); - } - } - - [Test] - public void BuildingIntroTest() - { - // Given a builder with a predefined Intro step - LinearProcessBuilder builder = new LinearProcessBuilder("TestProcess") - .AddChapter(new LinearChapterBuilder("TestChapter") - .AddStep(DefaultSteps.Intro("TestIntroStep"))); - - // When we build a process from it, - IStep step = builder.Build().Data.FirstChapter.Data.FirstStep; - - // Then a process with an Intro step is created. - Assert.True(step != null); - Assert.True(step.Data.Name == "TestIntroStep"); - Assert.True(step.Data.Transitions.Data.Transitions.First().Data.Conditions.Any() == false); - } - } -} diff --git a/Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs.meta b/Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs.meta deleted file mode 100644 index f005cb3e2..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/ProcessBuilderTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 008f139f048ff184bbf0ba97372c3ecd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs b/Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs deleted file mode 100644 index 2d97c8a24..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs +++ /dev/null @@ -1,201 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Runtime.Serialization; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; -using VRBuilder.Editor.ProcessUpgradeTool; - -namespace VRBuilder.Core.Tests -{ - public class ProcessUpgradeToolTests : RuntimeTests - { - public class ObsoleteProcessSceneObject : ProcessSceneObject - { - public void SetUniqueName(string uniqueName) - { -#pragma warning disable CS0618 // Type or member is obsolete - this.uniqueName = uniqueName; -#pragma warning restore CS0618 // Type or member is obsolete - } - } - - public class ProcessVariableDataOwner : IDataOwner - { - public ProcessVariableDataOwner() - { - Data = new EntityData(); - } - - [DataMember] - public EntityData Data { get; private set; } - - IData IDataOwner.Data => (IData)Data; - - [DataContract(IsReference = true)] - public class EntityData : IData - { - [DataMember] - public ProcessVariable ProcessVariable { get; set; } - - public Metadata Metadata { get; set; } - } - } - - private ProcessSceneObject CreateObsoleteGameObject(string name) - { - GameObject obsoleteObject = new GameObject(name); - ObsoleteProcessSceneObject processSceneObject = obsoleteObject.AddComponent(); - processSceneObject.SetUniqueName(name); - return processSceneObject; - } - - [UnityTest] - public IEnumerator UniqueObjectReferenceGetsUpdated() - { - // Given a Scale behavior with an obsolete reference, - ProcessSceneObject processSceneObject = CreateObsoleteGameObject("ScaledObject"); - - ScalingBehavior scalingBehavior = new ScalingBehavior(); -#pragma warning disable CS0618 // Type or member is obsolete - scalingBehavior.Data.Target = new SceneObjectReference(processSceneObject.UniqueName); -#pragma warning restore CS0618 // Type or member is obsolete - - // If I run EntityDataUpdater on it, - ProcessUpgradeTool.UpdateDataOwnerRecursively(scalingBehavior); - - // Then the reference is updated to the correct type. - Assert.IsTrue(scalingBehavior.Data.Targets.Guids.Count == 1); - Assert.IsTrue(scalingBehavior.Data.Targets.Values.Count() == 1); - Assert.AreEqual(processSceneObject, scalingBehavior.Data.Targets.Values.First()); - - // Cleanup - GameObject.DestroyImmediate(processSceneObject.gameObject); - yield return null; - } - - [UnityTest] - public IEnumerator SceneObjectTagGetsUpdated() - { - // Given a enable component with tag behavior with an obsolete tag, - Guid tag = Guid.NewGuid(); - ProcessSceneObject processSceneObject = CreateObsoleteGameObject("TestObject"); -#pragma warning disable CS0618 // Type or member is obsolete - SetComponentEnabledByTagBehavior behavior = new SetComponentEnabledByTagBehavior(); - behavior.Data.TargetTag = new SceneObjectTag(tag); -#pragma warning restore CS0618 // Type or member is obsolete - - // When I update it, - ProcessUpgradeTool.UpdateDataOwnerRecursively(behavior); - - // Then the referece is updated. - Assert.IsTrue(behavior.Data.TargetObjects.Guids.Count == 1); -#pragma warning disable CS0618 // Type or member is obsolete - Assert.AreEqual(behavior.Data.TargetTag.Guid, behavior.Data.TargetObjects.Guids.First()); -#pragma warning restore CS0618 // Type or member is obsolete - - // Cleanup - yield return null; - GameObject.DestroyImmediate(processSceneObject.gameObject); - } - - [UnityTest] - public IEnumerator LockablePropertiesAreUpdated() - { - // Given a step with some manually unlocked properties, - ProcessSceneObject objectToUnlock = CreateObsoleteGameObject("ObjectToUnlock"); - objectToUnlock.AddProcessProperty(); - - LockablePropertyReference lockablePropertyReference = new LockablePropertyReference(); -#pragma warning disable CS0618 // Type or member is obsolete - lockablePropertyReference.Target = new SceneObjectReference(objectToUnlock.UniqueName); -#pragma warning restore CS0618 // Type or member is obsolete - IStep step = EntityFactory.CreateStep("TestStep"); - ILockableStepData lockableData = step.Data as ILockableStepData; - lockableData.ToUnlock = new List() { lockablePropertyReference }; - - // When I update it, - ProcessUpgradeTool.UpdateDataOwnerRecursively(step); - - // Then the lockable properties are updated. - Assert.IsTrue(lockablePropertyReference.TargetObject.HasValue()); -#pragma warning disable CS0618 // Type or member is obsolete - Assert.AreEqual(objectToUnlock, lockablePropertyReference.TargetObject.Value); -#pragma warning restore CS0618 // Type or member is obsolete - - // Cleanup - GameObject.DestroyImmediate(objectToUnlock.gameObject); - yield return null; - } - - [UnityTest] - public IEnumerator ObsoleteEnableObjectWithTagBehaviorsAreUpdated() - { - // Given a step with an obsolete behavior, - Guid tag = Guid.NewGuid(); -#pragma warning disable CS0618 // Type or member is obsolete - SetObjectsWithTagEnabledBehavior setObjectsEnabledBehavior = new SetObjectsWithTagEnabledBehavior(tag, false); -#pragma warning restore CS0618 // Type or member is obsolete - BasicStepBuilder stepBuilder = new BasicStepBuilder("TestStep"); - stepBuilder.AddBehavior(setObjectsEnabledBehavior); - Step step = stepBuilder.Build(); - Step referenceStep = step.Clone() as Step; - - // When it is updated, - ProcessUpgradeTool.UpdateDataOwnerRecursively(step); - - // Then the behavior is replaced. - Assert.AreEqual(referenceStep.Data.Behaviors.Data.Behaviors.Count(), step.Data.Behaviors.Data.Behaviors.Count()); - Assert.AreEqual(1, step.Data.Behaviors.Data.Behaviors.Count()); - - IBehavior oldBehavior = referenceStep.Data.Behaviors.Data.Behaviors.First(); - IBehavior newBehavior = step.Data.Behaviors.Data.Behaviors.First(); - - Assert.IsTrue(newBehavior is SetObjectsEnabledBehavior); -#pragma warning disable CS0618 // Type or member is obsolete - Assert.IsTrue(oldBehavior is SetObjectsWithTagEnabledBehavior); - Assert.AreEqual(((SetObjectsWithTagEnabledBehavior)oldBehavior).Data.TargetObjects, ((SetObjectsEnabledBehavior)newBehavior).Data.TargetObjects); -#pragma warning restore CS0618 // Type or member is obsolete - - yield return null; - } - - [UnityTest] - public IEnumerator ProcessVariablesAreUpdated() - { - // Given a data owner with a process variable, - string constValue = "ConstValue"; - ProcessSceneObject referencedObject = CreateObsoleteGameObject("StringDataProperty"); - TextDataProperty dataProperty = referencedObject.AddProcessProperty() as TextDataProperty; - ProcessVariable processVariable = new ProcessVariable(); -#pragma warning disable CS0618 // Type or member is obsolete - processVariable.PropertyReference = new ScenePropertyReference>(referencedObject.UniqueName); -#pragma warning restore CS0618 // Type or member is obsolete - processVariable.ConstValue = constValue; - processVariable.IsConst = true; - - ProcessVariableDataOwner dataOwner = new ProcessVariableDataOwner(); - dataOwner.Data.ProcessVariable = processVariable; - - // When it is updated, - ProcessUpgradeTool.UpdateDataOwnerRecursively(dataOwner); - - // Then the values have changed. - Assert.AreEqual(constValue, dataOwner.Data.ProcessVariable.ConstValue); - Assert.AreEqual(true, dataOwner.Data.ProcessVariable.IsConst); - Assert.AreEqual(referencedObject.Guid, dataOwner.Data.ProcessVariable.Property.Guids.First()); - - yield return null; - - } - } -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs.meta b/Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs.meta deleted file mode 100644 index cbcd41842..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/ProcessUpgradeToolTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b598b461eb7574a4d85bfcb8c49c75bb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs b/Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs deleted file mode 100644 index b4c8fabc5..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Linq; -using NUnit.Framework; -using UnityEngine; -using VRBuilder.Core.Serialization; -using VRBuilder.Core.Serialization.NewtonsoftJson; -using VRBuilder.Core.Utils; -using VRBuilder.Editor; -using VRBuilder.Editor.Setup; -using VRBuilder.Unity; - -namespace VRBuilder.Core.Tests.RuntimeUtils -{ - public abstract class RuntimeTests - { - protected IProcessSerializer Serializer { get; } = new NewtonsoftJsonProcessSerializer(); - - [SetUp] - public virtual void SetUp() - { - UnitTestChecker.IsUnitTesting = true; - new RuntimeConfigurationSetup().Setup(new DefaultSceneSetupConfiguration()); - } - - [TearDown] - public virtual void TearDown() - { - foreach (GameObject gameObject in SceneUtils.GetActiveAndInactiveGameObjects()) - { - if (gameObject.name == "Code-based tests runner") - { - continue; - } - - if (gameObject.GetComponents(typeof(Component)).Any(component => component.GetType().IsSubclassOfGenericDefinition(typeof(UnitySingleton<>)))) - { - continue; - } - - Object.DestroyImmediate(gameObject, false); - } - - CoroutineDispatcher.Instance.StopAllCoroutines(); - UnitTestChecker.IsUnitTesting = false; - } - } -} diff --git a/Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs.meta b/Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs.meta deleted file mode 100644 index dadab64ef..000000000 --- a/Tests/Core/PlayMode/RuntimeUtils/RuntimeTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 44ba2e621da748a48c88d34e0ae7ce56 -timeCreated: 1554828217 \ No newline at end of file diff --git a/Tests/Core/PlayMode/SceneObjects.meta b/Tests/Core/PlayMode/SceneObjects.meta deleted file mode 100644 index 61950115f..000000000 --- a/Tests/Core/PlayMode/SceneObjects.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3cfda199a26fcfe4c94ac5a2ba15e250 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs b/Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs deleted file mode 100644 index 77eb47e9a..000000000 --- a/Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs +++ /dev/null @@ -1,244 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using System.Reflection; -using UnityEditor; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils; - -namespace VRBuilder.Core.Tests -{ - public class ProcessSceneObjectTests : RuntimeTests - { - private const string prefabPath = "Assets/TestPrefabsFolder_DeleteMe"; - - [OneTimeSetUp] - public void CreateTestPrefabFolder() - { - TestingUtils.CreateFolderRecursively(prefabPath); - } - - [OneTimeTearDown] - public void DeleteTestPrefabFolder() - { - TestingUtils.DeleteContentAndFolder(prefabPath); - } - - [UnityTest] - public IEnumerator DuplicatedObjectsHaveDifferentUniqueIds() - { - // Given a PSO in the scene, - ProcessSceneObject original = GameObject.Instantiate(new GameObject("Test")).AddComponent(); - Guid originalGuid = GetSerializedGuid(original).Guid; - - // When I duplicate it by re-instantiating it, - ProcessSceneObject copy = GameObject.Instantiate(original) as ProcessSceneObject; - Guid copyGuid = GetSerializedGuid(copy).Guid; - - // Then the new object has a different object ID. - Assert.AreNotEqual(Guid.Empty, originalGuid); - Assert.AreNotEqual(Guid.Empty, copyGuid); - Assert.AreNotEqual(originalGuid, copyGuid); - - // Cleanup - GameObject.DestroyImmediate(original); - GameObject.DestroyImmediate(copy); - yield return null; - } - - [UnityTest] - public IEnumerator PrefabHasNoUniqueId() - { - // Given a PSO, - string prefabName = TestingUtils.GetUniqueName(); - ProcessSceneObject processSceneObject = new GameObject(prefabName).AddComponent(); - Guid uniqueId = GetSerializedGuid(processSceneObject).Guid; - - // When I save it as a prefab, - GameObject prefab = TestingUtils.CreatePrefab(processSceneObject.gameObject, prefabPath); - - // Then it does not retain its object ID. - Assert.AreNotEqual(Guid.Empty, uniqueId); - Assert.IsNull(GetSerializedGuid(prefab.GetComponent())); - - // Cleanup - TestingUtils.DeletePrefab(prefabName, prefabPath); - yield return null; - } - - [UnityTest] - public IEnumerator DifferentSpawnedObjectsHaveDifferentUniqueIds() - { - // Given a PSO prefab, - string prefabName = TestingUtils.GetUniqueName(); - GameObject processSceneObjectPrefab = TestingUtils.CreateProcessSceneObjectPrefab(prefabName, prefabPath); - - // When I spawn it multiple times in the scene, - ProcessSceneObject spawnedObject1 = ((GameObject)PrefabUtility.InstantiatePrefab(processSceneObjectPrefab)).GetComponent(); - ProcessSceneObject spawnedObject2 = ((GameObject)PrefabUtility.InstantiatePrefab(processSceneObjectPrefab)).GetComponent(); - - // Then each spawned object has a different object ID. - Guid guid1 = GetSerializedGuid(spawnedObject1).Guid; - Guid guid2 = GetSerializedGuid(spawnedObject2).Guid; - - Assert.AreNotEqual(Guid.Empty, guid1); - Assert.AreNotEqual(Guid.Empty, guid2); - Assert.AreNotEqual(guid1, guid2); - - // Cleanup - TestingUtils.DeletePrefab(prefabName, prefabPath); - GameObject.DestroyImmediate(spawnedObject1); - GameObject.DestroyImmediate(spawnedObject2); - yield return null; - } - - [UnityTest] - public IEnumerator ApplyChangesDoesNotOverrideGuid() - { - // Given an instance of a PSO prefab, - string prefabName = TestingUtils.GetUniqueName(); - GameObject prefab = TestingUtils.CreateProcessSceneObjectPrefab(prefabName, prefabPath); - GameObject instance = PrefabUtility.InstantiatePrefab(prefab) as GameObject; - - // When I modify it and then apply the changes, - instance.AddComponent(); - PrefabUtility.ApplyPrefabInstance(instance, InteractionMode.AutomatedAction); - - // Then the object ID on the original prefab is not overwritten. - Assert.IsNotNull(prefab.GetComponent()); - Assert.IsTrue(GetSerializedGuid(instance.GetComponent()).IsValid()); - Assert.IsFalse(GetSerializedGuid(prefab.GetComponent()).IsValid()); - - // Cleanup - yield return null; - TestingUtils.DeletePrefab(prefabName, prefabPath); - GameObject.DestroyImmediate(instance); - } - - [UnityTest] - public IEnumerator ResettingInstanceChangesDoesNotChangeGuid() - { - // Given an instance of a PSO prefab, - string prefabName = TestingUtils.GetUniqueName(); - GameObject prefab = TestingUtils.CreateProcessSceneObjectPrefab(prefabName, prefabPath); - GameObject instance = PrefabUtility.InstantiatePrefab(prefab) as GameObject; - Guid instanceGuid = GetSerializedGuid(instance.GetComponent()).Guid; - - // When I modify it and then reset the changes, - instance.AddComponent(); - PrefabUtility.RevertPrefabInstance(instance, InteractionMode.AutomatedAction); - - // The object ID of the instance stays the same. - Assert.IsNull(instance.GetComponent()); - Assert.AreEqual(instanceGuid, GetSerializedGuid(instance.GetComponent()).Guid); - - // Cleanup - yield return null; - TestingUtils.DeletePrefab(prefabName, prefabPath); - GameObject.DestroyImmediate(instance); - } - - [UnityTest] - public IEnumerator WhenAddingToPrefabProcessSceneObjectInstancesObtainDifferentGuids() - { - // Given a prefab of which multiple instances are present in the scene, - string prefabName = TestingUtils.GetUniqueName(); - GameObject prefab = TestingUtils.CreatePrefab(new GameObject(prefabName), prefabPath); - GameObject instance1 = PrefabUtility.InstantiatePrefab(prefab) as GameObject; - GameObject instance2 = PrefabUtility.InstantiatePrefab(prefab) as GameObject; - - // When I add a process scene object to it, - prefab.AddComponent(); - PrefabUtility.SavePrefabAsset(prefab); - - // Then all instances of the prefab have a different object ID. - SerializableGuid guid1 = GetSerializedGuid(instance1.GetComponent()); - SerializableGuid guid2 = GetSerializedGuid(instance2.GetComponent()); - - Assert.IsTrue(guid1.IsValid()); - Assert.IsTrue(guid2.IsValid()); - Assert.AreNotEqual(guid1, guid2); - - // Cleanup - yield return null; - TestingUtils.DeletePrefab(prefabName, prefabPath); - GameObject.DestroyImmediate(instance1); - GameObject.DestroyImmediate(instance2); - } - - [UnityTest] - public IEnumerator ApplyTag() - { - // Given an instance of a PSO prefab, - string prefabName = TestingUtils.GetUniqueName(); - GameObject prefab = TestingUtils.CreateProcessSceneObjectPrefab(prefabName, prefabPath); - GameObject instance = PrefabUtility.InstantiatePrefab(prefab) as GameObject; - Guid tag = Guid.NewGuid(); - - // When I modify the tag and then apply the changes, - ProcessSceneObject pso = instance.GetComponent(); - pso.AddGuid(tag); - PrefabUtility.ApplyPrefabInstance(instance, InteractionMode.AutomatedAction); - - // Then the object ID on the original prefab is not overwritten the tags are applied - Assert.IsTrue(GetSerializedGuid(instance.GetComponent()).IsValid()); - Assert.IsFalse(GetSerializedGuid(prefab.GetComponent()).IsValid()); - Assert.IsTrue(instance.GetComponent().HasGuid(tag)); - Assert.IsTrue(prefab.GetComponent().HasGuid(tag)); - - // Cleanup - yield return null; - TestingUtils.DeletePrefab(prefabName, prefabPath); - GameObject.DestroyImmediate(instance); - } - - [UnityTest] - public IEnumerator RevertTag() - { - // Given an instance of a PSO prefab with a Tag, - string prefabName = TestingUtils.GetUniqueName(); - GameObject prefab = TestingUtils.CreateProcessSceneObjectPrefab(prefabName, prefabPath); - ProcessSceneObject prefabPso = prefab.GetComponent(); - Guid originalTag = Guid.NewGuid(); - prefabPso.AddGuid(originalTag); - - GameObject instance = PrefabUtility.InstantiatePrefab(prefab) as GameObject; - ProcessSceneObject instancePso = instance.GetComponent(); - - // When I add a second the tag and then revert the changes, - Guid newTag = Guid.NewGuid(); - instancePso.AddGuid(newTag); - Guid instanceGuid = GetSerializedGuid(instancePso).Guid; - PrefabUtility.RevertPrefabInstance(instance, InteractionMode.AutomatedAction); - - // The object ID of the instance stays the same but the tags are reverted - Assert.AreEqual(instanceGuid, GetSerializedGuid(instance.GetComponent()).Guid); - Assert.IsTrue(instancePso.HasGuid(originalTag)); - Assert.IsTrue(prefabPso.HasGuid(originalTag)); - Assert.IsFalse(instancePso.HasGuid(newTag)); - - // Cleanup - yield return null; - TestingUtils.DeletePrefab(prefabName, prefabPath); - GameObject.DestroyImmediate(instance); - } - - private SerializableGuid GetSerializedGuid(ProcessSceneObject processSceneObject) - { - Type processSceneObjectType = typeof(ProcessSceneObject); - FieldInfo serializableGuidField = processSceneObjectType.GetField("serializedGuid", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.ExactBinding); - - if (serializableGuidField != null) - { - return (SerializableGuid)serializableGuidField.GetValue(processSceneObject); - } - else - { - throw new MissingFieldException("Field 'serializedGuid' not found in class 'ProcessSceneObject'."); - } - } - } -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs.meta b/Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs.meta deleted file mode 100644 index 646268ce9..000000000 --- a/Tests/Core/PlayMode/SceneObjects/ProcessSceneObjectTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 983e9ed560cce0146a92606b3c1941c3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs b/Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs deleted file mode 100644 index 679cc751c..000000000 --- a/Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs +++ /dev/null @@ -1,173 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using System.Linq; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; -using Object = UnityEngine.Object; - -namespace VRBuilder.Core.Tests -{ - public class SceneObjectRegistryV2Tests : RuntimeTests - { - [UnityTest] - public IEnumerator IsRegisteredAtRegistryTest() - { - // Create reference - GameObject obj = new GameObject("MyObject"); - ProcessSceneObject reference = obj.AddComponent(); - - // Await end of frame - yield return new WaitForFixedUpdate(); - - // Assert that reference is now registered at the registry. - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(reference.Guid)); - Assert.AreEqual(reference, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(reference.Guid).First()); - Assert.AreEqual(1, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(reference.Guid).Count()); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator CanBeFoundByUniqueIdTest() - { - // Create reference - GameObject obj = new GameObject("MyObject"); - ProcessSceneObject reference = obj.AddComponent(); - Guid guid = reference.Guid; - - // Await end of frame - yield return new WaitForFixedUpdate(); - - // Assert that reference is now registered at the registry. - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(guid)); - Assert.AreEqual(reference, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(guid).First()); - Assert.AreEqual(1, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(guid).Count()); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator CanBeFoundByTagTest() - { - // Given a tagged object, - Guid tag = Guid.NewGuid(); - SceneObjectGroups.Instance.CreateGroup("test tag, delete me immediately", tag); - GameObject obj1 = new GameObject("Test1"); - GameObject obj2 = new GameObject("Test2"); - ProcessSceneObject pso1 = obj1.AddComponent(); - ProcessSceneObject pso2 = obj2.AddComponent(); - pso1.AddGuid(tag); - pso2.AddGuid(tag); - - // Await end of frame - yield return new WaitForFixedUpdate(); - - // Assert that it is found by tag in the registry - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(tag)); - Assert.AreEqual(2, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(tag).Count()); - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(tag).Contains(pso1)); - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(tag).Contains(pso2)); - - // Clean up - Object.DestroyImmediate(obj1); - Object.DestroyImmediate(obj2); - SceneObjectGroups.Instance.RemoveGroup(tag); - } - - [UnityTest] - public IEnumerator UnregisterRemovesReferenceTest() - { - // Create reference - GameObject obj = new GameObject("MyObject"); - ProcessSceneObject reference = obj.AddComponent(); - Guid guid = reference.Guid; - - // Await end of frame - yield return new WaitForFixedUpdate(); - - RuntimeConfigurator.Configuration.SceneObjectRegistry.Unregister(reference); - - // Assert that you cant find reference by guid or name - Assert.IsFalse(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(guid)); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator UnregisterOnDestroyTest() - { - // Create reference - GameObject obj = new GameObject("MyObject"); - ProcessSceneObject reference = obj.AddComponent(); - Guid guid = reference.Guid; - - // Await end of frame - yield return new WaitForFixedUpdate(); - - Object.DestroyImmediate(obj); - - // Assert that object is not registered anymore - Assert.IsFalse(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(guid)); - - yield return null; - } - - [UnityTest] - public IEnumerator ObjectCopyGetsUniqueId() - { - // Create object - GameObject obj = new GameObject("MyObject"); - ProcessSceneObject reference = obj.AddComponent(); - Guid guid = reference.Guid; - - GameObject copy = GameObject.Instantiate(obj); - ProcessSceneObject copyReference = copy.GetComponent(); - Guid copyGuid = copyReference.Guid; - - // Wait for end of frame - yield return new WaitForFixedUpdate(); - - // Assert that objects have different GUIDs - Assert.IsTrue(guid != copyGuid); - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(guid).Count() == 1); - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(copyGuid).Count() == 1); - Assert.AreEqual(reference, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(guid).First()); - Assert.AreEqual(copyReference, RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(copyGuid).First()); - - Object.DestroyImmediate(obj); - Object.DestroyImmediate(copy); - } - - [UnityTest] - public IEnumerator RemovingLastUsedTagRemovesGuidFromRegistry() - { - // Given a tagged object, - Guid tag = Guid.NewGuid(); - SceneObjectGroups.Instance.CreateGroup("test tag, delete me immediately", tag); - GameObject obj1 = new GameObject("Test1"); - ProcessSceneObject processSceneObject = obj1.AddComponent(); - processSceneObject.AddGuid(tag); - - // Await end of frame - yield return new WaitForFixedUpdate(); - - processSceneObject.RemoveGuid(tag); - - // Assert that the tag guid does not exist in the registry. - Assert.IsFalse(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(tag)); - Assert.IsTrue(RuntimeConfigurator.Configuration.SceneObjectRegistry.ContainsGuid(processSceneObject.Guid)); - - // Clean up - Object.DestroyImmediate(obj1); - SceneObjectGroups.Instance.RemoveGroup(tag); - } - } -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs.meta b/Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs.meta deleted file mode 100644 index 34612fb77..000000000 --- a/Tests/Core/PlayMode/SceneObjects/SceneObjectRegistryV2Tests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 83719e9168e042f469215ab1c9ac66ed -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs b/Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs deleted file mode 100644 index fb1b26d37..000000000 --- a/Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs +++ /dev/null @@ -1,97 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine.TestTools; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.Core.Tests -{ - public class SceneObjectTagTests : RuntimeTests - { - private List tags = new List(); - private string[] tagLabels = { "delete this test tag immediately", "testTagHHH", "adding another test tag for good measure" }; - - [SetUp] - public void CreateTestTags() - { - foreach (string label in tagLabels) - { - tags.Add(SceneObjectGroups.Instance.CreateGroup(label, Guid.NewGuid()).Guid); - } - } - - [TearDown] - public void RemoveTestTags() - { - foreach (Guid guid in tags) - { - SceneObjectGroups.Instance.RemoveGroup(guid); - } - } - - [UnityTest] - public IEnumerator TagIsAdded() - { - // When a tag is added to the scene object registry, - Guid newTagGuid = Guid.NewGuid(); - tags.Add(newTagGuid); - SceneObjectGroups.Instance.CreateGroup("a test tag that has been added in a test, delete it if you see it", newTagGuid); - - // Then it can be found in the registry - Assert.True(SceneObjectGroups.Instance.GroupExists(newTagGuid)); - - yield return null; - } - - [UnityTest] - public IEnumerator NoNameTagIsNotAdded() - { - // When a no name tag is added to the scene object registry, - Guid newTagGuid = Guid.NewGuid(); - tags.Add(newTagGuid); - SceneObjectGroups.SceneObjectGroup tag = SceneObjectGroups.Instance.CreateGroup("", newTagGuid); - - // Then it is not added. - Assert.False(SceneObjectGroups.Instance.GroupExists(newTagGuid)); - Assert.IsNull(tag); - - yield return null; - } - - [UnityTest] - public IEnumerator DuplicateNameTagIsRenamed() - { - // When a duplicate name tag is added to the scene object registry, - Guid newTagGuid = Guid.NewGuid(); - tags.Add(newTagGuid); - SceneObjectGroups.SceneObjectGroup tag = SceneObjectGroups.Instance.CreateGroup("testTagHHH", newTagGuid); - - // Then it is renamed. - Assert.True(SceneObjectGroups.Instance.GroupExists(newTagGuid)); - Assert.AreEqual(tag.Label, "testTagHHH_1"); - - yield return null; - } - - [UnityTest] - public IEnumerator TagIsDeleted() - { - // Given a tag in the registry, - Guid newTagGuid = Guid.NewGuid(); - tags.Add(newTagGuid); - SceneObjectGroups.Instance.CreateGroup("a test tag that has been added in a test, delete it if you see it", newTagGuid); - bool wasInRegistry = SceneObjectGroups.Instance.GroupExists(newTagGuid); - - // When it is removed, - SceneObjectGroups.Instance.RemoveGroup(newTagGuid); - - // Then it cannot be found anymore. - Assert.True(wasInRegistry); - Assert.False(SceneObjectGroups.Instance.GroupExists(newTagGuid)); - - yield return null; - } - } -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs.meta b/Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs.meta deleted file mode 100644 index 32d8ed453..000000000 --- a/Tests/Core/PlayMode/SceneObjects/SceneObjectTagTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8d26c4a9783861a45b0b31b94f9bc1fa -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Serialization.meta b/Tests/Core/PlayMode/Serialization.meta deleted file mode 100644 index d15bef473..000000000 --- a/Tests/Core/PlayMode/Serialization.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 51448a9d1b2f6bd41962564b72d00a35 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs b/Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs deleted file mode 100644 index 314347d8b..000000000 --- a/Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs +++ /dev/null @@ -1,212 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.Collections; -using System.Linq; -using UnityEngine.Assertions; -using UnityEngine.TestTools; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.EntityOwners; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Serialization -{ - public class JsonProcessSerializerTests : RuntimeTests - { - [UnityTest] - public IEnumerator BaseProcess() - { - // Given base process - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step"))) - .Build(); - - Serializer.ProcessToByteArray(process1); - - // When we serialize and deserialize it - IProcess process2 = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process1)); - - // Then it should still be base process, have the same name and the first chapter with the same name. - Assert.AreEqual(typeof(Process), process1.GetType()); - Assert.AreEqual(process1.GetType(), process2.GetType()); - - Assert.AreEqual(process1.Data.Name, "Process"); - Assert.AreEqual(process1.Data.Name, process2.Data.Name); - - Assert.AreEqual(process1.Data.FirstChapter.Data.Name, "Chapter"); - Assert.AreEqual(process1.Data.FirstChapter.Data.Name, process2.Data.FirstChapter.Data.Name); - - return null; - } - - [UnityTest] - public IEnumerator Chapter() - { - // Given we have a process with a chapter - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step"))) - .Build(); - - // When we serialize and deserialize it - IProcess process2 = Serializer.ProcessFromByteArray((Serializer.ProcessToByteArray(process1))); - - // Then chapter's type, name, first step, guid and next chapter should not change. - IChapter chapter1 = process1.Data.FirstChapter; - IChapter chapter2 = process2.Data.FirstChapter; - - Assert.AreEqual(chapter1.GetType(), chapter2.GetType()); - Assert.AreEqual(chapter1.Data.Name, chapter2.Data.Name); - Assert.AreEqual(chapter1.Data.FirstStep.Data.Name, chapter2.Data.FirstStep.Data.Name); - Assert.AreEqual(process1.Data.Chapters.Count, process2.Data.Chapters.Count); - Assert.AreEqual(chapter1.ChapterMetadata.Guid, chapter2.ChapterMetadata.Guid); - - return null; - } - - [UnityTest] - public IEnumerator Condition() - { - // Given a process which has a step with a condition - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new AutoCompletedCondition()))) - .Build(); - - // When we serialize and deserialize it - IProcess process2 = Serializer.ProcessFromByteArray((Serializer.ProcessToByteArray(process1))); - - // Then that condition's name should not change. - ICondition condition1 = process1.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First() - .Data.Conditions.First(); - ICondition condition2 = process2.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First() - .Data.Conditions.First(); - - Assert.AreEqual(condition1.GetType(), condition2.GetType()); - - return null; - } - - [UnityTest] - public IEnumerator Transition() - { - // Given a process with more than one step - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("FirstStep")) - .AddStep(new BasicStepBuilder("SecondStep"))) - .Build(); - - // When we serialize and deserialize it - byte[] serialized = Serializer.ProcessToByteArray(process1); - IProcess process2 = Serializer.ProcessFromByteArray(serialized); - - // Then transition from the first step should lead to the same step as before. - Assert.AreEqual( - process1.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.TargetStep - .Data.Name, - process2.Data.FirstChapter.Data.FirstStep.Data.Transitions.Data.Transitions.First().Data.TargetStep - .Data.Name); - - return null; - } - - [UnityTest] - public IEnumerator Step() - { - // Given we have a process with a step - IProcess process1 = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddCondition(new AutoCompletedCondition()))) - .Build(); - - // When we serialize and deserialize it - IProcess process2 = Serializer.ProcessFromByteArray((Serializer.ProcessToByteArray(process1))); - - // Then that step's name and guid should still be the same. - Assert.AreEqual(process1.Data.FirstChapter.Data.FirstStep.Data.Name, - process2.Data.FirstChapter.Data.FirstStep.Data.Name); - Assert.AreEqual(process1.Data.FirstChapter.Data.FirstStep.StepMetadata.Guid, - process2.Data.FirstChapter.Data.FirstStep.StepMetadata.Guid); - - return null; - } - - [UnityTest] - public IEnumerator NestedChapter() - { - // Given a chapter nested in a step - IChapter nestedChapter = new LinearChapterBuilder("NestedChapter") - .AddStep(new BasicStepBuilder("Step 1")) - .Build(); - - IProcess process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new ExecuteChaptersBehavior(new[] { nestedChapter })))) - .Build(); - - // When we serialize and deserialize a process with it - IProcess testProcess = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process)); - - // Then chapter's type, name, first step and next chapter should not change. - EntityCollectionData data = testProcess.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First(behavior => behavior is ExecuteChaptersBehavior).Data as EntityCollectionData; - Assert.IsNotNull(data); - - IChapter nested = data.GetChildren().FirstOrDefault(); - Assert.IsNotNull(nested); - Assert.AreEqual(nested.ChapterMetadata.Guid, nestedChapter.ChapterMetadata.Guid); - Assert.AreEqual(nested.GetType(), nestedChapter.GetType()); - Assert.AreEqual(nested.Data.FirstStep.Data.Name, nestedChapter.Data.FirstStep.Data.Name); - Assert.AreEqual(nested.Data.FirstStep.StepMetadata.Guid, nestedChapter.Data.FirstStep.StepMetadata.Guid); - - return null; - } - - [UnityTest] - public IEnumerator NestedNestedChapter() - { - // Given a chapter nested in a step which is itself in a subchapter - IChapter level2 = new LinearChapterBuilder("Level 2") - .AddStep(new BasicStepBuilder("L2Step")) - .Build(); - - IChapter level1 = new LinearChapterBuilder("Level 1") - .AddStep(new BasicStepBuilder("L1Step") - .AddBehavior(new ExecuteChaptersBehavior(new[] { level2 }))) - .Build(); - - IProcess process = new LinearProcessBuilder("Process") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .AddBehavior(new ExecuteChaptersBehavior(new[] { level1 })))) - .Build(); - - // When we serialize and deserialize a process with it - IProcess testProcess = Serializer.ProcessFromByteArray(Serializer.ProcessToByteArray(process)); - - // Then chapter's type, name, first step and next chapter should not change. - EntityCollectionData data1 = testProcess.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First(behavior => behavior is ExecuteChaptersBehavior).Data as EntityCollectionData; - Assert.IsNotNull(data1); - - IChapter l1 = data1.GetChildren().FirstOrDefault(); - EntityCollectionData data2 = l1.Data.FirstStep.Data.Behaviors.Data.Behaviors.First(behavior => behavior is ExecuteChaptersBehavior).Data as EntityCollectionData; - Assert.IsNotNull(data2); - - IChapter l2 = data2.GetChildren().FirstOrDefault(); - Assert.IsNotNull(l2); - Assert.AreEqual(l2.ChapterMetadata.Guid, level2.ChapterMetadata.Guid); - Assert.AreEqual(l2.GetType(), level2.GetType()); - Assert.AreEqual(l2.Data.FirstStep.Data.Name, level2.Data.FirstStep.Data.Name); - Assert.AreEqual(l2.Data.FirstStep.StepMetadata.Guid, level2.Data.FirstStep.StepMetadata.Guid); - - return null; - } - } -} diff --git a/Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs.meta b/Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs.meta deleted file mode 100644 index 608630c3d..000000000 --- a/Tests/Core/PlayMode/Serialization/JsonProcessSerializerTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6404cac2506e457298d49ec2c4167bbf -timeCreated: 1539184949 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs b/Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs deleted file mode 100644 index 69d59a7d4..000000000 --- a/Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs +++ /dev/null @@ -1,179 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Serialization.NewtonsoftJson; -using Newtonsoft.Json; -using NUnit.Framework; -using UnityEngine; - -namespace VRBuilder.Core.Tests.Serialization -{ - public class JsonSerializationTests - { - private JsonSerializerSettings settings; - - [SetUp] - protected void Setup() - { - settings = NewtonsoftJsonProcessSerializer.ProcessSerializerSettings; - } - - [Test] - public void CanSerializeVector2() - { - // Given the JsonProcessSerializer.SerializerSettings are used to serialize. - // When a Vector2 is serialized - string data = JsonConvert.SerializeObject(Vector2.up, settings); - // Then the output is not null - Assert.IsFalse(string.IsNullOrEmpty(data)); - } - - [Test] - public void SerializedVector2CanBeReadAgain() - { - // Given a Vector2 input - Vector2 input = Vector2.up; - - // When parsed into json and back - string data = JsonConvert.SerializeObject(input, settings); - Vector2 output = JsonConvert.DeserializeObject(data, settings); - - // Then the input and output are equal - Assert.AreEqual(input, output); - } - - [Test] - public void CanSerializeVector3() - { - // Given the JsonProcessSerializer.SerializerSettings are used to serialize. - // When a Vector3 is serialized - string data = JsonConvert.SerializeObject(Vector3.up, settings); - // Then the output is not null - Assert.IsFalse(string.IsNullOrEmpty(data)); - } - - [Test] - public void SerializedVector3CanBeReadAgain() - { - // Given a Vector3 input - Vector3 input = Vector3.up; - - // When parsed into json and back - string data = JsonConvert.SerializeObject(input, settings); - Vector3 output = JsonConvert.DeserializeObject(data, settings); - - // Then the input and output are equal - Assert.AreEqual(input, output); - } - - [Test] - public void CanSerializeVector4() - { - // Given the JsonProcessSerializer.SerializerSettings are used to serialize. - // When a Vector4 is serialized - string data = JsonConvert.SerializeObject(Vector4.one, settings); - // Then the output is not null - Assert.IsFalse(string.IsNullOrEmpty(data)); - } - - [Test] - public void SerializedVector4CanBeReadAgain() - { - // Given a Vector4 input - Vector4 input = Vector4.one; - - // When parsed into json and back - string data = JsonConvert.SerializeObject(input, settings); - Vector4 output = JsonConvert.DeserializeObject(data, settings); - - // Then the input and output are equal - Assert.AreEqual(input, output); - } - - - [Test] - public void CanSerializeColor() - { - // Given the JsonProcessSerializer.SerializerSettings are used to serialize. - // When a unity color is serialized - string data = JsonConvert.SerializeObject(Color.blue, settings); - // Then the output is not null - Assert.IsFalse(string.IsNullOrEmpty(data)); - } - - [Test] - public void SerializedColorCanBeReadAgain() - { - // Given a Color input - Color input = Color.blue; - - // When parsed into json and back - string data = JsonConvert.SerializeObject(input, settings); - Color output = JsonConvert.DeserializeObject(data, settings); - - // Then the input and output are equal - Assert.AreEqual(input, output); - } - - [Test] - public void CanSerializeKeyframe() - { - // Given the JsonProcessSerializer.SerializerSettings are used to serialize. - // When a unity keyframe is serialized - Keyframe input = new Keyframe(0.1f, 0.5f, 1, 0.7f, 0.6f, 0.4f); - input.weightedMode = WeightedMode.In; - string data = JsonConvert.SerializeObject(new Keyframe(0.1f, 0.5f, 1, 0.7f, 0.6f, 0.4f), settings); - // Then the output is not null - Assert.IsFalse(string.IsNullOrEmpty(data)); - } - - [Test] - public void SerializedKeyframeCanBeReadAgain() - { - // Given a Color input - Keyframe input = new Keyframe(0.1f, 0.5f, 1, 0.7f, 0.6f, 0.4f); - input.weightedMode = WeightedMode.In; - - // When parsed into json and back - string data = JsonConvert.SerializeObject(input, settings); - Keyframe output = JsonConvert.DeserializeObject(data, settings); - - // Then the input and output are equal - Assert.AreEqual(input, output); - } - - [Test] - public void CanSerializeAnimationCurve() - { - // Given the JsonProcessSerializer.SerializerSettings are used to serialize. - // When a unity animation curve is serialized - Keyframe first = new Keyframe(0.1f, 0.5f, 1, 0.7f, 0.6f, 0.4f); - Keyframe second = new Keyframe(0.3f, 0.4f, 0.3f, 0.2f, 0.9f, 0.1f); - AnimationCurve curve = new AnimationCurve(first, second); - curve.preWrapMode = WrapMode.ClampForever; - curve.postWrapMode = WrapMode.Loop; - string data = JsonConvert.SerializeObject(curve, settings); - // Then the output is not null - Assert.IsFalse(string.IsNullOrEmpty(data)); - } - - [Test] - public void SerializedAnimationCurveCanBeReadAgain() - { - // Given an AnimationCurve input - Keyframe first = new Keyframe(0.1f, 0.5f, 1, 0.7f, 0.6f, 0.4f); - Keyframe second = new Keyframe(0.3f, 0.4f, 0.3f, 0.2f, 0.9f, 0.1f); - AnimationCurve input = new AnimationCurve(new[] { first, second }); - input.preWrapMode = WrapMode.ClampForever; - input.postWrapMode = WrapMode.Loop; - - // When parsed into json and back - string data = JsonConvert.SerializeObject(input, settings); - AnimationCurve output = JsonConvert.DeserializeObject(data, settings); - - // Then the input and output are equal - Assert.AreEqual(input, output); - } - } -} diff --git a/Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs.meta b/Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs.meta deleted file mode 100644 index 7994b9b8f..000000000 --- a/Tests/Core/PlayMode/Serialization/JsonSerializationTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 092a2f58891748a5b7bf4da0490794a3 -timeCreated: 1557824336 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs b/Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs deleted file mode 100644 index ca016839b..000000000 --- a/Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System; -using System.Linq; -using NUnit.Framework; -using VRBuilder.Core; -using VRBuilder.Core.Serialization; -using VRBuilder.Core.Tests.Utils.Builders; - -namespace VRBuilder.Editor.Tests -{ - public class SerializationLengthTests - { - - [Test] - public void RunSerializerWithLinear() - { - int length = 100; - IProcess process = CreateProcess(length); - - ImprovedNewtonsoftJsonProcessSerializer serializer = new ImprovedNewtonsoftJsonProcessSerializer(); - try - { - byte[] data = serializer.ProcessToByteArray(process); - serializer.ProcessFromByteArray(data); - } - catch (Exception) - { - Assert.Fail("failed with a length of: " + length); - } - } - - [Test] - public void RunSerializerWithSplit() - { - int length = 200; - IProcess process = CreateSplitProcess(length); - - ImprovedNewtonsoftJsonProcessSerializer serializer = new ImprovedNewtonsoftJsonProcessSerializer(); - try - { - byte[] data = serializer.ProcessToByteArray(process); - serializer.ProcessFromByteArray(data); - } - catch (Exception) - { - Assert.Fail("failed with a length of: " + length); - } - } - - [Test] - public void RunSerializerWithEarlyFinish() - { - int length = 500; - IProcess process = CreateProcess(length); - - ImprovedNewtonsoftJsonProcessSerializer serializer = new ImprovedNewtonsoftJsonProcessSerializer(); - try - { - Transition t1 = new Transition(); - t1.Data.TargetStep = null; - process.Data.Chapters[0].Data.Steps.First().Data.Transitions.Data.Transitions.Insert(0, t1); - - byte[] data = serializer.ProcessToByteArray(process); - serializer.ProcessFromByteArray(data); - } - catch (Exception) - { - Assert.Fail("failed with a length of: " + length); - } - } - - private IProcess CreateProcess(int length) - { - - LinearChapterBuilder chapterBuilder = new LinearChapterBuilder("chapter"); - for (int i = 0; i < length; i++) - { - chapterBuilder.AddStep(new BasicStepBuilder("Step#" + i)); - } - - return new LinearProcessBuilder("Process") - .AddChapter(chapterBuilder) - .Build(); - } - - private IProcess CreateSplitProcess(int length) - { - - LinearChapterBuilder[] chapterBuilder = new[] { new LinearChapterBuilder("chapter"), new LinearChapterBuilder("chapter"), new LinearChapterBuilder("chapter") }; - - for (int c = 0; c < 3; c++) - { - for (int i = 0; i < length; i++) - { - chapterBuilder[c].AddStep(new BasicStepBuilder("Step#" + i)); - } - } - - Chapter chapter = chapterBuilder[0].Build(); - - - Chapter c1 = chapterBuilder[1].Build(); - Transition t1 = new Transition(); - t1.Data.TargetStep = c1.Data.FirstStep; - - - Chapter c2 = chapterBuilder[1].Build(); - Transition t2 = new Transition(); - t2.Data.TargetStep = c2.Data.FirstStep; - - - chapter.Data.FirstStep.Data.Transitions.Data.Transitions.Add(t1); - chapter.Data.FirstStep.Data.Transitions.Data.Transitions.Add(t2); - - - Transition t1end = new Transition(); - t1end.Data.TargetStep = chapter.Data.Steps.Last(); - c1.Data.Steps.Last().Data.Transitions.Data.Transitions.Add(t1end); - - - Transition t2end = new Transition(); - t2end.Data.TargetStep = chapter.Data.Steps.Last(); - c2.Data.Steps.Last().Data.Transitions.Data.Transitions.Add(t2end); - - c1.Data.Steps.ToList().ForEach(chapter.Data.Steps.Add); - c2.Data.Steps.ToList().ForEach(chapter.Data.Steps.Add); - - return new Process("name", chapter); - } - } -} diff --git a/Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs.meta b/Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs.meta deleted file mode 100644 index 05433527e..000000000 --- a/Tests/Core/PlayMode/Serialization/SerializationLengthTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: bebdb2b0864048b5a6b8a6f5d5247e38 -timeCreated: 1605781103 \ No newline at end of file diff --git a/Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs b/Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs deleted file mode 100644 index d8f850a8d..000000000 --- a/Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System; -using System.Linq; -using NUnit.Framework; -using VRBuilder.Core; -using VRBuilder.Core.Serialization; -using VRBuilder.Core.Tests.Utils.Builders; - -namespace VRBuilder.Editor.Tests -{ - public class SerializationLengthTestsV3 - { - - [Test] - public void RunSerializerWithLinear() - { - int length = 100; - IProcess process = CreateProcess(length); - - NewtonsoftJsonProcessSerializerV3 serializer = new NewtonsoftJsonProcessSerializerV3(); - try - { - byte[] data = serializer.ProcessToByteArray(process); - serializer.ProcessFromByteArray(data); - } - catch (Exception) - { - Assert.Fail("failed with a length of: " + length); - } - } - - [Test] - public void RunSerializerWithSplit() - { - int length = 200; - IProcess process = CreateSplitProcess(length); - - NewtonsoftJsonProcessSerializerV3 serializer = new NewtonsoftJsonProcessSerializerV3(); - try - { - byte[] data = serializer.ProcessToByteArray(process); - serializer.ProcessFromByteArray(data); - } - catch (Exception) - { - Assert.Fail("failed with a length of: " + length); - } - } - - [Test] - public void RunSerializerWithEarlyFinish() - { - int length = 500; - IProcess process = CreateProcess(length); - - NewtonsoftJsonProcessSerializerV3 serializer = new NewtonsoftJsonProcessSerializerV3(); - try - { - Transition t1 = new Transition(); - t1.Data.TargetStep = null; - process.Data.Chapters[0].Data.Steps.First().Data.Transitions.Data.Transitions.Insert(0, t1); - - byte[] data = serializer.ProcessToByteArray(process); - serializer.ProcessFromByteArray(data); - } - catch (Exception) - { - Assert.Fail("failed with a length of: " + length); - } - } - - private IProcess CreateProcess(int length) - { - - LinearChapterBuilder chapterBuilder = new LinearChapterBuilder("chapter"); - for (int i = 0; i < length; i++) - { - chapterBuilder.AddStep(new BasicStepBuilder("Step#" + i)); - } - - return new LinearProcessBuilder("Process") - .AddChapter(chapterBuilder) - .Build(); - } - - private IProcess CreateSplitProcess(int length) - { - - LinearChapterBuilder[] chapterBuilder = new[] { new LinearChapterBuilder("chapter"), new LinearChapterBuilder("chapter"), new LinearChapterBuilder("chapter") }; - - for (int c = 0; c < 3; c++) - { - for (int i = 0; i < length; i++) - { - chapterBuilder[c].AddStep(new BasicStepBuilder("Step#" + i)); - } - } - - Chapter chapter = chapterBuilder[0].Build(); - - - Chapter c1 = chapterBuilder[1].Build(); - Transition t1 = new Transition(); - t1.Data.TargetStep = c1.Data.FirstStep; - - - Chapter c2 = chapterBuilder[1].Build(); - Transition t2 = new Transition(); - t2.Data.TargetStep = c2.Data.FirstStep; - - - chapter.Data.FirstStep.Data.Transitions.Data.Transitions.Add(t1); - chapter.Data.FirstStep.Data.Transitions.Data.Transitions.Add(t2); - - - Transition t1end = new Transition(); - t1end.Data.TargetStep = chapter.Data.Steps.Last(); - c1.Data.Steps.Last().Data.Transitions.Data.Transitions.Add(t1end); - - - Transition t2end = new Transition(); - t2end.Data.TargetStep = chapter.Data.Steps.Last(); - c2.Data.Steps.Last().Data.Transitions.Data.Transitions.Add(t2end); - - c1.Data.Steps.ToList().ForEach(chapter.Data.Steps.Add); - c2.Data.Steps.ToList().ForEach(chapter.Data.Steps.Add); - - return new Process("name", chapter); - } - } -} diff --git a/Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs.meta b/Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs.meta deleted file mode 100644 index 90236ec6c..000000000 --- a/Tests/Core/PlayMode/Serialization/SerializationLengthTestsV3.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 3c9da6ddb67e7954d90071b76188cd84 -timeCreated: 1605781103 \ No newline at end of file diff --git a/Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef b/Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef deleted file mode 100644 index b870c58cf..000000000 --- a/Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "VRBuilder.Core.Tests.PlayMode", - "rootNamespace": "", - "references": [ - "GUID:27619889b8ba8c24980f49ee34dbb44a", - "GUID:0acc523941302664db1f4e527237feb3", - "GUID:c8561f9de838ac04d8feeda695bc572d", - "GUID:e476a81b6ef7b824686666349a591a9a", - "GUID:ed4af906a53b389478975e0296b00c9f" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll", - "Newtonsoft.Json.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS", - "VR_BUILDER" - ], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef.meta b/Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef.meta deleted file mode 100644 index f229e14b1..000000000 --- a/Tests/Core/PlayMode/VRBuilder.Core.Tests.PlayMode.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 880cbf18a8d0b304e905a848d71cf547 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils.meta b/Tests/TestUtils.meta deleted file mode 100644 index 49ee0c9e6..000000000 --- a/Tests/TestUtils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f7a336f86af690c4bb733c0edbc5d4b2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders.meta b/Tests/TestUtils/Builders.meta deleted file mode 100644 index b77a6fc30..000000000 --- a/Tests/TestUtils/Builders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 223edb327b7f5c844834419141511dec -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/BasicProcessStepBuilder.cs b/Tests/TestUtils/Builders/BasicProcessStepBuilder.cs deleted file mode 100644 index 908fe5a88..000000000 --- a/Tests/TestUtils/Builders/BasicProcessStepBuilder.cs +++ /dev/null @@ -1,229 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using VRBuilder.Core.Audio; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Basic step builder that creates step of type . - /// - public class BasicProcessStepBuilder : BasicStepBuilder - { - private const float defaultAudioDelay = 15f; - - #region private static methods - private static ISceneObject GetFromRegistry(string name) - { - return RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(Guid.Parse(name)).FirstOrDefault(); - } - #endregion - - protected bool IsAudioAddedOnlyManually { get; set; } - - protected bool IsAudioDescriptionAdded { get; set; } - - protected bool IsAudioSuccessAdded { get; set; } - - protected bool IsAudioHintAdded { get; set; } - - /// - /// This builder will create step with given name. - /// - /// Name of a step. - public BasicProcessStepBuilder(string name) : base(name) - { - - } - - #region public methods - /// - public new BasicProcessStepBuilder SetResourcePath(string path) - { - base.SetResourcePath(path); - return this; - } - - /// - /// Play audio at the beginning of the step. - /// - /// Path to audio clip. - /// This. - public BasicProcessStepBuilder AddAudioDescription(string path) - { - AddSecondPassAction(() => AudioDescriptionAction(path)); - return this; - } - - /// - /// Play audio at the end of the step. - /// - /// Path to audio clip. - /// This. - public BasicProcessStepBuilder AddAudioSuccess(string path) - { - AddSecondPassAction(() => AudioSuccessAction(path)); - return this; - } - - /// - /// Play audio with a delay. - /// - /// Path to audioclip. - /// The delay between entering the step and playing the audio clip. - /// This. - public BasicProcessStepBuilder AddAudioHint(string path, float delayInSeconds = defaultAudioDelay) - { - AddSecondPassAction(() => AudioHintAction(path, delayInSeconds)); - return this; - } - - /// - /// Enable game objects for the duration of the step. - /// - /// Target objects. - /// This. - public BasicProcessStepBuilder Enable(params ISceneObject[] toEnable) - { - AddSecondPassAction(() => - { - foreach (ISceneObject processObject in toEnable) - { - Result.Data.Behaviors.Data.Behaviors.Add(new SetObjectsEnabledBehavior(processObject.Guid, true)); - } - }); - - return this; - } - - /// - /// Enable game objects for the duration of the step. - /// - /// Names of target objects. - /// This. - public BasicProcessStepBuilder Enable(params string[] toEnable) - { - return Enable(toEnable.Select(GetFromRegistry).ToArray()); - } - - /// - /// Disable game objects for the duration of the step. - /// - /// List of objects to disable. - /// This. - public BasicProcessStepBuilder Disable(params ISceneObject[] toDisable) - { - AddSecondPassAction(() => - { - foreach (ISceneObject processObject in toDisable) - { - Result.Data.Behaviors.Data.Behaviors.Add(new SetObjectsEnabledBehavior(processObject.Guid, false)); - } - }); - return this; - } - - /// - /// Disable game objects for the duration of the step. - /// - /// List of names of the objects to disable. - /// This. - public BasicProcessStepBuilder Disable(params string[] toDisable) - { - return Disable(toDisable.Select(GetFromRegistry).ToArray()); - } - - /// - /// Highlight objects. - /// - /// List of objects to highlight. - /// This. - public BasicProcessStepBuilder Highlight(params string[] toHighlight) - { - return Highlight(toHighlight.Select(GetFromRegistry).ToArray()); - } - - /// - /// Highlight objects. - /// - /// List of objects to highlight. - /// This. - public BasicProcessStepBuilder Highlight(params ISceneObject[] toHighlight) - { - AddSecondPassAction(() => - { - foreach (ISceneObject processObject in toHighlight) - { - if (processObject.CheckHasProperty()) - { - Result.Data.Behaviors.Data.Behaviors.Add(new HighlightObjectBehavior(processObject.GetProperty())); - } - } - }); - - return this; - } - #endregion - - #region protected methods - protected virtual void AudioDescriptionAction(string path) - { - if (IsAudioDescriptionAdded) - { - throw new InvalidOperationException("AddAudioDescriptionAction can be called only once per step builder."); - } - - IsAudioDescriptionAdded = true; - - Result.Data.Behaviors.Data.Behaviors.Add(new PlayAudioBehavior(new ResourceAudio(path), BehaviorExecutionStages.Activation)); - } - - protected virtual void AudioSuccessAction(string path) - { - if (IsAudioSuccessAdded) - { - throw new InvalidOperationException("AddAudioSuccessAction can be called only once per step builder."); - } - - IsAudioSuccessAdded = true; - - Result.Data.Behaviors.Data.Behaviors.Add(new PlayAudioBehavior(new ResourceAudio(path), BehaviorExecutionStages.Deactivation)); - } - - protected virtual void AudioHintAction(string path, float delayInSeconds = defaultAudioDelay) - { - if (IsAudioHintAdded) - { - throw new InvalidOperationException("AddAudioHintAction can be called only once per step builder."); - } - - IsAudioHintAdded = true; - - Result.Data.Behaviors.Data.Behaviors.Add( - new BehaviorSequence( - false, - new List - { - new DelayBehavior(delayInSeconds), - new PlayAudioBehavior(new ResourceAudio(path), BehaviorExecutionStages.Activation) - }, - false)); - } - - protected override void Cleanup() - { - base.Cleanup(); - - IsAudioAddedOnlyManually = false; - - IsAudioDescriptionAdded = false; - IsAudioSuccessAdded = false; - IsAudioHintAdded = false; - } - #endregion - } -} diff --git a/Tests/TestUtils/Builders/BasicProcessStepBuilder.cs.meta b/Tests/TestUtils/Builders/BasicProcessStepBuilder.cs.meta deleted file mode 100644 index c2f41b1e5..000000000 --- a/Tests/TestUtils/Builders/BasicProcessStepBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 88a32583bcc8f3f40afb6cd676069f14 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/BasicProcessSteps.cs b/Tests/TestUtils/Builders/BasicProcessSteps.cs deleted file mode 100644 index 9bf39bab4..000000000 --- a/Tests/TestUtils/Builders/BasicProcessSteps.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Linq; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Utils; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Static class to provide fast access to predefined builders. - /// - public static class BasicProcessSteps - { - /// - /// Gets the with given from the registry. - /// - /// Name of scene object. - /// with given name. - private static ISceneObject GetFromRegistry(string name) - { - return RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(Guid.Parse(name)).FirstOrDefault(); - } - - /// - /// Get builder for a step during which user has to put given objects into given collider. - /// - /// Name of the step. - /// Collider in which user should put objects. - /// How long an object should be inside the collider to be registered. - /// List of objects to put into collider. - /// Configured builder. - public static BasicStepBuilder PutIntoCollider(string name, ISceneObject targetCollider, float triggerDelay = 0f, params ISceneObject[] objectsToPut) - { - return PutIntoCollider(name, ProcessReferenceUtils.GetUniqueIdFrom(targetCollider).ToString(), triggerDelay, objectsToPut.Select(o => ProcessReferenceUtils.GetUniqueIdFrom(o).ToString()).ToArray()); - } - - /// - /// Get builder for a step during which user has to put given objects into given collider. - /// - /// Name of the step. - /// Collider in which user should put objects. - /// How long an object should be inside the collider to be registered. - /// List of objects to put into collider. - /// Configured builder. - public static BasicStepBuilder PutIntoCollider(string name, string targetCollider, float triggerDelay = 0f, params string[] objectsToPut) - { - BasicStepBuilder builder = new BasicStepBuilder(name); - - foreach (string objectToPut in objectsToPut) - { - builder.AddCondition(new ObjectInColliderCondition(Guid.Parse(targetCollider), Guid.Parse(objectToPut), 0)); - } - - return builder; - } - } -} diff --git a/Tests/TestUtils/Builders/BasicProcessSteps.cs.meta b/Tests/TestUtils/Builders/BasicProcessSteps.cs.meta deleted file mode 100644 index e01647d78..000000000 --- a/Tests/TestUtils/Builders/BasicProcessSteps.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 53248366df798484391402ffa561b62e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/BasicStepBuilder.cs b/Tests/TestUtils/Builders/BasicStepBuilder.cs deleted file mode 100644 index d24ccb0c7..000000000 --- a/Tests/TestUtils/Builders/BasicStepBuilder.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Linq; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Basic step builder that creates step of type . - /// - public class BasicStepBuilder : StepBuilder - { - #region private static methods - private static ISceneObject GetFromRegistry(string name) - { - return RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(Guid.Parse(name)).FirstOrDefault(); - } - #endregion - - /// - /// This builder will create step with given name. - /// - /// Name of a step. - public BasicStepBuilder(string name) : base(name) - { - Cleanup(); - - AddSecondPassAction(() => Result = new Step(name)); - AddSecondPassAction(() => Result.Data.Transitions.Data.Transitions.Add(new Transition())); - } - - #region public methods - /// - /// Add behavior to a step. - /// - /// Behavior to add. - /// This instance to support method chaining pattern. - public BasicStepBuilder AddBehavior(IBehavior behavior) - { - AddSecondPassAction(() => Result.Data.Behaviors.Data.Behaviors.Add(behavior)); - return this; - } - - /// - /// Add condition to a step. - /// - /// Condition to add. - /// This instance to support method chaining pattern. - public BasicStepBuilder AddCondition(ICondition condition) - { - AddSecondPassAction(() => Result.Data.Transitions.Data.Transitions.First().Data.Conditions.Add(condition)); - return this; - } - #endregion - } -} diff --git a/Tests/TestUtils/Builders/BasicStepBuilder.cs.meta b/Tests/TestUtils/Builders/BasicStepBuilder.cs.meta deleted file mode 100644 index beece8ade..000000000 --- a/Tests/TestUtils/Builders/BasicStepBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3fec3d8edd4023745a1959aa005f3867 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/Builder.cs b/Tests/TestUtils/Builders/Builder.cs deleted file mode 100644 index 60b857836..000000000 --- a/Tests/TestUtils/Builders/Builder.cs +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using VRBuilder.Core.Utils; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Abstract Builder pattern class. - /// An actual resulting object configuration is made through delayed execution of Actions. - /// This way, it guarantees that with every Build() call a completely new instance will be created. - /// - /// Type of an object to build. - public abstract class Builder - { - /// - /// Object that is currently being built or was built during the last Build() call. - /// - protected T Result { get; set; } - - private DelayedExecutionQueue executionQueue = new DelayedExecutionQueue(); - - /// - /// Add an Action to a first execution pass. - /// Typically, you want to add Actions which have to be called prior result object creation through this method. - /// - /// An Action to be executed in a first pass. - protected void AddFirstPassAction(Action action) - { - executionQueue.AddFirstPassAction(action); - } - - /// - /// Add an Action to a second execution pass. - /// Typically, you want to add instantiation of an object there first (Builder constructor is a good place to call this method). - /// Then, add everything that has to be executed after the object is created. - /// - /// An Action to be executed in a second pass. - protected void AddSecondPassAction(Action action) - { - executionQueue.AddSecondPassAction(action); - } - - /// - /// Build an object and return it. - /// Calls Cleanup() prior to execution of stored Actions. - /// - /// Resulting object that had been built. - public virtual T Build() - { - Cleanup(); - executionQueue.Execute(); - return Result; - } - - /// - /// Clear changes you've made during previous Build() call there. - /// For example, nullify previous result or clear some buffer variables. - /// - protected virtual void Cleanup() - { - Result = default(T); - } - } -} diff --git a/Tests/TestUtils/Builders/Builder.cs.meta b/Tests/TestUtils/Builders/Builder.cs.meta deleted file mode 100644 index fb5bed7d8..000000000 --- a/Tests/TestUtils/Builders/Builder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 83bb9b32801e37344945bbfae6737709 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/BuilderWithResourcePath.cs b/Tests/TestUtils/Builders/BuilderWithResourcePath.cs deleted file mode 100644 index fd0ca6a56..000000000 --- a/Tests/TestUtils/Builders/BuilderWithResourcePath.cs +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Abstract Builder with ResourcePath property. - /// - /// - public abstract class BuilderWithResourcePath : Builder - { - public string ResourcePath { get; protected set; } - protected string ResourceSubPath { get; set; } - - public BuilderWithResourcePath(string resourceSubPath) - { - ResourceSubPath = resourceSubPath; - } - - /// - /// Combine ResourcePath using the result of getPath() call and ResourceSubPath. Used mostly for internal purposes. - /// - /// Delegate which returns parent directory. - public virtual void SetRelativeResourcePathAction(Func getPath) - { - string path = getPath(); - - if (path == null) - { - return; - } - - ResourcePath = path; - - if (path.Length > 0 && path[path.Length - 1] != '/') - { - ResourcePath += '/'; - } - - ResourcePath += ResourceSubPath; - } - - /// - /// Queues an Action to set ResourcePath. - /// - /// value to set ResourcePath to. - /// this. - public BuilderWithResourcePath SetResourcePath(string path) - { - AddFirstPassAction(() => ResourcePath = path); - return this; - } - } -} diff --git a/Tests/TestUtils/Builders/BuilderWithResourcePath.cs.meta b/Tests/TestUtils/Builders/BuilderWithResourcePath.cs.meta deleted file mode 100644 index 05b3c1342..000000000 --- a/Tests/TestUtils/Builders/BuilderWithResourcePath.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 694e92b537ab5b14abe332f9e92e8089 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/ChapterBuilder.cs b/Tests/TestUtils/Builders/ChapterBuilder.cs deleted file mode 100644 index 47abfad19..000000000 --- a/Tests/TestUtils/Builders/ChapterBuilder.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - public abstract class ChapterBuilder : BuilderWithResourcePath where TChapter : IChapter - { - public ChapterBuilder(string resourceSubPath) : base(resourceSubPath) - { - - } - } -} diff --git a/Tests/TestUtils/Builders/ChapterBuilder.cs.meta b/Tests/TestUtils/Builders/ChapterBuilder.cs.meta deleted file mode 100644 index fd23a905d..000000000 --- a/Tests/TestUtils/Builders/ChapterBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 845c0fcb9ddbab048ace54092702a3c3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/DefaultSteps.cs b/Tests/TestUtils/Builders/DefaultSteps.cs deleted file mode 100644 index f1e5c5314..000000000 --- a/Tests/TestUtils/Builders/DefaultSteps.cs +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Linq; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Static class to provide fast access to predefined builders. - /// - public static class DefaultSteps - { - /// - /// Gets the with given from the registry. - /// - /// Name of scene object. - /// with given name. - private static ISceneObject GetFromRegistry(string name) - { - return RuntimeConfigurator.Configuration.SceneObjectRegistry.GetObjects(Guid.Parse(name)).FirstOrDefault(); - } - - /// - /// Get intro step builder. - /// - /// The name of the step. - /// Basic step builder with configured name. - public static BasicStepBuilder Intro(string name) - { - return new BasicStepBuilder(name); - } - } -} diff --git a/Tests/TestUtils/Builders/DefaultSteps.cs.meta b/Tests/TestUtils/Builders/DefaultSteps.cs.meta deleted file mode 100644 index c54460a7d..000000000 --- a/Tests/TestUtils/Builders/DefaultSteps.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b1fb5aad30ed22d4288919637ba7f866 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/LinearChapterBuilder.cs b/Tests/TestUtils/Builders/LinearChapterBuilder.cs deleted file mode 100644 index 31c12e80e..000000000 --- a/Tests/TestUtils/Builders/LinearChapterBuilder.cs +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections.Generic; -using System.Linq; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Builder for a linear chapter. - /// - public class LinearChapterBuilder : ChapterBuilder - { - protected IStep FirstStep { get; set; } - protected IStep LastStep { get; set; } - protected List Steps { get; set; } - - /// - /// This builder will create a chapter with given name. - /// - /// Name of a chapter. - public LinearChapterBuilder(string name) : base(name) - { - Steps = new List(); - - AddSecondPassAction(() => - { - Result = new Chapter(name, FirstStep); - Result.Data.Steps = Steps.ToList(); - }); - } - - /// - /// Adds a step to a chapter. - /// - /// Type of step to add to chapter. - /// Builder for a step. - /// Itself as implementation of method chaining pattern. - public LinearChapterBuilder AddStep(StepBuilder stepBuilder) where TStep : IStep - { - AddFirstPassAction(() => - { - stepBuilder.SetRelativeResourcePathAction(() => ResourcePath); - }); - - AddFirstPassAction(() => - { - TStep step = stepBuilder.Build(); - - if (FirstStep == null) - { - FirstStep = step; - } - - if (LastStep != null) - { - LastStep.Data.Transitions.Data.Transitions.First().Data.TargetStep = step; - } - - LastStep = step; - - Steps.Add(step); - }); - - return this; - } - - public new LinearChapterBuilder SetResourcePath(string path) - { - base.SetResourcePath(path); - return this; - } - - /// - protected override void Cleanup() - { - base.Cleanup(); - FirstStep = null; - LastStep = null; - } - } -} diff --git a/Tests/TestUtils/Builders/LinearChapterBuilder.cs.meta b/Tests/TestUtils/Builders/LinearChapterBuilder.cs.meta deleted file mode 100644 index 1eea5b41e..000000000 --- a/Tests/TestUtils/Builders/LinearChapterBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 72ef2b270fdb2e841862d3cdcb2e7afd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/LinearProcessBuilder.cs b/Tests/TestUtils/Builders/LinearProcessBuilder.cs deleted file mode 100644 index 328066a26..000000000 --- a/Tests/TestUtils/Builders/LinearProcessBuilder.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections.Generic; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - /// - /// Builder that creates linear processes. - /// - public class LinearProcessBuilder : ProcessBuilder - { - public List Chapters { get; set; } - - /// - /// The builder will create a process with given name. - /// - /// Name of the process. - public LinearProcessBuilder(string name, string rootResourceFolder = "") : base(name) - { - Chapters = new List(); - AddFirstPassAction(() => SetRelativeResourcePathAction(() => rootResourceFolder)); - AddSecondPassAction(() => Result = new Process(name, Chapters)); - } - - /// - /// Add an Action to an execution queue that makes necessary operations over a chapter it gets from the chapterBuilder. - /// - public LinearProcessBuilder AddChapter(ChapterBuilder chapterBuilder) where TChapter : IChapter - { - AddFirstPassAction(() => - { - chapterBuilder.SetRelativeResourcePathAction(() => ResourcePath); - }); - - AddFirstPassAction(() => - { - Chapters.Add(chapterBuilder.Build()); - }); - return this; - } - - public new LinearProcessBuilder SetResourcePath(string path) - { - base.SetResourcePath(path); - return this; - } - - /// - protected override void Cleanup() - { - base.Cleanup(); - Chapters.Clear(); - } - - } -} diff --git a/Tests/TestUtils/Builders/LinearProcessBuilder.cs.meta b/Tests/TestUtils/Builders/LinearProcessBuilder.cs.meta deleted file mode 100644 index 51142ed83..000000000 --- a/Tests/TestUtils/Builders/LinearProcessBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 61dbf1ec771fc5948a861904a2d40048 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/ProcessBuilder.cs b/Tests/TestUtils/Builders/ProcessBuilder.cs deleted file mode 100644 index b6b93678b..000000000 --- a/Tests/TestUtils/Builders/ProcessBuilder.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - public abstract class ProcessBuilder : BuilderWithResourcePath where TProcess : IProcess - { - public ProcessBuilder(string name) : base(name) - { - } - } -} diff --git a/Tests/TestUtils/Builders/ProcessBuilder.cs.meta b/Tests/TestUtils/Builders/ProcessBuilder.cs.meta deleted file mode 100644 index 0e7655713..000000000 --- a/Tests/TestUtils/Builders/ProcessBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 10a137ce207bab54f9e509e9357b8d5d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/StepBuilder.cs b/Tests/TestUtils/Builders/StepBuilder.cs deleted file mode 100644 index dade80ee7..000000000 --- a/Tests/TestUtils/Builders/StepBuilder.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - public abstract class StepBuilder : BuilderWithResourcePath - { - public StepBuilder(string name) : base(name) - { - } - } -} diff --git a/Tests/TestUtils/Builders/StepBuilder.cs.meta b/Tests/TestUtils/Builders/StepBuilder.cs.meta deleted file mode 100644 index 4b2645e07..000000000 --- a/Tests/TestUtils/Builders/StepBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f0c6702d421315c45869a7574327aa37 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Builders/TestLinearChapterBuilder.cs b/Tests/TestUtils/Builders/TestLinearChapterBuilder.cs deleted file mode 100644 index ea1fe00e5..000000000 --- a/Tests/TestUtils/Builders/TestLinearChapterBuilder.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections.Generic; -using System.Linq; -using VRBuilder.Core.Tests.Utils.Mocks; - -namespace VRBuilder.Core.Tests.Utils.Builders -{ - public class TestLinearChapterBuilder - { - public readonly string Name; - - public readonly List Steps = new List(); - public readonly List StepTriggerConditions = new List(); - - public TestLinearChapterBuilder(string name) - { - Name = name; - } - - public Step AddStep(string name) - { - Step step = new Step(name); - - step.Data.Transitions.Data.Transitions.Add(new Transition()); - - if (Steps.Count > 0) - { - Steps.Last().Data.Transitions.Data.Transitions.First().Data.TargetStep = step; - } - - Steps.Add(step); - return step; - } - - public Chapter Build() - { - Chapter result = new Chapter(Name, Steps.First()); - result.Data.Steps = Steps.Cast().ToList(); - return result; - } - - public static TestLinearChapterBuilder SetupChapterBuilder(int steps = 3, bool addTriggerConditions = true) - { - TestLinearChapterBuilder builder = new TestLinearChapterBuilder("Chapter1"); - for (int i = 0; i < steps; i++) - { - builder.AddStep("Step" + (i + 1)); - if (addTriggerConditions) - { - EndlessConditionMock conditionMock = new EndlessConditionMock(); - builder.Steps[i].Data.Transitions.Data.Transitions.First().Data.Conditions.Add(conditionMock); - builder.StepTriggerConditions.Add(conditionMock); - } - } - return builder; - } - } -} diff --git a/Tests/TestUtils/Builders/TestLinearChapterBuilder.cs.meta b/Tests/TestUtils/Builders/TestLinearChapterBuilder.cs.meta deleted file mode 100644 index 7a5ff90af..000000000 --- a/Tests/TestUtils/Builders/TestLinearChapterBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a6189e63ac0f3ba4ea60912fe663482b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/DelayedExecutionQueue.cs b/Tests/TestUtils/DelayedExecutionQueue.cs deleted file mode 100644 index 22494699f..000000000 --- a/Tests/TestUtils/DelayedExecutionQueue.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Collections.Generic; - -namespace VRBuilder.Core.Utils -{ - /// - /// Class for delayed execution of Action delegates. - /// - public class DelayedExecutionQueue - { - private List firstPassQueue = new List(); - - private List secondPassQueue = new List(); - - /// - /// Adds an Action to the end of the first execution queue. - /// - /// - public void AddFirstPassAction(Action action) - { - firstPassQueue.Add(action); - } - - /// - /// Adds an Action to the end of the second execution queue. - /// - /// - public void AddSecondPassAction(Action action) - { - secondPassQueue.Add(action); - } - - /// - /// Invokes every Action in the first queue and then in the second. - /// - public void Execute() - { - foreach (Action action in firstPassQueue) - { - action.Invoke(); - } - - foreach (Action action in secondPassQueue) - { - action.Invoke(); - } - } - } -} diff --git a/Tests/TestUtils/DelayedExecutionQueue.cs.meta b/Tests/TestUtils/DelayedExecutionQueue.cs.meta deleted file mode 100644 index e4727a8da..000000000 --- a/Tests/TestUtils/DelayedExecutionQueue.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 880a5f9b7e1ec354ba6d7cc6fd3330fe -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks.meta b/Tests/TestUtils/Mocks.meta deleted file mode 100644 index 93435a953..000000000 --- a/Tests/TestUtils/Mocks.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 16bd1a7d24957df4e939f33c98d7f5f4 -folderAsset: yes -timeCreated: 1528200868 -licenseType: Pro -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors.meta b/Tests/TestUtils/Mocks/Behaviors.meta deleted file mode 100644 index f31c6e7fd..000000000 --- a/Tests/TestUtils/Mocks/Behaviors.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 75c581bc9ff402145bf1a57f22c25ee5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs deleted file mode 100644 index 2d316a1da..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration.Modes; -using UnityEngine; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper behavior for testing which has an activation state. - /// - public class ActivationStageBehaviorMock : Behavior, IOptional - { - public class EntityData : IBehaviorData - { - public BehaviorExecutionStages ExecutionStages { get; set; } - - public AudioSource AudioPlayer { get; set; } - - public Metadata Metadata { get; set; } - public string Name { get; set; } - } - - private class HasExecutionStageProcess : StageProcess - { - private BehaviorExecutionStages executionStages; - - public HasExecutionStageProcess(BehaviorExecutionStages executionStages, EntityData data) : base(data) - { - this.executionStages = executionStages; - } - - public override void Start() - { - } - - public override IEnumerator Update() - { - if ((Data.ExecutionStages & executionStages) > 0) - { - yield return null; - } - } - - public override void End() - { - } - - public override void FastForward() - { - } - } - - public ActivationStageBehaviorMock(BehaviorExecutionStages executionStages, string name = "Activation Stage Mock") - { - Data.ExecutionStages = executionStages; - Data.Name = name; - } - - public override IStageProcess GetActivatingProcess() - { - return new HasExecutionStageProcess(BehaviorExecutionStages.Activation, Data); - } - - public override IStageProcess GetDeactivatingProcess() - { - return new HasExecutionStageProcess(BehaviorExecutionStages.Deactivation, Data); - } - } -} diff --git a/Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs.meta deleted file mode 100644 index 3ace13fe2..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/ActivationStageBehaviorMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4b2f530ce804a9149b7b13bb05d5bbef -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs deleted file mode 100644 index 51e991498..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Behaviors; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper behavior for testing that does nothing - /// - public class EmptyBehaviorMock : Behavior - { - public class EntityData : IBehaviorData - { - public Metadata Metadata { get; set; } - public string Name { get; set; } - } - } -} diff --git a/Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs.meta deleted file mode 100644 index 799a248f4..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/EmptyBehaviorMock.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 33f40ba7b6395764f97d28f36852c50c -timeCreated: 1528286313 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs deleted file mode 100644 index 810b364b8..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections; -using VRBuilder.Core.Behaviors; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper behavior for testing that allows explicitly triggering finishing Activation / Deactivation - /// - public class EndlessBehaviorMock : Behavior - { - public class EntityData : IBackgroundBehaviorData - { - public Metadata Metadata { get; set; } - public string Name { get; set; } - public bool IsBlocking { get; set; } - } - - private class LoopProcess : IStageProcess - { - public void Start() - { - } - - public IEnumerator Update() - { - int endlessLoopProtection = 1000000; - while (endlessLoopProtection > 0) - { - endlessLoopProtection++; - yield return null; - } - } - - public void End() - { - } - - public void FastForward() - { - } - } - - public override IStageProcess GetActivatingProcess() - { - return new LoopProcess(); - } - - public override IStageProcess GetDeactivatingProcess() - { - return new LoopProcess(); - } - - public EndlessBehaviorMock(bool isBlocking = true) - { - Data.IsBlocking = isBlocking; - } - } -} diff --git a/Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs.meta deleted file mode 100644 index 70c6d1e61..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/EndlessBehaviorMock.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 74ea7e36dd4394143bdb38ced2b4b6e1 -timeCreated: 1528194586 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs deleted file mode 100644 index 3b0400f01..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Runtime.Serialization; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper behavior for testing that has a reference object. - /// - public class ObjectReferenceBehaviorMock : Behavior - { - public class EntityData : IBehaviorData - { - /// - /// Target scene object to be referenced. - /// - [Obsolete("Use SingleReferenceObject instead.")] - public ScenePropertyReference ReferenceObject { get; set; } - - [DataMember] - public SingleScenePropertyReference SingleReferenceObject { get; set; } - - public Metadata Metadata { get; set; } - public string Name { get; set; } - } - - public ObjectReferenceBehaviorMock(Guid sceneObjectId) - { - Data.SingleReferenceObject = new SingleScenePropertyReference(sceneObjectId); - } - } -} \ No newline at end of file diff --git a/Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs.meta deleted file mode 100644 index 4fccde06f..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/ObjectReferenceBehaviorMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ddc6797a4738551479c955cff763679f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs deleted file mode 100644 index 0c6a63631..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Configuration.Modes; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - public class OptionalEndlessBehaviorMock : EndlessBehaviorMock, IOptional - { - public OptionalEndlessBehaviorMock(bool isBlocking = true) : base(isBlocking) - { - } - } -} diff --git a/Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs.meta deleted file mode 100644 index 90f69298e..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/OptionalEndlessBehaviorMock.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 58ac147f6b674199ae293b5c27e61cab -timeCreated: 1558113016 \ No newline at end of file diff --git a/Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs deleted file mode 100644 index d2dbcf306..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs +++ /dev/null @@ -1,99 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections; -using VRBuilder.Core.Behaviors; -using UnityEngine; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper Behavior for testing that provides a behavior with fixed durations for activate and deactivate - /// - public class TimeoutBehaviorMock : Behavior - { - public class EntityData : IBehaviorData - { - public float ActivatingTime { get; set; } - public float DeactivatingTime { get; set; } - - public Metadata Metadata { get; set; } - public string Name { get; set; } - } - - public TimeoutBehaviorMock(float activatingTime, float deactivatingTime) - { - Data.ActivatingTime = activatingTime; - Data.DeactivatingTime = deactivatingTime; - } - - private class ActivatingProcess : StageProcess - { - public ActivatingProcess(EntityData data) : base(data) - { - } - - public override void Start() - { - } - - public override IEnumerator Update() - { - float startedAt = Time.time; - - while (Time.time - startedAt < Data.ActivatingTime) - { - yield return null; - } - } - - public override void End() - { - } - - public override void FastForward() - { - } - } - - private class DeactivatingProcess : StageProcess - { - public DeactivatingProcess(EntityData data) : base(data) - { - } - - public override void Start() - { - } - - public override IEnumerator Update() - { - float startedAt = Time.time; - - while (Time.time - startedAt < Data.DeactivatingTime) - { - yield return null; - } - } - - public override void End() - { - } - - public override void FastForward() - { - } - } - - public override IStageProcess GetActivatingProcess() - { - return new ActivatingProcess(Data); - } - - public override IStageProcess GetDeactivatingProcess() - { - return new DeactivatingProcess(Data); - } - } -} diff --git a/Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs.meta deleted file mode 100644 index 86ca501f7..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/TimeoutBehaviorMock.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: b174dc50cb426164d893aede38b5ae83 -timeCreated: 1528193355 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs b/Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs deleted file mode 100644 index 95aea00c2..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Behaviors; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper behavior for testing which just has a float value. - /// - public class ValueBehaviorMock : Behavior - { - public class EntityData : IBehaviorData - { - /// - /// Value which can be set. - /// - public float Value { get; set; } - - public Metadata Metadata { get; set; } - public string Name { get; set; } - } - - public ValueBehaviorMock(float value) - { - Data.Value = value; - } - } -} diff --git a/Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs.meta b/Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs.meta deleted file mode 100644 index de6f236bc..000000000 --- a/Tests/TestUtils/Mocks/Behaviors/ValueBehaviorMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6b46b5e8f677ca94b9c05e0098c93bf4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Conditions.meta b/Tests/TestUtils/Mocks/Conditions.meta deleted file mode 100644 index 536161a99..000000000 --- a/Tests/TestUtils/Mocks/Conditions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec4741627183357488f85822352e3599 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs b/Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs deleted file mode 100644 index c70c898cc..000000000 --- a/Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Runtime.Serialization; -using VRBuilder.Core.Conditions; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - [DataContract(IsReference = true)] - public class AutoCompletedCondition : Condition - { - [DataContract(IsReference = true)] - public class EntityData : IConditionData - { - public bool IsCompleted { get; set; } - - public string Name { get; set; } - - public Metadata Metadata { get; set; } - } - - private class ActiveProcess : InstantProcess - { - public ActiveProcess(EntityData data) : base(data) - { - } - - public override void Start() - { - Data.IsCompleted = true; - } - } - - public override IStageProcess GetActiveProcess() - { - return new ActiveProcess(Data); - } - } -} diff --git a/Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs.meta b/Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs.meta deleted file mode 100644 index 40253a922..000000000 --- a/Tests/TestUtils/Mocks/Conditions/AutoCompletedCondition.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: 880babc02825d4449b1e9985e67eab42 -timeCreated: 1528277486 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs b/Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs deleted file mode 100644 index ffc59cb43..000000000 --- a/Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Conditions; -using System.Runtime.Serialization; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper condition for testing that allows explicitly marking a condition as completed - /// - [DataContract(IsReference = true)] - public class EndlessConditionMock : Condition - { - [DataContract(IsReference = true)] - public class EntityData : IConditionData - { - [DataMember] - public bool IsCompleted { get; set; } - - [DataMember] - public string Name { get; set; } - - [DataMember] - public Metadata Metadata { get; set; } - } - - private class ActiveProcess : InstantProcess - { - public override void Start() - { - Data.IsCompleted = false; - } - - public ActiveProcess(EntityData data) : base(data) - { - } - } - - public override IStageProcess GetActiveProcess() - { - return new ActiveProcess(Data); - } - } -} diff --git a/Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs.meta b/Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs.meta deleted file mode 100644 index a85d5d09c..000000000 --- a/Tests/TestUtils/Mocks/Conditions/EndlessConditionMock.cs.meta +++ /dev/null @@ -1,13 +0,0 @@ -fileFormatVersion: 2 -guid: abdb9978db00bd14b904cd0429292334 -timeCreated: 1528128018 -licenseType: Pro -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs b/Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs deleted file mode 100644 index bf2b96404..000000000 --- a/Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Collections.Generic; -using System.Runtime.Serialization; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.RestrictiveEnvironment; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper condition for testing that allows explicitly marking a condition as completed. - /// It can reference a . - /// - public class LockableReferencingConditionMock : Condition - { - public IEnumerable LockableProperties = null; - - [DataContract(IsReference = true)] - public class EntityData : IConditionData - { - [DataMember] - public bool IsCompleted { get; set; } - - [DataMember] - [Obsolete("Use SingleLockablePropertyMock instead.")] - public ScenePropertyReference LockablePropertyMock { get; set; } - - [DataMember] - public SingleScenePropertyReference SingleLockablePropertyMock { get; set; } - - [DataMember] - public string Name { get; set; } - - [DataMember] - public Metadata Metadata { get; set; } - } - - private class ActiveProcess : InstantProcess - { - public override void Start() - { - Data.IsCompleted = false; - } - - public ActiveProcess(EntityData data) : base(data) - { - } - } - - public override IEnumerable GetLockableProperties() - { - if (LockableProperties == null) - { - return base.GetLockableProperties(); - } - - return LockableProperties; - } - - public override IStageProcess GetActiveProcess() - { - return new ActiveProcess(Data); - } - } -} diff --git a/Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs.meta b/Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs.meta deleted file mode 100644 index 69e917f89..000000000 --- a/Tests/TestUtils/Mocks/Conditions/LockableReferencingConditionMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 25ae26a04df705442a0fe54787d8efba -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs b/Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs deleted file mode 100644 index 4ec82ef03..000000000 --- a/Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Configuration.Modes; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Same as , but it can be skipped. - /// - public class OptionalEndlessConditionMock : EndlessConditionMock, IOptional - { - } -} diff --git a/Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs.meta b/Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs.meta deleted file mode 100644 index 9a4a424c9..000000000 --- a/Tests/TestUtils/Mocks/Conditions/OptionalEndlessConditionMock.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 5884e88c2492404a95b087663e8a0243 -timeCreated: 1558356212 \ No newline at end of file diff --git a/Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs b/Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs deleted file mode 100644 index 78b776797..000000000 --- a/Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Runtime.Serialization; -using VRBuilder.Core.Conditions; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Helper condition for testing that allows explicitly marking a condition as completed. - /// It can reference a . - /// - public class ReferencingConditionMock : Condition - { - [DataContract(IsReference = true)] - public class EntityData : IConditionData - { - [DataMember] - public bool IsCompleted { get; set; } - - [DataMember] - [Obsolete("Use SinglePropertyMock instead.")] - public ScenePropertyReference PropertyMock { get; set; } - - [DataMember] - public SingleScenePropertyReference SinglePropertyMock { get; set; } - - [DataMember] - public string Name { get; set; } - - [DataMember] - public Metadata Metadata { get; set; } - } - - private class ActiveProcess : InstantProcess - { - public override void Start() - { - Data.IsCompleted = false; - } - - public ActiveProcess(EntityData data) : base(data) - { - } - } - - public override IStageProcess GetActiveProcess() - { - return new ActiveProcess(Data); - } - } -} diff --git a/Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs.meta b/Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs.meta deleted file mode 100644 index c5aec6772..000000000 --- a/Tests/TestUtils/Mocks/Conditions/ReferencingConditionMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9e14f70f7b0bfc943aea276380cfbb87 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Properties.meta b/Tests/TestUtils/Mocks/Properties.meta deleted file mode 100644 index 52d298b44..000000000 --- a/Tests/TestUtils/Mocks/Properties.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 16761f3e2ec3a194aa8088a6784e6f8d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs b/Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs deleted file mode 100644 index 4611e4f26..000000000 --- a/Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Interface for a . - /// - public interface ILockablePropertyMock : ISceneObjectProperty, ILockable - { - } -} diff --git a/Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs.meta b/Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs.meta deleted file mode 100644 index 495377717..000000000 --- a/Tests/TestUtils/Mocks/Properties/ILockablePropertyMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bda7b853095995548a1e20b2997554ac -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs b/Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs deleted file mode 100644 index f2c9c0841..000000000 --- a/Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - public class LockablePropertyMock : LockableProperty, ILockablePropertyMock - { - protected override void InternalSetLocked(bool lockState) - { - } - } -} diff --git a/Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs.meta b/Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs.meta deleted file mode 100644 index 80d210733..000000000 --- a/Tests/TestUtils/Mocks/Properties/LockablePropertyMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 816599a90806f184bb03ba304eda7567 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs b/Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs deleted file mode 100644 index 821f05ab3..000000000 --- a/Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Properties; -using UnityEngine; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Property requiring a . - /// - [RequireComponent(typeof(LockablePropertyMock))] - public class LockablePropertyMockWithDependency : LockableProperty - { - protected override void InternalSetLocked(bool lockState) - { - GetComponent().SetLocked(lockState); - } - } -} diff --git a/Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs.meta b/Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs.meta deleted file mode 100644 index 9067ecc88..000000000 --- a/Tests/TestUtils/Mocks/Properties/LockablePropertyMockWithDependency.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 326d4b26dcf1e4a4b8dfb55a8b95fa36 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Properties/PropertyMock.cs b/Tests/TestUtils/Mocks/Properties/PropertyMock.cs deleted file mode 100644 index bec87a1dc..000000000 --- a/Tests/TestUtils/Mocks/Properties/PropertyMock.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Properties; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Mock of a simple . - /// - public class PropertyMock : ProcessSceneObjectProperty - { - - } -} diff --git a/Tests/TestUtils/Mocks/Properties/PropertyMock.cs.meta b/Tests/TestUtils/Mocks/Properties/PropertyMock.cs.meta deleted file mode 100644 index 0f1729561..000000000 --- a/Tests/TestUtils/Mocks/Properties/PropertyMock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 96aabd40f8a36754d88215db0a5fca6f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs b/Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs deleted file mode 100644 index e9aa65ac3..000000000 --- a/Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Core.Properties; -using UnityEngine; - -namespace VRBuilder.Core.Tests.Utils.Mocks -{ - /// - /// Property requiring a . - /// - [RequireComponent(typeof(PropertyMock))] - public class PropertyMockWithDependency : ProcessSceneObjectProperty - { - - } -} diff --git a/Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs.meta b/Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs.meta deleted file mode 100644 index b5eca2a44..000000000 --- a/Tests/TestUtils/Mocks/Properties/PropertyMockWithDependency.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4d9ce1c0325697043a14d6a6a0eab97c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/TestingUtils.cs b/Tests/TestUtils/TestingUtils.cs deleted file mode 100644 index cb5d7ef1e..000000000 --- a/Tests/TestUtils/TestingUtils.cs +++ /dev/null @@ -1,224 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEditor; -using UnityEngine; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Core.Tests.Utils -{ - public static class TestingUtils - { - /// - /// Returns value of field of type object - /// - public static T GetField(object o, string fieldName) - { - FieldInfo[] fields = o.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).ToArray(); - return (T)fields.First(f => f.Name == fieldName).GetValue(o); - } - - /// - /// Returns value of field of type in object of type , including private declarations. - /// - public static TResult GetFieldInExactType(TObject o, string fieldName) - { - FieldInfo[] fields = typeof(TObject).GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).ToArray(); - return (TResult)fields.First(f => f.Name == fieldName).GetValue(o); - } - - /// - /// Returns value of property of type object - /// - public static T GetPropertyValue(object o, string propertyName) - { - return (T)o.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).First(p => p.Name == propertyName).GetValue(o, null); - } - - /// - /// Destroys game objects to which is attached. - /// - public static void DestroySceneObject(ISceneObject obj) - { - Object.DestroyImmediate(obj.GameObject); - } - - /// - /// Destroys game objects to which is attached. - /// - public static void DestroySceneObject(ISceneObjectProperty property) - { - DestroySceneObject(property.SceneObject); - } - - /// - /// Creates game object and attaches component with the name to it. - /// - public static ProcessSceneObject CreateSceneObject(string name, GameObject gameObject = null) - { - if (gameObject == null) - { - gameObject = new GameObject(name); - } - - ProcessSceneObject processSceneObject = gameObject.AddComponent(); - - return processSceneObject; - } - - /// - /// As but also attaches component of type . - /// - public static ProcessSceneObject CreateSceneObject(string name, GameObject gameObject = null) where T1 : Component - { - if (gameObject == null) - { - gameObject = new GameObject(name); - } - - gameObject.AddComponent(); - return CreateSceneObject(name, gameObject); - } - - /// - /// As but also attaches components of types , . - /// - public static ProcessSceneObject CreateSceneObject(string name, GameObject gameObject = null) where T1 : Component where T2 : Component - { - if (gameObject == null) - { - gameObject = new GameObject(name); - } - - gameObject.AddComponent(); - return CreateSceneObject(name, gameObject); - } - - /// - /// As but also attaches components of types , , . - /// - public static ProcessSceneObject CreateSceneObject(string name, GameObject gameObject = null) where T1 : Component where T2 : Component where T3 : Component - { - if (gameObject == null) - { - gameObject = new GameObject(name); - } - - gameObject.AddComponent(); - return CreateSceneObject(name, gameObject); - } - - /// - /// As but also attaches components of types , , , . - /// - // ReSharper disable once UnusedMember.Local - public static ProcessSceneObject CreateSceneObject(string name, GameObject gameObject = null) where T1 : Component where T2 : Component where T3 : Component where T4 : Component - { - if (gameObject == null) - { - gameObject = new GameObject(name); - } - - gameObject.AddComponent(); - return CreateSceneObject(name, gameObject); - } - - /// - /// Creates a process scene object prefab. - /// - /// The name of the prefab. - /// The path of the prefab. - /// The created GameObject prefab. - public static GameObject CreateProcessSceneObjectPrefab(string prefabName, string prefabPath) - { - ProcessSceneObject processSceneObject = CreateSceneObject(prefabName); - return CreatePrefab(processSceneObject.gameObject, prefabPath); - } - - /// - /// Creates a folder recursively at the specified path if it doesn't already exist. - /// - /// The path of the folder to create. - /// The GUID of the created folder if the folder was created successfully other wise an empty string. - /// - /// Make sure to delete the folder after the test is done. - /// - public static string CreateFolderRecursively(string path) - { - if (AssetDatabase.IsValidFolder(path) == false) - { - string parentPath = Path.GetDirectoryName(path); - if (!AssetDatabase.IsValidFolder(parentPath)) - { - CreateFolderRecursively(parentPath); - } - - return AssetDatabase.CreateFolder(parentPath, Path.GetFileName(path)); - } - return ""; - } - - /// - /// Deletes the content and folder at the specified prefab path. - /// - /// The path of the prefab folder to delete. - /// true if the content and folder were deleted; otherwise, false. - /// - /// Be careful with this method, to only delete data you created for testing. - /// - public static bool DeleteContentAndFolder(string prefabPath) - { - if (AssetDatabase.IsValidFolder(prefabPath)) - { - string[] assets = AssetDatabase.FindAssets("", new[] { prefabPath }); - - foreach (string assetGUID in assets) - { - string assetPath = AssetDatabase.GUIDToAssetPath(assetGUID); - AssetDatabase.DeleteAsset(assetPath); - } - - return AssetDatabase.DeleteAsset(prefabPath); - } - return false; - } - - /// - /// Creates a prefab from the specified original GameObject and saves it at the specified prefab path. - /// - /// The original GameObject to create the prefab from. - /// The path where the prefab will be saved. - /// The created prefab as a GameObject. - public static GameObject CreatePrefab(GameObject originalObject, string prefabPath) - { - string prefabName = originalObject.name; - PrefabUtility.SaveAsPrefabAsset(originalObject, $"{prefabPath}/{prefabName}.prefab"); - GameObject.DestroyImmediate(originalObject); - return AssetDatabase.LoadAssetAtPath($"{prefabPath}/{prefabName}.prefab"); - } - - /// - /// Generates a unique name. - /// - /// A string representing the unique name. - public static string GetUniqueName() - { - return $"UniqueName-{System.Guid.NewGuid()}"; - } - - /// - /// Deletes a prefab from the specified path. - /// - /// The name of the prefab to delete. - /// The path where the prefab is located. - /// true if the prefab was deleted; otherwise, false. - public static bool DeletePrefab(string prefabName, string prefabPath) - { - return AssetDatabase.DeleteAsset($"{prefabPath}/{prefabName}.prefab"); - } - } -} diff --git a/Tests/TestUtils/TestingUtils.cs.meta b/Tests/TestUtils/TestingUtils.cs.meta deleted file mode 100644 index d04c3f7e1..000000000 --- a/Tests/TestUtils/TestingUtils.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1424984fe9b0441788a95db3ccf9c797 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TestUtils/VRBuilder.Tests.Utils.asmdef b/Tests/TestUtils/VRBuilder.Tests.Utils.asmdef deleted file mode 100644 index 5e638921e..000000000 --- a/Tests/TestUtils/VRBuilder.Tests.Utils.asmdef +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "VRBuilder.Core.Tests.Utils", - "rootNamespace": "", - "references": [ - "GUID:c8561f9de838ac04d8feeda695bc572d" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS", - "VR_BUILDER" - ], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/TestUtils/VRBuilder.Tests.Utils.asmdef.meta b/Tests/TestUtils/VRBuilder.Tests.Utils.asmdef.meta deleted file mode 100644 index 077e2c7ef..000000000 --- a/Tests/TestUtils/VRBuilder.Tests.Utils.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ed4af906a53b389478975e0296b00c9f -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TextToSpeech-Component.meta b/Tests/TextToSpeech-Component.meta deleted file mode 100644 index 82ba8531e..000000000 --- a/Tests/TextToSpeech-Component.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e5e98dc2bd2ea5d4d85a5440a40d3826 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TextToSpeech-Component/Serialization.meta b/Tests/TextToSpeech-Component/Serialization.meta deleted file mode 100644 index 9b6bb9fc2..000000000 --- a/Tests/TextToSpeech-Component/Serialization.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7993b39f67f4a7848a27b470b9939d03 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs b/Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs deleted file mode 100644 index d71355e96..000000000 --- a/Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Linq; -using System.Collections; -using Innoactive.Creator.Core.Tests.Utils; -using Innoactive.Hub.Training; -using Innoactive.Hub.Training.Audio; -using Innoactive.Hub.Training.Behaviors; -using Innoactive.Hub.Training.Utils.Builders; -using Innoactive.Creator.Internationalization; -using UnityEngine.TestTools; -using UnityEngine.Assertions; - -namespace Innoactive.Hub.Unity.Tests.Training -{ - public class TextToSpeechJsonProcessSerializerTests : RuntimeTests - { - [UnityTest] - public IEnumerator TextToSpeechAudio() - { - // Given we have TextToSpeechAudio instance, - TextToSpeechAudio audio = new TextToSpeechAudio(new LocalizedString("TestPath")); - - ICourse course = new LinearTrainingBuilder("Training") - .AddChapter(new LinearChapterBuilder("Chapter") - .AddStep(new BasicStepBuilder("Step") - .DisableAutomaticAudioHandling() - .AddBehavior(new PlayAudioBehavior(audio, BehaviorExecutionStages.Activation)))) - .Build(); - - // When we serialize and deserialize a training with it, - ICourse testCourse = Serializer.ToCourse(Serializer.ToByte(course)); - - // Then the text to generate sound from should be the same. - IAudioData data1 = ((PlayAudioBehavior)course.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First()).Data.AudioData; - IAudioData data2 = ((PlayAudioBehavior)testCourse.Data.FirstChapter.Data.FirstStep.Data.Behaviors.Data.Behaviors.First()).Data.AudioData; - - string audioPath1 = TestingUtils.GetField(data1, "text").Key; - string audioPath2 = TestingUtils.GetField(data2, "text").Key; - - Assert.AreEqual(data1.GetType(), data2.GetType()); - - Assert.AreEqual(audioPath1, "TestPath"); - Assert.AreEqual(audioPath1, audioPath2); - - return null; - } - } -} \ No newline at end of file diff --git a/Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs.meta b/Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs.meta deleted file mode 100644 index a1df012be..000000000 --- a/Tests/TextToSpeech-Component/Serialization/TextToSpeechJsonProcessSerializerTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1a16e32026d0f5647ba2769145290a9e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef b/Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef deleted file mode 100644 index 2966ea464..000000000 --- a/Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "VRBuilder.TextToSpeech.Tests", - "rootNamespace": "", - "references": [ - "UnityEditor.TestRunner", - "UnityEngine.TestRunner", - "VRBuilder.Core", - "VRBuilder.Core.Tests", - "VRBuilder.TextToSpeech" - ], - "includePlatforms": [], - "excludePlatforms": [ - "Android", - "Editor", - "iOS", - "LinuxStandalone64", - "Lumin", - "macOSStandalone", - "PS4", - "Stadia", - "Switch", - "tvOS", - "WSA", - "WebGL", - "WindowsStandalone32", - "WindowsStandalone64", - "XboxOne" - ], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll", - "Newtonsoft.Json.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS", - "VR_BUILDER" - ], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef.meta b/Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef.meta deleted file mode 100644 index f0d1c7a39..000000000 --- a/Tests/TextToSpeech-Component/VRBuilder.TextToSpeech.Tests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2a58036314527ec4890ec50502277eb4 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component.meta b/Tests/XR-Interaction-Component.meta deleted file mode 100644 index 9afa81a9c..000000000 --- a/Tests/XR-Interaction-Component.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7a66347e63eceb147883f88899187121 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime.meta b/Tests/XR-Interaction-Component/Runtime.meta deleted file mode 100644 index 921fac5ed..000000000 --- a/Tests/XR-Interaction-Component/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 311237211d7278449b6ea16022c5a497 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs b/Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs deleted file mode 100644 index de9974ffb..000000000 --- a/Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs +++ /dev/null @@ -1,206 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.Core; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.XRInteraction.Properties; - -namespace VRBuilder.XRInteraction.Tests.Conditions -{ - public class GrabbedConditionTests : RuntimeTests - { - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - private class GrabbablePropertyMock : GrabbableProperty - { - private bool isGrabbed; - - public override bool IsGrabbed - { - get - { - return isGrabbed; - } - } - - public void SetGrabbed(bool value) - { - isGrabbed = value; - } - - public void EmitGrabEvent() - { - EmitGrabbed(); - } - } - - [UnityTest] - public IEnumerator CompleteWhenGrabbed() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - ProcessSceneObject sceneObject = obj.AddComponent(); - sceneObject.AddGuid(testTag); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - - yield return null; - - GrabbedCondition condition = new GrabbedCondition(testTag); - condition.LifeCycle.Activate(); - - yield return null; - condition.Update(); - - // Grab object - mockedProperty.SetGrabbed(true); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteWhenGrabbedOnActivation() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - ProcessSceneObject sceneObject = obj.AddComponent(); - sceneObject.AddGuid(testTag); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - mockedProperty.SetGrabbed(true); - - yield return null; - - GrabbedCondition condition = new GrabbedCondition(testTag); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed due IsGrabbed is true - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator ConditionNotCompleted() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - ProcessSceneObject sceneObject = obj.AddComponent(); - sceneObject.AddGuid(testTag); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - - GrabbedCondition condition = new GrabbedCondition(testTag); - - condition.LifeCycle.Activate(); - yield return null; - - // Assert after doing nothing the condition is not completed. - Assert.IsFalse(condition.IsCompleted, "Condition should not be complete!"); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given a grabbed condition - GameObject obj = new GameObject("T1"); - ProcessSceneObject sceneObject = obj.AddComponent(); - sceneObject.AddGuid(testTag); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - GrabbedCondition condition = new GrabbedCondition(testTag); - - bool wasGrabbed = false; - bool wasUngrabbed = false; - - mockedProperty.GrabStarted.AddListener((args) => - { - wasGrabbed = true; - mockedProperty.GrabEnded.AddListener((argsy) => wasUngrabbed = true); - }); - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you mark it autocomplete, - condition.Autocomplete(); - - // Then it is completed, and the object was grabbed and immediately released. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted); - Assert.IsTrue(wasGrabbed); - Assert.IsTrue(wasUngrabbed); - - yield return null; - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given a condition, - GameObject obj = new GameObject("T1"); - ProcessSceneObject sceneObject = obj.AddComponent(); - sceneObject.AddGuid(testTag); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - GrabbedCondition condition = new GrabbedCondition(testTag); - - bool wasGrabbed = false; - bool wasUngrabbed = false; - - mockedProperty.GrabStarted.AddListener((args) => - { - wasGrabbed = true; - mockedProperty.GrabEnded.AddListener((argsy) => wasUngrabbed = true); - }); - - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(wasGrabbed); - Assert.IsFalse(wasUngrabbed); - } - } -} \ No newline at end of file diff --git a/Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs.meta b/Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs.meta deleted file mode 100644 index 561f90d86..000000000 --- a/Tests/XR-Interaction-Component/Runtime/GrabbedConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 1746c9d26bb6cfc4f8a696edceb40651 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs b/Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs deleted file mode 100644 index 3bd9949c0..000000000 --- a/Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs +++ /dev/null @@ -1,287 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction; -using VRBuilder.Core; -using VRBuilder.Core.Behaviors; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Utils; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Core.Tests.Utils.Builders; -using VRBuilder.XRInteraction.Properties; - -namespace VRBuilder.XRInteraction.Tests.Behaviors -{ - public class HighlightObjectTests : RuntimeTests - { - internal class DummyHighlightProperty : HighlightProperty - { - /// - public override void Highlight(Color highlightColor) - { - base.Highlight(highlightColor); - IsHighlighted = true; - } - - /// - public override void Unhighlight() - { - base.Unhighlight(); - IsHighlighted = false; - } - } - - private const string targetName = "XR Interactable"; - - [UnityTest] - public IEnumerator CreateHighlightPropertyWhitoutInteractableHighlighter() - { - // Given an empty GameObject. - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - - foreach (Type highlighterImplementation in ReflectionUtils.GetConcreteImplementationsOf()) - { - Assert.That(interactable.GetComponent(highlighterImplementation) == null); - } - - // When we add a DummyHighlightProperty to it. - interactable.AddComponent(); - - bool highlighterExists = ReflectionUtils.GetConcreteImplementationsOf().Any(highlighterImplementation => interactable.GetComponent(highlighterImplementation) != null); - - Assert.IsTrue(highlighterExists); - - yield break; - } - - [UnityTest] - public IEnumerator CreateDummyHighlightPropertyWhitInteractableHighlighter() - { - // Given an empty GameObject. - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - - Assert.That(interactable.GetComponent() == null); - Assert.That(interactable.GetComponent() == null); - Assert.That(interactable.GetComponent() == null); - Assert.That(interactable.GetComponent() == null); - Assert.That(interactable.GetComponent() == null); - - // When we add a DummyHighlightProperty to it. - interactable.AddComponent(); - interactable.AddComponent(); - - // Then it also get all required dependencies. - Assert.That(interactable.GetComponent() != null); - Assert.That(interactable.GetComponent() != null); - Assert.That(interactable.GetComponent() != null); - Assert.That(interactable.GetComponent() != null); - Assert.That(interactable.GetComponent() != null); - - Assert.AreEqual(1, interactable.GetComponents().Length); - Assert.AreEqual(1, interactable.GetComponents().Length); - Assert.AreEqual(1, interactable.GetComponents().Length); - Assert.AreEqual(1, interactable.GetComponents().Length); - Assert.AreEqual(1, interactable.GetComponents().Length); - - yield break; - } - - [UnityTest] - public IEnumerator StepWithHighlightBehavior() - { - // Given a HighlightObjectBehavior with a HighlightProperty in a linear chapter. - Color highlightColor = Color.yellow; - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - - TestLinearChapterBuilder chapterBuilder = TestLinearChapterBuilder.SetupChapterBuilder(1); - chapterBuilder.Steps[0].Data.Behaviors.Data.Behaviors.Add(highlightBehavior); - - Chapter chapter = chapterBuilder.Build(); - chapter.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When we activate the chapter. - chapter.LifeCycle.Activate(); - - while (highlightBehavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - chapter.Update(); - } - - Stage highlightStageInStep = highlightBehavior.LifeCycle.Stage; - bool objectHighlightedActiveInStep = highlightProperty.IsHighlighted; - Color? colorInStep = highlightProperty.CurrentHighlightColor; - - chapter.Data.FirstStep.LifeCycle.Deactivate(); - - while (chapter.Data.FirstStep.LifeCycle.Stage != Stage.Inactive) - { - yield return null; - chapter.Update(); - } - - Stage highlightStageAfterStep = highlightBehavior.LifeCycle.Stage; - bool objectHighlightedActiveAfterStep = highlightProperty.IsHighlighted; - Color? colorAfterStep = highlightProperty.CurrentHighlightColor; - - // Then the highlight behavior is active during the step and inactive after it. - Assert.AreEqual(Stage.Active, highlightStageInStep, "The HighlightObjectBehavior should be active during step"); - Assert.IsTrue(objectHighlightedActiveInStep, "The HighlightProperty should be active during step"); - Assert.AreEqual(highlightColor, colorInStep, $"The highlight color should be {highlightColor}"); - - Assert.AreEqual(Stage.Inactive, highlightStageAfterStep, "The HighlightObjectBehavior should be deactivated after step"); - Assert.IsFalse(objectHighlightedActiveAfterStep, "The HighlightProperty should be inactive after step"); - Assert.IsNull(colorAfterStep, "The highlight color should be null after deactivation of step."); - } - - [UnityTest] - public IEnumerator HighlightColorIsSetByParameter() - { - // Given a HighlightProperty with a HighlightColor parameter set, - DynamicRuntimeConfiguration testRuntimeConfiguration = new DynamicRuntimeConfiguration(); - Color highlightColor = Color.green; - - testRuntimeConfiguration.SetAvailableModes(new List - { - new Mode("Test", new WhitelistTypeRule(), new Dictionary {{"HighlightColor", highlightColor}}), - }); - - RuntimeConfigurator.Configuration = testRuntimeConfiguration; - - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - highlightBehavior.Configure(testRuntimeConfiguration.Modes.CurrentMode); - - // When we activate it. - highlightBehavior.LifeCycle.Activate(); - - // Then the highlight color is changed. - Assert.AreEqual(highlightColor, highlightBehavior.Data.HighlightColor); - Assert.AreEqual(highlightColor, highlightProperty.CurrentHighlightColor); - Assert.AreEqual(highlightColor, ((HighlightProperty)highlightBehavior.Data.TargetObjects.Values.First()).CurrentHighlightColor); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehavior() - { - // Given a HighlightObjectBehavior with a HighlightProperty. - Color highlightColor = Color.cyan; - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - - // When we mark it to fast-forward. - highlightBehavior.LifeCycle.MarkToFastForward(); - - // Then it doesn't autocomplete because it hasn't been activated yet. - Assert.AreEqual(Stage.Inactive, highlightBehavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndActivateIt() - { - // Given a HighlightObjectBehavior with a HighlightProperty. - Color highlightColor = Color.red; - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - - // When we mark it to fast-forward and activate it. - highlightBehavior.LifeCycle.MarkToFastForward(); - highlightBehavior.LifeCycle.Activate(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, highlightBehavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardInactiveBehaviorAndDeactivateIt() - { - // Given a HighlightObjectBehavior with a HighlightProperty. - Color highlightColor = Color.white; - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - - // When we mark it to fast-forward, activate, and deactivate it. - highlightBehavior.LifeCycle.MarkToFastForward(); - highlightBehavior.LifeCycle.Activate(); - highlightBehavior.LifeCycle.Deactivate(); - - // Then the behavior should be deactivated immediately. - Assert.AreEqual(Stage.Inactive, highlightBehavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardActivatingBehavior() - { - // Given a HighlightObjectBehavior with a HighlightProperty. - Color highlightColor = Color.blue; - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - - // When we mark it active and fast-forward. - highlightBehavior.LifeCycle.Activate(); - highlightBehavior.LifeCycle.MarkToFastForward(); - - // Then the behavior should be activated immediately. - Assert.AreEqual(Stage.Active, highlightBehavior.LifeCycle.Stage); - - yield break; - } - - [UnityTest] - public IEnumerator FastForwardDeactivatingBehavior() - { - // Given a HighlightObjectBehavior with a HighlightProperty. - Color highlightColor = Color.black; - GameObject interactable = GameObject.CreatePrimitive(PrimitiveType.Cube); - interactable.name = targetName; - DummyHighlightProperty highlightProperty = interactable.AddComponent(); - HighlightObjectBehavior highlightBehavior = new HighlightObjectBehavior(highlightProperty, highlightColor); - highlightBehavior.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - highlightBehavior.LifeCycle.Activate(); - - while (highlightBehavior.LifeCycle.Stage != Stage.Active) - { - yield return null; - highlightBehavior.Update(); - } - - highlightBehavior.LifeCycle.Deactivate(); - - // When we mark it to fast-forward. - highlightBehavior.LifeCycle.MarkToFastForward(); - - // Then the behavior should be deactivated immediately. - Assert.AreEqual(Stage.Inactive, highlightBehavior.LifeCycle.Stage); - } - } -} diff --git a/Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs.meta b/Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs.meta deleted file mode 100644 index cd6d6243d..000000000 --- a/Tests/XR-Interaction-Component/Runtime/HighlightObjectTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 12b22b312602931419ee08a940e5d807 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs b/Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs deleted file mode 100644 index 4623bed92..000000000 --- a/Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs +++ /dev/null @@ -1,252 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.Core; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.XRInteraction.Properties; -using Object = UnityEngine.Object; - -namespace VRBuilder.XRInteraction.Tests.Conditions -{ - public class ReleasedConditionTests : RuntimeTests - { - private class GrabbablePropertyMock : GrabbableProperty - { - private bool isGrabbed = true; - public override bool IsGrabbed - { - get - { - return isGrabbed; - } - } - - public void SetGrabbed(bool value) - { - isGrabbed = value; - } - - public void EmitUngrabEvent() - { - EmitUngrabbed(); - } - } - - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - [UnityTest] - public IEnumerator CompleteWhenUngrabbed() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - ReleasedCondition condition = new ReleasedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When it is ungrabbed - mockedProperty.SetGrabbed(false); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator CompleteWhenUngrabbedByTag() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - obj.GetComponent().AddGuid(testTag); - - GameObject obj2 = new GameObject("T2"); - obj2.AddComponent(); - GrabbablePropertyMock secondGrabbableProperty = obj2.AddComponent(); - secondGrabbableProperty.SetGrabbed(false); - obj2.GetComponent().AddGuid(testTag); - - yield return new WaitForFixedUpdate(); - - ReleasedCondition condition = new ReleasedCondition(testTag); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When it is ungrabbed - mockedProperty.SetGrabbed(false); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator CompleteWhenItIsDoneOnStart() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - GrabbablePropertyMock mockedProperty = obj.AddComponent(); - mockedProperty.SetGrabbed(false); - - yield return new WaitForFixedUpdate(); - - ReleasedCondition condition = new ReleasedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed due IsUngrabbed being true - Assert.IsTrue(condition.IsCompleted); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator ConditionNotCompleted() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - GrabbablePropertyMock property = obj.AddComponent(); - ReleasedCondition condition = new ReleasedCondition(property); - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Assert after doing nothing the condition is not completed. - Assert.IsFalse(condition.IsCompleted); - - // Clean up - Object.DestroyImmediate(obj); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given an ungrabbed condition - GameObject go = new GameObject("Meme"); - go.AddComponent(); - GrabbablePropertyMock mock = go.AddComponent(); - ReleasedCondition condition = new ReleasedCondition(mock); - - bool wasGrabbed = false; - bool wasUngrabbed = false; - mock.GrabStarted.AddListener((args) => - { - wasGrabbed = true; - mock.GrabEnded.AddListener((argsy) => wasUngrabbed = true); - }); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - - // Then it is completed. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted, "Condition should be complete!"); - Assert.IsTrue(wasGrabbed); - Assert.IsTrue(wasUngrabbed); - - yield return null; - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given an ungrabbed condition - GameObject go = new GameObject("Meme"); - go.AddComponent(); - GrabbablePropertyMock mock = go.AddComponent(); - ReleasedCondition condition = new ReleasedCondition(mock); - - bool wasGrabbed = false; - bool wasUngrabbed = false; - mock.GrabStarted.AddListener((args) => - { - wasGrabbed = true; - mock.GrabEnded.AddListener((argsy) => wasUngrabbed = true); - }); - - // When you activate it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(wasGrabbed); - Assert.IsFalse(wasUngrabbed); - - yield return null; - } - } -} diff --git a/Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs.meta b/Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs.meta deleted file mode 100644 index 37f003f50..000000000 --- a/Tests/XR-Interaction-Component/Runtime/ReleasedConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: dcc6ba0ff234ee04398d4b8ba89b3452 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs b/Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs deleted file mode 100644 index 9a26ad8aa..000000000 --- a/Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs +++ /dev/null @@ -1,495 +0,0 @@ -using NUnit.Framework; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.TestTools; -using UnityEngine.XR.Interaction.Toolkit; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.Core; -using VRBuilder.Core.Configuration; -using VRBuilder.Core.Configuration.Modes; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.Editor.XRInteraction; -using VRBuilder.XRInteraction.Properties; - -namespace VRBuilder.XRInteraction.Tests -{ - public class SnapZoneTests : RuntimeTests - { - private class SnappablePropertyMock : SnappableProperty - { - public void SetSnapZone(SnapZoneProperty snapZone) - { - SnappedZone = snapZone; - } - - public void SetSnapped(SnapZoneProperty snapZone) - { - snapZone.SnapZone.ForceSelect(gameObject.GetComponent()); - } - } - - [SetUp] - public override void SetUp() - { - base.SetUp(); - XRTestUtilities.CreateInteractionManager(); - } - - [UnityTest] - public IEnumerator HoverMeshShown() - { - // Given a snappable property with an AlwaysShowSnapzoneHighlight parameter set to false. - DynamicRuntimeConfiguration testRuntimeConfiguration = new DynamicRuntimeConfiguration(); - - testRuntimeConfiguration.SetAvailableModes(new List - { - new Mode("Test", new WhitelistTypeRule(), new Dictionary {{"ShowSnapzoneHoverMeshes", true}}), - }); - - RuntimeConfigurator.Configuration = testRuntimeConfiguration; - - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZone zone = snapZoneProperty.SnapZone; - - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When activated - condition.LifeCycle.Activate(); - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Then the highlightAlwaysActive variable should be false - Assert.IsTrue(snapZoneProperty.SnapZone.showInteractableHoverMeshes); - } - - [UnityTest] - public IEnumerator HoverMeshNotShown() - { - // Given a snappable property with an AlwaysShowSnapzoneHighlight parameter set to false. - DynamicRuntimeConfiguration testRuntimeConfiguration = new DynamicRuntimeConfiguration(); - - testRuntimeConfiguration.SetAvailableModes(new List - { - new Mode("Test", new WhitelistTypeRule(), new Dictionary {{"ShowSnapzoneHoverMeshes", false}}), - }); - - RuntimeConfigurator.Configuration = testRuntimeConfiguration; - - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZone zone = snapZoneProperty.SnapZone; - - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - // When activated - condition.LifeCycle.Activate(); - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Then the highlightAlwaysActive variable should be false - Assert.IsFalse(snapZoneProperty.SnapZone.showInteractableHoverMeshes); - } - - [UnityTest] - public IEnumerator HighlightObjectShown() - { - // Given a snappable property with an AlwaysShowSnapzoneHighlight parameter set to true - DynamicRuntimeConfiguration testRuntimeConfiguration = new DynamicRuntimeConfiguration(); - - testRuntimeConfiguration.SetAvailableModes(new List - { - new Mode("Test", new WhitelistTypeRule(), new Dictionary {{"ShowSnapzoneHighlightObject", true}}), - }); - - RuntimeConfigurator.Configuration = testRuntimeConfiguration; - - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZone zone = snapZoneProperty.SnapZone; - - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - yield return null; - - condition.Update(); - - // When activated - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Then the highlightAlwaysActive variable should be true - Assert.IsTrue(snapZoneProperty.SnapZone.ShowHighlightObject); - } - - [UnityTest] - public IEnumerator HighlightObjectNotShown() - { - // Given a snappable property with a snapzone highlight deactivated parameter active. - DynamicRuntimeConfiguration testRuntimeConfiguration = new DynamicRuntimeConfiguration(); - - testRuntimeConfiguration.SetAvailableModes(new List - { - new Mode("Test", new WhitelistTypeRule(), new Dictionary {{"ShowSnapzoneHighlightObject", false}}), - }); - - RuntimeConfigurator.Configuration = testRuntimeConfiguration; - - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZone zone = snapZoneProperty.SnapZone; - - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - - yield return null; - - condition.Update(); - - // When activated - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Then the highlight is still inactive. - Assert.IsFalse(snapZoneProperty.SnapZone.ShowHighlightObject); - } - - [UnityTest] - public IEnumerator HighlightColorCanBeChanged() - { - // Given a snappable property with a highlight color changed - DynamicRuntimeConfiguration testRuntimeConfiguration = new DynamicRuntimeConfiguration(); - Material testMaterial = new Material(Shader.Find("Standard")); - testMaterial.color = Color.yellow; - - testRuntimeConfiguration.SetAvailableModes(new List - { - new Mode("Test", new WhitelistTypeRule(), new Dictionary {{"HighlightMaterial", testMaterial}}), - }); - - RuntimeConfigurator.Configuration = testRuntimeConfiguration; - - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZone zone = snapZoneProperty.SnapZone; - - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.Configure(RuntimeConfigurator.Configuration.Modes.CurrentMode); - yield return null; - condition.Update(); - - // When activated - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Then the highlight color changed properly - Assert.AreEqual(Color.yellow, snapZoneProperty.SnapZone.HighlightMeshMaterial.color); - } - - [UnityTest] - public IEnumerator CompleteOnTargetedSnapZone() - { - // Setup object with mocked grabbed property and activate - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Emit grabbed event - mockedProperty.SetSnapZone(snapZoneProperty); - mockedProperty.SetSnapped(snapZoneProperty); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator DontCompleteOnWrongSnapZone() - { - // Setup object with mocked grabbed property and activate - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZoneProperty wrongSnapZoneProperty = CreateSnapZoneProperty(); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // Emit grabbed event - mockedProperty.SetSnapZone(wrongSnapZoneProperty); - mockedProperty.SetSnapped(wrongSnapZoneProperty); - - int frameCountEnd = Time.frameCount + 5; - while (Time.frameCount <= frameCountEnd) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - Assert.IsFalse(condition.IsCompleted, "Condition should not be completed!"); - } - - [UnityTest] - public IEnumerator CompleteWhenSnappedOnStart() - { - // Setup object with mocked grabbed property and activate - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteWhenSnappedOnActivationWithTargetSnapZone() - { - // Setup object with mocked grabbed property and activate - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - mockedProperty.SetSnapZone(snapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator DontCompleteWhenSnappedWrongOnActivation() - { - // Setup object with mocked grabbed property and activate - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZoneProperty wrongSnapZoneProperty = CreateSnapZoneProperty(); - mockedProperty.SetSnapZone(wrongSnapZoneProperty); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - condition.LifeCycle.Activate(); - - int frameCountEnd = Time.frameCount + 5; - while (Time.frameCount <= frameCountEnd) - { - yield return null; - condition.Update(); - } - - // Assert that condition is not completed - Assert.IsFalse(condition.IsCompleted, "SnappedCondition should not be complete!"); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given a snapped condition - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - - // Then the condition is completed and the object is snapped. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted); - - int beforeSnapped = Time.frameCount; - - yield return new WaitUntil(() => snapZoneProperty.IsObjectSnapped); - - int afterSnapped = Time.frameCount; - - Assert.IsTrue(snapZoneProperty.IsObjectSnapped); - Assert.IsTrue(afterSnapped - beforeSnapped <= 3); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given a snapped condition - SnappablePropertyMock mockedProperty = CreateSnappablePropertyMock(); - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - - yield return null; - - SnappedCondition condition = new SnappedCondition(mockedProperty, snapZoneProperty); - - // When you activate it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(snapZoneProperty.IsObjectSnapped); - } - - [Test] - public void SetSnapZoneWithSnapZoneSettings() - { - // Given a snap zone - SnapZoneSettings settings = SnapZoneSettings.Instance; - SnapZoneProperty snapZoneProperty = CreateSnapZoneProperty(); - SnapZone snapZone = snapZoneProperty.SnapZone; - - // When the snap zone settings are modified and the changes applied to the snap zone - InteractionLayerMask testLayerMask = 0; - Color testHighlightColor = Color.green; - Color testValidationColor = Color.blue; - Color testInvalidColor = Color.red; - - Assert.NotNull(settings); -#if XRIT_0_10_OR_NEWER - Assert.That(snapZone.interactionLayers != testLayerMask); -#else - Assert.That(snapZone.InteractionLayerMask != testLayerMask); -#endif - Assert.That(snapZone.HighlightMeshMaterial.color != testHighlightColor); - Assert.That(snapZone.ValidationMaterial.color != testValidationColor); - - settings.InteractionLayerMask = testLayerMask; - settings.HighlightColor = testHighlightColor; - settings.ValidationColor = testValidationColor; - settings.InvalidColor = testInvalidColor; - - settings.ApplySettings(snapZone); - - // Then the snap zone is updated. -#if XRIT_0_10_OR_NEWER - Assert.That(snapZone.interactionLayers == testLayerMask); -#else - Assert.That(snapZone.InteractionLayerMask == testLayerMask); -#endif - Assert.That(snapZone.HighlightMeshMaterial.color == testHighlightColor); - Assert.That(snapZone.ValidationMaterial.color == testValidationColor); - Assert.That(snapZone.InvalidMaterial.color == testInvalidColor); - } - - private SnappablePropertyMock CreateSnappablePropertyMock() - { - GameObject snappable = new GameObject("Target"); - snappable.transform.position = new Vector3(10, 10, 10); - snappable.AddComponent().isTrigger = false; - SnappablePropertyMock property = snappable.AddComponent(); - return property; - } - - private SnapZoneProperty CreateSnapZoneProperty() - { - GameObject snapZoneObject = new GameObject("SnapZone"); - snapZoneObject.AddComponent().isTrigger = true; - SnapZoneProperty property = snapZoneObject.AddComponent(); - - return property; - } - } -} diff --git a/Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs.meta b/Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs.meta deleted file mode 100644 index 6a82f07d5..000000000 --- a/Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: d57c78917566138439275d50487fa3a9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs b/Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs deleted file mode 100644 index bf125f055..000000000 --- a/Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs +++ /dev/null @@ -1,227 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using Unity.XR.CoreUtils; -using UnityEngine; -using UnityEngine.TestTools; -using UnityEngine.XR.Interaction.Toolkit; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.Core; -using VRBuilder.Core.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; - -namespace VRBuilder.XRInteraction.Tests.Conditions -{ - public class TeleportConditionTest : RuntimeTests - { - private XROrigin xrRig; - - public class TeleportationPropertyMock : TeleportationProperty - { - public void EmitTeleported() - { - base.EmitTeleported(new TeleportingEventArgs()); - } - } - - [SetUp] - public override void SetUp() - { - base.SetUp(); - xrRig = XRTestUtilities.CreateXRRig(); - } - - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - [UnityTest] - public IEnumerator CompleteWhenTeleported() - { - // Setup object with mocked teleport property and activate - GameObject obj = new GameObject("T1"); - TeleportationPropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - TeleportCondition condition = new TeleportCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When the object is teleported - mockedProperty.EmitTeleported(); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteWhenTeleportedByTag() - { - // Setup object with mocked teleport property and activate - GameObject obj = new GameObject("T1"); - TeleportationPropertyMock mockedProperty = obj.AddComponent(); - obj.GetComponent().AddGuid(testTag); - - GameObject obj2 = new GameObject("T2"); - obj2.AddComponent(); - obj2.GetComponent().AddGuid(testTag); - - yield return new WaitForFixedUpdate(); - - TeleportCondition condition = new TeleportCondition(testTag); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When the object is teleported - mockedProperty.EmitTeleported(); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteOnlyWhenTeleportedDuringStepExecution() - { - // Setup object with mocked teleport property and activate - GameObject obj = new GameObject("T1"); - TeleportationPropertyMock mockedProperty = obj.AddComponent(); - mockedProperty.Initialize(); - - Assert.IsFalse(mockedProperty.WasUsedToTeleport); - - mockedProperty.EmitTeleported(); - - Assert.IsTrue(mockedProperty.WasUsedToTeleport); - - yield return new WaitForFixedUpdate(); - - TeleportCondition condition = new TeleportCondition(mockedProperty); - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (condition.IsCompleted == false && Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - Assert.IsFalse(mockedProperty.WasUsedToTeleport); - - // When the object is teleported - mockedProperty.EmitTeleported(); - - yield return null; - condition.Update(); - - // Assert that condition is now completed due WasUsedToTeleport being true - Assert.IsTrue(mockedProperty.WasUsedToTeleport); - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator ConditionNotCompleted() - { - // Setup object with mocked teleport property and activate - GameObject obj = new GameObject("T1"); - TeleportationPropertyMock mockedProperty = obj.AddComponent(); - TeleportCondition condition = new TeleportCondition(mockedProperty); - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Assert after doing nothing the condition is not completed. - Assert.IsFalse(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given a teleport condition, - GameObject obj = new GameObject("T1"); - TeleportationPropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - TeleportCondition condition = new TeleportCondition(mockedProperty); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - yield return null; - - // Then it is completed. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given a teleport condition, - GameObject obj = new GameObject("T1"); - TeleportationPropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - TeleportCondition condition = new TeleportCondition(mockedProperty); - - // When you activate it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - } - } -} diff --git a/Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs.meta b/Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs.meta deleted file mode 100644 index 8e47ba5f9..000000000 --- a/Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 59fdf5073571b2c468ab377399315934 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs b/Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs deleted file mode 100644 index 296090c6d..000000000 --- a/Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs +++ /dev/null @@ -1,232 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.Core; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.XRInteraction.Properties; - -namespace VRBuilder.XRInteraction.Tests.Conditions -{ - public class TouchedConditionTests : RuntimeTests - { - public class TouchablePropertyMock : TouchableProperty - { - private bool isTouched; - public override bool IsBeingTouched - { - get - { - return isTouched; - } - } - - public void SetTouched(bool value) - { - isTouched = value; - } - - public void EmitIsTouched() - { - EmitTouched(); - } - } - - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - [UnityTest] - public IEnumerator CompleteWhenTouched() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - TouchablePropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - TouchedCondition condition = new TouchedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When the object is touched - mockedProperty.SetTouched(true); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteWhenTouchedByTag() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - TouchablePropertyMock mockedProperty = obj.AddComponent(); - obj.GetComponent().AddGuid(testTag); - - GameObject obj2 = new GameObject("T2"); - obj2.AddComponent(); - obj2.GetComponent().AddGuid(testTag); - - yield return new WaitForFixedUpdate(); - - TouchedCondition condition = new TouchedCondition(testTag); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When the object is touched - mockedProperty.SetTouched(true); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteWhenItIsDoneOnStart() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - TouchablePropertyMock mockedProperty = obj.AddComponent(); - mockedProperty.SetTouched(true); - - yield return new WaitForFixedUpdate(); - - TouchedCondition condition = new TouchedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed due IsGrabbed being true - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator ConditionNotCompleted() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - TouchablePropertyMock mockedProperty = obj.AddComponent(); - TouchedCondition condition = new TouchedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Assert after doing nothing the condition is not completed. - Assert.IsFalse(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given a touched condition, - GameObject obj = new GameObject("T1"); - TouchablePropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - TouchedCondition condition = new TouchedCondition(mockedProperty); - - bool wasTouched = false; - bool wasUntouched = false; - mockedProperty.TouchStarted.AddListener((args) => - { - wasTouched = true; - mockedProperty.TouchEnded.AddListener((unargs) => wasUntouched = true); - }); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - - // Then it is completed. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(wasTouched); - Assert.IsTrue(wasUntouched); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given a touched condition, - GameObject obj = new GameObject("T1"); - TouchablePropertyMock mockedProperty = obj.AddComponent(); - - yield return new WaitForFixedUpdate(); - - TouchedCondition condition = new TouchedCondition(mockedProperty); - - bool wasTouched = false; - bool wasUntouched = false; - mockedProperty.TouchStarted.AddListener((args) => - { - wasTouched = true; - mockedProperty.TouchEnded.AddListener((unargs) => wasUntouched = true); - }); - - // When you activate it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(wasUntouched); - Assert.IsFalse(wasTouched); - } - } -} diff --git a/Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs.meta b/Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs.meta deleted file mode 100644 index 73b55256e..000000000 --- a/Tests/XR-Interaction-Component/Runtime/TouchedConditionTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 66b521a7038c433ba1a7da2af9ae4c32 -timeCreated: 1589356846 \ No newline at end of file diff --git a/Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs b/Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs deleted file mode 100644 index 6a805897e..000000000 --- a/Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs +++ /dev/null @@ -1,239 +0,0 @@ -using NUnit.Framework; -using System; -using System.Collections; -using UnityEngine; -using UnityEngine.TestTools; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.Core; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Core.Settings; -using VRBuilder.Core.Tests.RuntimeUtils; -using VRBuilder.XRInteraction.Properties; - -namespace VRBuilder.XRInteraction.Tests.Conditions -{ - public class UsedConditionTests : RuntimeTests - { - private class UsablePropertyMock : UsableProperty - { - private bool isUsed; - public override bool IsBeingUsed - { - get - { - return isUsed; - } - } - - public void SetUsed(bool value) - { - isUsed = value; - } - - public void EmitIsUsed() - { - EmitUsageStarted(); - } - } - - private Guid testTag; - - [SetUp] - public void CreateTestTags() - { - testTag = (SceneObjectGroups.Instance.CreateGroup("unit test tag, delete me please", Guid.NewGuid()).Guid); - } - - [TearDown] - public void RemoveTestTags() - { - SceneObjectGroups.Instance.RemoveGroup(testTag); - testTag = Guid.Empty; - } - - [UnityTest] - public IEnumerator CompleteWhenUsed() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - UsablePropertyMock mockedProperty = obj.AddComponent(); - - yield return null; - - UsedCondition condition = new UsedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When it is used - mockedProperty.SetUsed(true); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - - [UnityTest] - public IEnumerator CompleteWhenUsedByTag() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - UsablePropertyMock mockedProperty = obj.AddComponent(); - obj.GetComponent().AddGuid(testTag); - - GameObject obj2 = new GameObject("T2"); - obj2.AddComponent(); - obj2.AddComponent(); - obj2.GetComponent().AddGuid(testTag); - - yield return null; - - UsedCondition condition = new UsedCondition(testTag); - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When it is used - mockedProperty.SetUsed(true); - - yield return null; - condition.Update(); - - // Assert that condition is now completed - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator CompleteWhenItIsDoneOnStart() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - UsablePropertyMock mockedProperty = obj.AddComponent(); - mockedProperty.SetUsed(true); - - yield return null; - - UsedCondition condition = new UsedCondition(mockedProperty); - condition.LifeCycle.Activate(); - - while (condition.IsCompleted == false) - { - yield return null; - condition.Update(); - } - - // Assert that condition is now completed due IsGrabbed is true - Assert.IsTrue(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator ConditionNotCompleted() - { - // Setup object with mocked grabbed property and activate - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - UsableProperty usableProperty = obj.AddComponent(); - UsedCondition condition = new UsedCondition(usableProperty); - condition.LifeCycle.Activate(); - - float startTime = Time.time; - while (Time.time < startTime + 0.1f) - { - yield return null; - condition.Update(); - } - - // Assert after doing nothing the condition is not completed. - Assert.IsFalse(condition.IsCompleted); - } - - [UnityTest] - public IEnumerator AutoCompleteActive() - { - // Given an used condition, - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - UsablePropertyMock mockedProperty = obj.AddComponent(); - - bool wasUsageStarted = false; - bool wasUsageStopped = false; - - mockedProperty.UseStarted.AddListener((args) => - { - wasUsageStarted = true; - mockedProperty.UseEnded.AddListener((args) => wasUsageStopped = true); - }); - - UsedCondition condition = new UsedCondition(mockedProperty); - - // When you activate and autocomplete it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - condition.Autocomplete(); - - // Then condition is completed. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsTrue(condition.IsCompleted); - Assert.IsTrue(wasUsageStarted); - Assert.IsTrue(wasUsageStopped); - } - - [UnityTest] - public IEnumerator FastForwardDoesNotCompleteCondition() - { - // Given an used condition, - GameObject obj = new GameObject("T1"); - obj.AddComponent(); - UsablePropertyMock mockedProperty = obj.AddComponent(); - - bool wasUsageStarted = false; - bool wasUsageStopped = false; - - mockedProperty.UseStarted.AddListener((args) => - { - wasUsageStarted = true; - mockedProperty.UseEnded.AddListener((args) => wasUsageStopped = true); - }); - - UsedCondition condition = new UsedCondition(mockedProperty); - - // When you activate it, - condition.LifeCycle.Activate(); - - while (condition.LifeCycle.Stage != Stage.Active) - { - yield return null; - condition.Update(); - } - - // When you fast-forward it - condition.LifeCycle.MarkToFastForward(); - - // Then nothing happens. - Assert.AreEqual(Stage.Active, condition.LifeCycle.Stage); - Assert.IsFalse(condition.IsCompleted); - Assert.IsFalse(wasUsageStarted); - Assert.IsFalse(wasUsageStopped); - } - } -} diff --git a/Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs.meta b/Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs.meta deleted file mode 100644 index 01f325d1e..000000000 --- a/Tests/XR-Interaction-Component/Runtime/UsedConditionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 06fcaaef3d416d24e95cde6068c550bf -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef b/Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef deleted file mode 100644 index f599fc3bd..000000000 --- a/Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "VRBuilder.XRInteraction.Tests", - "rootNamespace": "", - "references": [ - "GUID:27619889b8ba8c24980f49ee34dbb44a", - "GUID:0acc523941302664db1f4e527237feb3", - "GUID:c8561f9de838ac04d8feeda695bc572d", - "GUID:880cbf18a8d0b304e905a848d71cf547", - "GUID:ed4af906a53b389478975e0296b00c9f", - "GUID:474da18fc7b8c9c4c9db09e343483375", - "GUID:5dc10662f790e4e49944b5fb3f5daeea", - "GUID:5bac2de3e0a43884ba7b23da0c8de186", - "GUID:3f28c17325726a640aa81b9ca4ee75c8", - "GUID:190979c3ed6e41c448f5e9925429edf9", - "GUID:fe685ec1767f73d42b749ea8045bfe43", - "GUID:dc960734dc080426fa6612f1c5fe95f3" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "XR_INTERACTION_TOOLKIT", - "UNITY_INCLUDE_TESTS", - "VR_BUILDER_ENABLE_XR_INTERACTION" - ], - "versionDefines": [ - { - "name": "com.unity.xr.interaction.toolkit", - "expression": "1.0.0-pre.2", - "define": "XR_INTERACTION_TOOLKIT" - }, - { - "name": "com.unity.xr.interaction.toolkit", - "expression": "0.10.0-preview", - "define": "XRIT_0_10_OR_NEWER" - } - ], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef.meta b/Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef.meta deleted file mode 100644 index c5915f4ed..000000000 --- a/Tests/XR-Interaction-Component/Runtime/VRBuilder.XRInteraction.Tests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5919a003926ca0e4c889f84cb3888a21 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs b/Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs deleted file mode 100644 index 3d9699553..000000000 --- a/Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs +++ /dev/null @@ -1,105 +0,0 @@ -using Unity.XR.CoreUtils; -using UnityEngine; -using UnityEngine.XR; -using UnityEngine.XR.Interaction.Toolkit; - -namespace VRBuilder.XRInteraction.Tests -{ - /// - /// Utility class for generatating mock interaction actors. - /// - public static class XRTestUtilities - { - /// - /// Creates a new XRInteractionManager. - /// - public static XRInteractionManager CreateInteractionManager() - { - GameObject manager = new GameObject("XR Interaction Manager"); - return manager.AddComponent(); - } - - /// - /// Creates a new XRRig. - /// - public static XROrigin CreateXRRig() - { - GameObject xrRigGO = new GameObject(); - xrRigGO.name = "XR Rig"; - XROrigin xrRig = xrRigGO.AddComponent(); - - // add camera offset - GameObject cameraOffsetGO = new GameObject(); - cameraOffsetGO.name = "CameraOffset"; - cameraOffsetGO.transform.SetParent(xrRig.transform,false); - xrRig.CameraFloorOffsetObject = cameraOffsetGO; - - xrRig.transform.position = Vector3.zero; - xrRig.transform.rotation = Quaternion.identity; - - // camera and track pose driver - GameObject cameraGO = new GameObject(); - cameraGO.name = "Camera"; - Camera camera = cameraGO.AddComponent(); - - cameraGO.transform.SetParent(cameraOffsetGO.transform, false); - xrRig.Camera = camera; - - XRDevice.DisableAutoXRCameraTracking(camera, true); - - LocomotionSystem locomotionSystem = xrRigGO.AddComponent(); - TeleportationProvider teleportationProvider = xrRigGO.AddComponent(); - - locomotionSystem.xrOrigin = xrRig; - teleportationProvider.system = locomotionSystem; - - return xrRig; - } - - /// - /// Creates a new DirectInteractor. - /// - public static DirectInteractor CreateDirectInteractor() - { - GameObject interactorGO = new GameObject("XR Interactor"); - CreateGOSphereCollider(interactorGO); - DirectInteractor interactor = interactorGO.AddComponent(); - XRController controller = interactorGO.GetComponent(); - controller.enableInputTracking = false; - - return interactor; - } - - /// - /// Creates a new InteractableObject. - /// - public static InteractableObject CreateInteractableObjcet() - { - GameObject interactableGO = new GameObject("XR Interactable"); - CreateGOSphereCollider(interactableGO, false); - InteractableObject interactable = interactableGO.AddComponent(); - Rigidbody rigidBody = interactableGO.GetComponent(); - rigidBody.useGravity = false; - rigidBody.isKinematic = true; - - return interactable; - } - - /// - /// Creates a new XRSocketInteractor. - /// - public static XRSocketInteractor CreateSocketInteractor() - { - GameObject interactorGO = new GameObject("XR Socket Interactor"); - CreateGOSphereCollider(interactorGO); - return interactorGO.AddComponent(); - } - - private static void CreateGOSphereCollider(GameObject go, bool isTrigger = true) - { - SphereCollider collider = go.AddComponent(); - collider.radius = 1.0f; - collider.isTrigger = isTrigger; - } - } -} \ No newline at end of file diff --git a/Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs.meta b/Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs.meta deleted file mode 100644 index f6653a464..000000000 --- a/Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e13b706cbfda0e2469e47c47937d52de -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: From d33c93b8507072614b21fd768016e01584a367d7 Mon Sep 17 00:00:00 2001 From: Markus Wellmann Date: Tue, 22 Oct 2024 10:53:37 +0200 Subject: [PATCH 03/26] Updated VR Builder to XRI 3 #254 # Conflicts: # Tests/Basic-Conditions-And-Behaviors/Behaviors/ConfettiBehaviorTests.cs # Tests/XR-Interaction-Component/Runtime/SnapZoneTests.cs # Tests/XR-Interaction-Component/Runtime/TeleportConditionTest.cs # Tests/XR-Interaction-Component/Runtime/XRTestUtilities.cs --- Demo/Editor/DemoSceneLoader.cs | 2 +- .../SnapZones/SnapZoneHighlightMaterial.mat | 72 +- .../SnapZones/SnapZoneInvalidMaterial.mat | 72 +- .../SnapZones/SnapZoneValidationMaterial.mat | 72 +- .../VR Builder Demo - Core Features.unity | 23139 +++++++++------- .../StaticAssets/Materials/Conveyor.mat | 70 +- .../StaticAssets/Materials/Interactable.mat | 70 +- .../Materials/InteractableTrim.mat | 70 +- Demo/Runtime/StaticAssets/Materials/Light.mat | 71 +- .../StaticAssets/Materials/MagicLight.mat | 71 +- Demo/Runtime/StaticAssets/Materials/Panel.mat | 71 +- .../StaticAssets/Materials/Platform.mat | 70 +- .../Materials/PlatformEmissive.mat | 71 +- Demo/Runtime/StaticAssets/Materials/Shaft.mat | 70 +- .../Runtime/StaticAssets/Materials/Shield.mat | 73 +- .../StaticAssets/Materials/Station.mat | 72 +- .../Materials/StationEmissive.mat | 71 +- .../StaticAssets/Materials/TouchPanel.mat | 71 +- .../StaticAssets/Prefabs/Laser Sword.prefab | 235 +- .../StaticAssets/Prefabs/Magic Cube.mat | 71 +- .../Demo - Core Features.json | 2759 +- NOTICE.txt | 2 +- .../Resources/Confetti/Materials/Blue.mat | 48 +- .../Resources/Confetti/Materials/Green.mat | 48 +- .../Resources/Confetti/Materials/Red.mat | 48 +- .../Resources/Confetti/Materials/Yellow.mat | 48 +- .../Editor/RigSetup/RigLoaderSceneSetup.cs | 6 +- .../Resources/Materials/AnchorMaterialURP.mat | 4 +- .../Resources/VRBuilderAnchorPrefab.prefab | 8 +- .../Materials/ControllerMaterial.mat | 77 - .../Static Assets/Models/controller.fbx | 3 - ...eDependencies.meta => PackageManager.meta} | 0 ...Editor.PackageManager.XRInteraction.asmdef | 0 ...r.PackageManager.XRInteraction.asmdef.meta | 0 .../XRInteractionPackageEnabler.cs | 5 +- .../XRInteractionPackageEnabler.cs.meta | 0 .../Editor/Interaction/RayInteractorEditor.cs | 430 - .../Interaction/RayInteractorEditor.cs.meta | 11 - .../Editor/Interaction/SnapZoneEditor.cs | 128 - .../Editor/Interaction/SnapZoneEditor.cs.meta | 11 - .../TeleportationAnchorVRBuilderEditor.cs | 84 +- .../TeleportationAreaVRBuilderEditor.cs | 6 +- .../XRHandsPackageEnabler.cs | 20 - .../XRHandsPackageEnabler.cs.meta | 11 - .../SceneSetup/XRInteractionSceneSetup.cs | 96 +- .../Source/Editor/SnapZone.meta | 3 - .../UI.meta} | 2 +- .../{Properties.meta => UI/Inspector.meta} | 0 .../Inspector}/SnappablePropertyEditor.cs | 0 .../SnappablePropertyEditor.cs.meta | 0 .../Source/Editor/{ => UI}/Menu.meta | 0 .../ConfigureInteractionLayersMenuEntry.cs | 2 +- ...onfigureInteractionLayersMenuEntry.cs.meta | 0 .../Editor/{ => UI}/ProjectSettings.meta | 0 .../CreateDefaultInteractionLayers.cs | 0 .../CreateDefaultInteractionLayers.cs.meta | 0 .../ProjectSettings}/SnapZoneSettings.cs | 0 .../ProjectSettings}/SnapZoneSettings.cs.meta | 0 .../SnapZoneSettingsSection.cs | 0 .../SnapZoneSettingsSection.cs.meta | 0 .../Resources/XR_Setup_Action_Based.prefab | 4445 --- .../XR_Setup_Action_Based_HandTracking.prefab | 11104 -------- .../XR_Setup_Action_Based_Hands.prefab | 4598 --- .../Resources/XR_Setup_Device_Based.prefab | 2728 -- .../XR_Setup_Device_Based.prefab.meta | 7 - .../Builder XR Input Actions/.sample.json | 4 - .../XRI Builder Continuous Move.preset | 135 - .../XRI Builder Continuous Turn.preset | 115 - .../XRI Builder Input Actions.inputactions | 956 - ...RI Builder Input Actions.inputactions.meta | 14 - .../XRI Builder Left Controller.preset | 350 - .../XRI Builder PresetManager.preset | 143 - .../XRI Builder Right Controller.preset | 350 - .../XRI Builder Snap Turn.preset | 118 - .../XRI Builder Snap Turn.preset.meta | 8 - .../XRInteractionComponentConfiguration.cs | 2 +- .../Source/Runtime/Hands.meta | 2 +- .../Hands/Animation/HandAnimatorController.cs | 156 - .../Runtime/Hands/HandAnimatorController.cs | 156 + .../HandAnimatorController.cs.meta | 0 .../ActionBasedControllerManager.cs | 827 - .../ActionBasedControllerManager.cs.meta | 11 - .../Action-based/LocomotionSchemeManager.cs | 553 - .../LocomotionSchemeManager.cs.meta | 11 - .../Device-based/ControllerManager.cs | 417 - .../Device-based/ControllerManager.cs.meta | 11 - .../Interactables/InteractableObject.cs | 2 + .../TeleportationAnchorProximityEntry.cs | 2 +- .../TeleportationAnchorVRBuilder.cs | 2 + .../TeleportationAreaVRBuilder.cs | 4 +- .../Interactors/DirectInteractor.cs | 78 +- .../Interaction/Interactors/RayInteractor.cs | 40 - .../Interactors/RayInteractor.cs.meta | 11 - .../Interaction/Interactors/SnapZone.cs | 32 +- .../Locomotion/RigManipulationProvider.cs | 8 +- .../Runtime/Properties/GrabbableProperty.cs | 1 + .../Runtime/Properties/SnapZoneProperty.cs | 1 + .../Runtime/Properties/SnappableProperty.cs | 2 + .../Properties/TeleportationProperty.cs | 14 +- .../Runtime/Properties/TouchableProperty.cs | 41 +- .../Source/Runtime/Rigs/XRSetupBase.cs | 6 +- .../User/InteractorLayerConfigurator.cs | 1 + .../Action-based.meta => XRI.meta} | 2 +- .../XRI/ClimbTeleportDestinationIndicator.cs | 144 + .../ClimbTeleportDestinationIndicator.cs.meta | 2 + .../Runtime/XRI/ComponentLocatorUtility.cs | 111 + .../XRI/ComponentLocatorUtility.cs.meta | 2 + .../Source/Runtime/XRI/ControllerAnimator.cs | 85 + .../Runtime/XRI/ControllerAnimator.cs.meta | 2 + .../XRI/ControllerInputActionManager.cs | 464 + .../XRI/ControllerInputActionManager.cs.meta | 2 + .../Source/Runtime/XRI/DynamicMoveProvider.cs | 191 + .../Runtime/XRI/DynamicMoveProvider.cs.meta | 2 + .../Source/Runtime/XRI/GazeInputManager.cs | 99 + .../Runtime/XRI/GazeInputManager.cs.meta | 2 + .../Source/Runtime/XRI/NOTICE.md | 5 + .../Source/Runtime/XRI/NOTICE.md.meta | 7 + .../Device-based.meta => StaticAssets.meta} | 2 +- .../StaticAssets/AffordanceThemes.meta | 8 + .../PokeSphereColorAffordanceTheme.asset | 3 + .../PokeSphereColorAffordanceTheme.asset.meta | 8 + .../StaticAssets/Filters.meta | 8 + .../AnyGazedAtTeleportAnchorFilter.asset | 3 + .../AnyGazedAtTeleportAnchorFilter.asset.meta | 8 + .../StaticAssets/Hands.meta | 8 + .../Hands/Animation.meta | 0 .../HandAnimatorController.controller | 0 .../HandAnimatorController.controller.meta | 0 .../Hands/Animation/Index.mask | 0 .../Hands/Animation/Index.mask.meta | 0 .../Hands/Animation/OtherFingers.mask | 0 .../Hands/Animation/OtherFingers.mask.meta | 0 .../Hands/Animation/Poses.meta | 0 .../Hands/Animation/Poses/Grasp.anim | 0 .../Hands/Animation/Poses/Grasp.anim.meta | 0 .../Hands/Animation/Poses/Idle.anim | 0 .../Hands/Animation/Poses/Idle.anim.meta | 0 .../Hands/Animation/Poses/Point.anim | 0 .../Hands/Animation/Poses/Point.anim.meta | 0 .../Hands/LeftHand.prefab | 0 .../Hands/LeftHand.prefab.meta | 0 .../Hands/Materials.meta | 0 .../Hands/Materials/AvatarMaterial.mat | 73 +- .../Hands/Materials/AvatarMaterial.mat.meta | 0 .../Hands/Materials/HandsMaterial.mat | 78 +- .../Hands/Materials/HandsMaterial.mat.meta | 0 .../Hands/Meshes.meta | 0 .../Hands/Meshes/BigHandLeftGeo.fbx | 0 .../Hands/Meshes/BigHandLeftGeo.fbx.meta | 0 .../Hands/Meshes/BigHandRightGeo.fbx | 0 .../Hands/Meshes/BigHandRightGeo.fbx.meta | 0 .../Hands/RightHand.prefab | 0 .../Hands/RightHand.prefab.meta | 0 .../Hands/Textures.meta | 0 .../Hands/Textures/BigHandsTex_N.png | 0 .../Hands/Textures/BigHandsTex_N.png.meta | 0 .../StaticAssets/Materials.meta | 8 + .../Materials/Controller_Grey.mat | 187 + .../Materials/Controller_Grey.mat.meta} | 2 +- .../Materials/Controller_White.mat | 173 + .../Materials/Controller_White.mat.meta | 8 + .../Materials/FresnelHighlight.mat | 176 + .../Materials/FresnelHighlight.mat.meta} | 2 +- .../Materials/SimpleTeleportHighlight.mat | 0 .../SimpleTeleportHighlight.mat.meta | 0 .../StaticAssets/Materials/Telport Anchor.mat | 174 + .../Materials/Telport Anchor.mat.meta | 8 + .../StaticAssets}/Models.meta | 2 +- .../StaticAssets/Models/BlinkVisual.fbx | 3 + .../StaticAssets/Models/BlinkVisual.fbx.meta | 111 + .../Models/Pinch_Pointer_LOD0.fbx | 3 + .../Models/Pinch_Pointer_LOD0.fbx.meta} | 25 +- .../Models/UniversalController.fbx | 3 + .../Models/UniversalController.fbx.meta | 116 + .../Models/teleportHightlight.fbx | 0 .../Models/teleportHightlight.fbx.meta | 0 .../StaticAssets}/Prefabs.meta | 2 +- .../StaticAssets/Prefabs/Affordances.meta | 8 + .../Highlight Interaction Affordance.prefab | 278 + ...hlight Interaction Affordance.prefab.meta} | 2 +- .../Affordances/Poke Point Affordances.prefab | 379 + .../Poke Point Affordances.prefab.meta} | 2 +- .../StaticAssets/Prefabs/Controllers.meta | 8 + .../Controllers/XR Controller Left.prefab | 941 + .../XR Controller Left.prefab.meta} | 2 +- .../Controllers/XR Controller Right.prefab | 941 + .../XR Controller Right.prefab.meta} | 2 +- .../StaticAssets/Prefabs/Interactors.meta | 8 + .../Interactors/Direct Interactor.prefab | 229 + .../Interactors/Direct Interactor.prefab.meta | 7 + .../Interactors/Gaze Interactor.prefab | 447 + .../Interactors/Gaze Interactor.prefab.meta | 7 + .../Left Near-Far Interactor.prefab | 738 + .../Left Near-Far Interactor.prefab.meta | 7 + .../Interactors/Left Poke Interactor.prefab | 318 + .../Left Poke Interactor.prefab.meta | 7 + .../Interactors/Left Ray Interactor.prefab | 662 + .../Left Ray Interactor.prefab.meta | 7 + .../Left Teleport Interactor.prefab | 681 + .../Left Teleport Interactor.prefab.meta | 7 + .../Right Near-Far Interactor.prefab | 91 + .../Right Near-Far Interactor.prefab.meta | 7 + .../Interactors/Right Poke Interactor.prefab | 63 + .../Right Poke Interactor.prefab.meta | 7 + .../Right Teleport Interactor.prefab | 87 + .../Right Teleport Interactor.prefab.meta | 7 + .../StaticAssets/Prefabs/Resources.meta | 8 + .../Prefabs/Resources/Interactables.meta | 8 + ...TeleportInteractionAffordancePrefab.prefab | 83 + ...ortInteractionAffordancePrefab.prefab.meta | 7 + ...portationAnchorProximityEntryPrefab.prefab | 0 ...tionAnchorProximityEntryPrefab.prefab.meta | 0 ...uilderTeleportationSnapVolumePrefab.prefab | 73 + ...rTeleportationSnapVolumePrefab.prefab.meta | 7 + .../StaticAssets/Prefabs/Teleport.meta | 8 + .../Blocking Teleport Reticle.prefab} | 173 +- .../Blocking Teleport Reticle.prefab.meta | 7 + .../Teleport/Climb Teleport Arrow.prefab | 342 + .../Teleport/Climb Teleport Arrow.prefab.meta | 7 + .../Directional Teleport Reticle.prefab | 187 + .../Directional Teleport Reticle.prefab.meta | 7 + .../StaticAssets/Prefabs/XRI Rig.meta | 8 + .../Prefabs/XRI Rig/XRI Rig.prefab | 2556 ++ .../Prefabs/XRI Rig/XRI Rig.prefab.meta | 7 + .../StaticAssets/Presets.meta | 8 + .../StaticAssets/Presets/Input.meta | 8 + .../XRI VR Builder Continuous Move.preset | 164 + ...RI VR Builder Continuous Move.preset.meta} | 2 +- .../XRI VR Builder Continuous Turn.preset | 148 + ...RI VR Builder Continuous Turn.preset.meta} | 2 +- .../Input/XRI VR Builder Dynamic Move.preset | 184 + .../XRI VR Builder Dynamic Move.preset.meta} | 2 +- ...t Controller Input Action Manager 1.preset | 88 + ...roller Input Action Manager 1.preset.meta} | 2 +- .../XRI VR Builder Left Grab Move.preset | 220 + .../XRI VR Builder Left Grab Move.preset.meta | 8 + ...t Controller Input Action Manager 1.preset | 88 + ...troller Input Action Manager 1.preset.meta | 8 + .../XRI VR Builder Right Grab Move.preset | 220 + ...XRI VR Builder Right Grab Move.preset.meta | 8 + .../Input/XRI VR Builder Snap Turn.preset | 164 + .../XRI VR Builder Snap Turn.preset.meta | 8 + .../XRI VR Builder XR UI Input Module.preset | 136 + ... VR Builder XR UI Input Module.preset.meta | 8 + .../{Source => StaticAssets}/Resources.meta | 0 .../Resources/VRB_XR_Setup.prefab | 406 + .../Resources/VRB_XR_Setup.prefab.meta | 7 + .../StaticAssets/Shaders.meta | 8 + .../Shaders/SimpleTeleportHighlight.shader | 0 .../SimpleTeleportHighlight.shader.meta | 0 .../Shaders/Unlit_Fresnel.shadergraph | 2197 ++ .../Shaders/Unlit_Fresnel.shadergraph.meta | 10 + .../StaticAssets}/Textures.meta | 0 .../StaticAssets}/Textures/default anchor.png | 0 .../Textures/default anchor.png.meta | 0 ...XRI VR Builder Input Actions.inputactions} | 1292 +- ...R Builder Input Actions.inputactions.meta} | 2 +- 257 files changed, 32890 insertions(+), 40178 deletions(-) delete mode 100644 Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat delete mode 100644 Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx rename Source/XR-Interaction-Component/{Source/Editor/PackageDependencies.meta => PackageManager.meta} (100%) rename Source/XR-Interaction-Component/{Source/Editor/PackageDependencies => PackageManager}/VRBuilder.Editor.PackageManager.XRInteraction.asmdef (100%) rename Source/XR-Interaction-Component/{Source/Editor/PackageDependencies => PackageManager}/VRBuilder.Editor.PackageManager.XRInteraction.asmdef.meta (100%) rename Source/XR-Interaction-Component/{Source/Editor/PackageDependencies => PackageManager}/XRInteractionPackageEnabler.cs (73%) rename Source/XR-Interaction-Component/{Source/Editor/PackageDependencies => PackageManager}/XRInteractionPackageEnabler.cs.meta (100%) delete mode 100644 Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs delete mode 100644 Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs delete mode 100644 Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs delete mode 100644 Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Editor/SnapZone.meta rename Source/XR-Interaction-Component/Source/{Runtime/Builder XR Input Actions.meta => Editor/UI.meta} (77%) rename Source/XR-Interaction-Component/Source/Editor/{Properties.meta => UI/Inspector.meta} (100%) rename Source/XR-Interaction-Component/Source/Editor/{Properties => UI/Inspector}/SnappablePropertyEditor.cs (100%) rename Source/XR-Interaction-Component/Source/Editor/{Properties => UI/Inspector}/SnappablePropertyEditor.cs.meta (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/Menu.meta (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/Menu/ConfigureInteractionLayersMenuEntry.cs (95%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/Menu/ConfigureInteractionLayersMenuEntry.cs.meta (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/ProjectSettings.meta (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/ProjectSettings/CreateDefaultInteractionLayers.cs (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/ProjectSettings/CreateDefaultInteractionLayers.cs.meta (100%) rename Source/XR-Interaction-Component/Source/Editor/{SnapZone => UI/ProjectSettings}/SnapZoneSettings.cs (100%) rename Source/XR-Interaction-Component/Source/Editor/{SnapZone => UI/ProjectSettings}/SnapZoneSettings.cs.meta (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/ProjectSettings/SnapZoneSettingsSection.cs (100%) rename Source/XR-Interaction-Component/Source/Editor/{ => UI}/ProjectSettings/SnapZoneSettingsSection.cs.meta (100%) delete mode 100644 Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab delete mode 100644 Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab delete mode 100644 Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab delete mode 100644 Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab delete mode 100644 Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/.sample.json delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/Hands/HandAnimatorController.cs rename Source/XR-Interaction-Component/Source/Runtime/Hands/{Animation => }/HandAnimatorController.cs.meta (100%) delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs.meta rename Source/XR-Interaction-Component/Source/Runtime/{Interaction/Action-based.meta => XRI.meta} (77%) create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs.meta create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs.meta create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs.meta create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs.meta create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs.meta create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs.meta create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md create mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md.meta rename Source/XR-Interaction-Component/{Source/Runtime/Interaction/Device-based.meta => StaticAssets.meta} (77%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/AffordanceThemes.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset create mode 100644 Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Filters.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset create mode 100644 Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Hands.meta rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/HandAnimatorController.controller (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/HandAnimatorController.controller.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Index.mask (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Index.mask.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/OtherFingers.mask (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/OtherFingers.mask.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses/Grasp.anim (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses/Grasp.anim.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses/Idle.anim (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses/Idle.anim.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses/Point.anim (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Animation/Poses/Point.anim.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/LeftHand.prefab (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/LeftHand.prefab.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Materials.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Materials/AvatarMaterial.mat (52%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Materials/AvatarMaterial.mat.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Materials/HandsMaterial.mat (51%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Materials/HandsMaterial.mat.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Meshes.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Meshes/BigHandLeftGeo.fbx (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Meshes/BigHandLeftGeo.fbx.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Meshes/BigHandRightGeo.fbx (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Meshes/BigHandRightGeo.fbx.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/RightHand.prefab (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/RightHand.prefab.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Textures.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Textures/BigHandsTex_N.png (100%) rename Source/XR-Interaction-Component/{Source/Runtime => StaticAssets}/Hands/Textures/BigHandsTex_N.png.meta (100%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat rename Source/{Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat.meta => XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat.meta} (79%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset.meta => StaticAssets/Materials/FresnelHighlight.mat.meta} (78%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Materials/SimpleTeleportHighlight.mat (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Materials/SimpleTeleportHighlight.mat.meta (100%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat create mode 100644 Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat.meta rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Models.meta (77%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx create mode 100644 Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx rename Source/{Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx.meta => XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx.meta} (80%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx create mode 100644 Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx.meta rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Models/teleportHightlight.fbx (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Models/teleportHightlight.fbx.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Prefabs.meta (77%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab rename Source/{Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab.meta => XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab.meta} (74%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab rename Source/XR-Interaction-Component/{Source/Resources/XR_Setup_Action_Based_Hands.prefab.meta => StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab.meta} (74%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab rename Source/XR-Interaction-Component/{Source/Resources/XR_Setup_Action_Based.prefab.meta => StaticAssets/Prefabs/Controllers/XR Controller Left.prefab.meta} (74%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab rename Source/XR-Interaction-Component/{Source/Resources/XR_Setup_Action_Based_HandTracking.prefab.meta => StaticAssets/Prefabs/Controllers/XR Controller Right.prefab.meta} (74%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab.meta rename Source/{Basic-Interaction-Component/Runtime/Resources => XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables}/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab (100%) rename Source/{Basic-Interaction-Component/Runtime/Resources => XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables}/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab.meta (100%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport.meta rename Source/{Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab => XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab} (58%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset.meta => StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset.meta} (80%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset.meta => StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset.meta} (80%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset.meta => StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset.meta} (80%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset.meta => StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset.meta} (80%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset create mode 100644 Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset.meta rename Source/XR-Interaction-Component/{Source => StaticAssets}/Resources.meta (100%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab create mode 100644 Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab.meta create mode 100644 Source/XR-Interaction-Component/StaticAssets/Shaders.meta rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Shaders/SimpleTeleportHighlight.shader (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Shaders/SimpleTeleportHighlight.shader.meta (100%) create mode 100644 Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph create mode 100644 Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph.meta rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Textures.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Textures/default anchor.png (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => XR-Interaction-Component/StaticAssets}/Textures/default anchor.png.meta (100%) rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions => StaticAssets/XRI VR Builder Input Actions.inputactions} (73%) rename Source/XR-Interaction-Component/{Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions.meta => StaticAssets/XRI VR Builder Input Actions.inputactions.meta} (89%) diff --git a/Demo/Editor/DemoSceneLoader.cs b/Demo/Editor/DemoSceneLoader.cs index 9cdf6aab0..9ffab2f96 100644 --- a/Demo/Editor/DemoSceneLoader.cs +++ b/Demo/Editor/DemoSceneLoader.cs @@ -44,7 +44,7 @@ public static void LoadDemoScene() EditorSceneManager.OpenScene(demoScenePath); #if VR_BUILDER && VR_BUILDER_XR_INTERACTION - foreach (GameObject configuratorGameObject in GameObject.FindObjectsOfType(true). + foreach (GameObject configuratorGameObject in GameObject.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None). Where(go => go.GetComponent() != null)) { VRBuilder.Core.Setup.ILayerConfigurator configurator = configuratorGameObject.GetComponent(); diff --git a/Demo/Resources/SnapZones/SnapZoneHighlightMaterial.mat b/Demo/Resources/SnapZones/SnapZoneHighlightMaterial.mat index 27b71a937..7933cea9c 100644 --- a/Demo/Resources/SnapZones/SnapZoneHighlightMaterial.mat +++ b/Demo/Resources/SnapZones/SnapZoneHighlightMaterial.mat @@ -1,25 +1,50 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8657389808637378058 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: SnapZoneHighlightMaterial - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -56,11 +81,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 1 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -68,12 +121,21 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.4, g: 0.5882353, b: 1, a: 0.19607843} + - _BaseColor: {r: 0.39999998, g: 0.5882353, b: 1, a: 0.19607843} + - _Color: {r: 0.39999995, g: 0.5882353, b: 1, a: 0.19607843} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Resources/SnapZones/SnapZoneInvalidMaterial.mat b/Demo/Resources/SnapZones/SnapZoneInvalidMaterial.mat index 57b09af8e..18c670f84 100644 --- a/Demo/Resources/SnapZones/SnapZoneInvalidMaterial.mat +++ b/Demo/Resources/SnapZones/SnapZoneInvalidMaterial.mat @@ -2,24 +2,36 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: SnapZoneInvalidMaterial - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -56,11 +68,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 1 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -68,12 +108,34 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.9529412, g: 0.3019608, b: 0.078431375, a: 0.49411765} + - _BaseColor: {r: 0.9529411, g: 0.30196077, b: 0.078431346, a: 0.49411765} + - _Color: {r: 0.9529411, g: 0.30196074, b: 0.078431316, a: 0.49411765} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &7897435329882493311 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/Resources/SnapZones/SnapZoneValidationMaterial.mat b/Demo/Resources/SnapZones/SnapZoneValidationMaterial.mat index 7bab60899..ea7fb9782 100644 --- a/Demo/Resources/SnapZones/SnapZoneValidationMaterial.mat +++ b/Demo/Resources/SnapZones/SnapZoneValidationMaterial.mat @@ -1,25 +1,50 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-1001170586789147378 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: SnapZoneValidationMaterial - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -56,11 +81,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 1 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -68,12 +121,21 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0.49411765} + - _BaseColor: {r: 0.47058815, g: 0.945098, b: 0.78431374, a: 0.49411765} + - _Color: {r: 0.4705881, g: 0.945098, b: 0.78431374, a: 0.49411765} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity b/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity index 09c58c460..501705797 100644 --- a/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity +++ b/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity @@ -13,7 +13,7 @@ OcclusionCullingSettings: --- !u!104 &2 RenderSettings: m_ObjectHideFlags: 0 - serializedVersion: 9 + serializedVersion: 10 m_Fog: 0 m_FogColor: {r: 0.67614806, g: 0.71346116, b: 0.735849, a: 1} m_FogMode: 3 @@ -38,13 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.023824753, g: 0.0029160744, b: 0.05423471, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 12 - m_GIWorkflowMode: 1 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 m_GISettings: serializedVersion: 2 m_BounceScale: 1 @@ -67,9 +66,6 @@ LightmapSettings: 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 @@ -104,7 +100,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,13 +113,13 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &25957661 +--- !u!1 &6709180 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -131,29 +127,29 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 25957662} - m_Layer: 0 - m_Name: Thumb_Palm_Left + - component: {fileID: 6709181} + m_Layer: 8 + m_Name: Anchor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &25957662 +--- !u!4 &6709181 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 25957661} - m_LocalRotation: {x: -0.7044048, y: 0.08700629, z: 0.3122117, w: 0.6314806} - m_LocalPosition: {x: -0.042795867, y: -0.014722028, z: 0.029782485} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 6709180} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000005960466, y: 0.00999999, z: -0.000000059604638} + m_LocalScale: {x: 0.99999976, y: 1, z: 0.99999976} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1074416408} - m_Father: {fileID: 105739408} - m_RootOrder: 4 + - {fileID: 513126030} + m_Father: {fileID: 2014095924} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &33704421 GameObject: @@ -178,6 +174,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 33704421} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} m_LocalPosition: {x: 1.5, y: 0, z: 1.5} m_LocalScale: {x: 1, y: 1, z: 1} @@ -189,13 +186,13 @@ Transform: - {fileID: 861048855} - {fileID: 518602151} m_Father: {fileID: 0} - m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} --- !u!1001 &53683353 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 248065651} m_Modifications: - target: {fileID: -8679921383154817045, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} @@ -255,18 +252,31 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} - target: {fileID: -7511558181221131132, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, type: 2} - target: {fileID: -7511558181221131132, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} - propertyPath: m_Materials.Array.data[1] + propertyPath: 'm_Materials.Array.data[1]' value: objectReference: {fileID: 2100000, guid: a2e88723e4cd77a4690d0637321940aa, type: 2} - target: {fileID: 919132149155446097, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} propertyPath: m_Name value: MagicCube objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} + propertyPath: m_Layer + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} + insertIndex: -1 + addedObject: {fileID: 53683356} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} + insertIndex: -1 + addedObject: {fileID: 53683357} m_SourcePrefab: {fileID: 100100000, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} --- !u!4 &53683354 stripped Transform: @@ -286,9 +296,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 53683355} 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: 2 + serializedVersion: 3 m_Size: {x: 0.39999995, y: 0.39999995, z: 0.39999995} m_Center: {x: 0, y: 0, z: 0} --- !u!114 &53683357 @@ -306,118 +324,8 @@ MonoBehaviour: serializedGuid: serializedGuid: df8a710cc656294c8257c8ace06c735d uniqueName: Cube + guids: [] tags: [] ---- !u!1 &54233950 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 54233951} - - component: {fileID: 54233953} - - component: {fileID: 54233952} - m_Layer: 0 - m_Name: RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &54233951 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 54233950} - m_LocalRotation: {x: -0.27542365, y: 0.27542365, z: 0.65126175, w: 0.65126175} - m_LocalPosition: {x: 0.0358, y: 0.0577, z: -0.1296} - m_LocalScale: {x: 0.95, y: 0.95, z: 0.95} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1909973946} - - {fileID: 918098385} - - {fileID: 2040506300} - m_Father: {fileID: 820468471} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -45.848, y: 0, z: 90} ---- !u!114 &54233952 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 54233950} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e241df096dff11c478f43d1b202d33af, type: 3} - m_Name: - m_EditorClassIdentifier: - selectFloat: Select - activateFloat: Activate - UIStateBool: UIEnabled - teleportStateBool: TeleportEnabled - baseController: {fileID: 0} - teleportController: {fileID: 0} - uiController: {fileID: 0} - controllerManager: {fileID: 0} ---- !u!95 &54233953 -Animator: - serializedVersion: 5 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 54233950} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 3cc1bfa741063664e8b13a63afcd062f, type: 3} - m_Controller: {fileID: 9100000, guid: 6f17d5d554bc9b742b9bf585b813330c, type: 2} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &65634328 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 65634329} - m_Layer: 0 - m_Name: CameraOffset - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &65634329 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 65634328} - 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: 2008584333} - - {fileID: 1773926310} - - {fileID: 697578261} - m_Father: {fileID: 361400739} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &102893242 GameObject: m_ObjectHideFlags: 0 @@ -436,6 +344,7 @@ GameObject: - component: {fileID: 102893245} - component: {fileID: 102893244} - component: {fileID: 102893249} + - component: {fileID: 102893253} m_Layer: 0 m_Name: Sliced Cube (2) m_TagString: Untagged @@ -458,6 +367,7 @@ MonoBehaviour: serializedGuid: serializedGuid: 780883f2693fe44e98bca9b93f030cb7 uniqueName: Sliced Cube (2) + guids: [] tags: [] --- !u!114 &102893244 MonoBehaviour: @@ -531,9 +441,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: m_Bits: 1 m_DistanceCalculationMode: 1 @@ -592,39 +499,12 @@ MonoBehaviour: m_StartingHoverFilters: [] m_StartingSelectFilters: [] m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] m_AttachTransform: {fileID: 0} m_SecondaryAttachTransform: {fileID: 0} - m_UseDynamicAttach: 0 + m_UseDynamicAttach: 1 m_MatchAttachPosition: 1 m_MatchAttachRotation: 1 - m_SnapToColliderVolume: 1 + m_SnapToColliderVolume: 0 m_ReinitializeDynamicAttachEverySingleGrab: 1 m_AttachEaseInTime: 0.15 m_MovementType: 1 @@ -665,10 +545,10 @@ MonoBehaviour: m_ThrowAngularVelocityScale: 1 m_ForceGravityOnDetach: 0 m_RetainTransformParent: 1 - m_AttachPointCompatibilityMode: 0 m_StartingSingleGrabTransformers: [] m_StartingMultipleGrabTransformers: [] m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 isTouchable: 1 isGrabbable: 1 isUsable: 0 @@ -679,10 +559,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 102893242} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 1 m_Interpolate: 0 @@ -696,9 +587,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 102893242} 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: 2 + serializedVersion: 3 m_Size: {x: 0.40000013, y: 0.39999995, z: 0.20000006} m_Center: {x: 0, y: 0, z: -0.10000027} --- !u!23 &102893250 @@ -718,6 +617,9 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -759,51 +661,37 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 102893242} + serializedVersion: 2 m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} m_LocalPosition: {x: 0.01, y: 1.2, z: 0.75} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 1756511964} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &105739407 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 105739408} - m_Layer: 0 - m_Name: BigHandLeft - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &105739408 -Transform: +--- !u!114 &102893253 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 105739407} - 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: 1906445694} - - {fileID: 1784977341} - - {fileID: 1675801262} - - {fileID: 1142522481} - - {fileID: 25957662} - m_Father: {fileID: 1015737782} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &134998303 + m_GameObject: {fileID: 102893242} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 0} + m_PokeCollider: {fileID: 102893249} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 3 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 1 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} +--- !u!1 &155865727 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -811,81 +699,79 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 134998304} - - component: {fileID: 134998306} - - component: {fileID: 134998305} + - component: {fileID: 155865728} + - component: {fileID: 155865729} m_Layer: 8 - m_Name: Cylinder + m_Name: Interaction Affordance m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &134998304 +--- !u!4 &155865728 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 134998303} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: -0.1} - m_LocalScale: {x: 1, y: 0.1, z: 1} + m_GameObject: {fileID: 155865727} + 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: 1222594156} - m_RootOrder: 0 + m_Father: {fileID: 815556419} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &134998305 -MeshRenderer: +--- !u!114 &155865729 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 134998303} + m_GameObject: {fileID: 155865727} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - 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: a16db0f18ace882458e325d3243cb6da, 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 &134998306 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 134998303} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49e0a5b5ff5540f5b14dd29d46faec22, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractableSource: {fileID: 815556422} + m_IgnoreHoverEvents: 0 + m_IgnoreHoverPriorityEvents: 1 + m_IgnoreFocusEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} --- !u!1 &185363457 GameObject: m_ObjectHideFlags: 0 @@ -914,13 +800,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185363457} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.01, y: 0.4, z: 0.4} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 248065651} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &185363459 MonoBehaviour: @@ -949,6 +835,7 @@ MonoBehaviour: serializedGuid: serializedGuid: 8531ddd739de15498651d945a022a74e uniqueName: Slicing highlight + guids: [] tags: [] --- !u!65 &185363461 BoxCollider: @@ -958,9 +845,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185363457} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 2, y: 1, z: 1.5} m_Center: {x: 0, y: 0, z: 0} --- !u!23 &185363462 @@ -980,6 +875,9 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1013,38 +911,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 185363457} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &189572712 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 189572713} - m_Layer: 0 - m_Name: Index_0_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &189572713 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 189572712} - m_LocalRotation: {x: 0.039005104, y: -0.077951096, z: -0.09432525, w: 0.9917182} - m_LocalPosition: {x: -0.059387933, y: -0.00000024288892, z: 0.0000000011920929} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1352490008} - m_Father: {fileID: 1906445694} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &221845636 GameObject: m_ObjectHideFlags: 0 @@ -1073,6 +939,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 221845636} + serializedVersion: 2 m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0.4, z: 1.8} m_LocalScale: {x: 1, y: 1, z: 1} @@ -1080,7 +947,6 @@ Transform: m_Children: - {fileID: 1745294527} m_Father: {fileID: 33704422} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} --- !u!114 &221845638 MonoBehaviour: @@ -1095,11 +961,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: m_Bits: 1 + m_Handedness: 0 m_AttachTransform: {fileID: 1745294527} m_KeepSelectedTargetValid: 1 m_DisableVisualsWhenBlockedInGroup: 1 @@ -1119,18 +983,6 @@ MonoBehaviour: m_Calls: [] m_StartingHoverFilters: [] m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] m_ShowInteractableHoverMeshes: 1 m_InteractableHoverMeshMaterial: {fileID: 0} m_InteractableCantHoverMeshMaterial: {fileID: 0} @@ -1156,9 +1008,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 221845636} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 0.4, y: 0.4, z: 0.2} m_Center: {x: 0, y: 0, z: -0.1} --- !u!114 &221845640 @@ -1211,8 +1071,9 @@ MonoBehaviour: serializedGuid: serializedGuid: fe37ce7994e9bd4e91415ae124ae8aea uniqueName: Sliced Cube (1)_SnapZone + guids: [] tags: [] ---- !u!1 &232339299 +--- !u!1 &223840345 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1220,11 +1081,82 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 232339300} - - component: {fileID: 232339303} - - component: {fileID: 232339304} - - component: {fileID: 232339302} - - component: {fileID: 232339301} + - component: {fileID: 223840346} + - component: {fileID: 223840348} + - component: {fileID: 223840347} + m_Layer: 8 + m_Name: Snap Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &223840346 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 223840345} + 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: 815556419} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &223840347 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 223840345} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.25, y: 0.6, z: 1.25} + m_Center: {x: 0, y: 0.3, z: 0} +--- !u!114 &223840348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 223840345} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87996e81a5026dc429bfd6a9271548b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractableObject: {fileID: 815556422} + m_SnapCollider: {fileID: 223840347} + m_DisableSnapColliderWhenSelected: 0 + m_SnapToCollider: {fileID: 0} +--- !u!1 &232339299 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 232339300} + - component: {fileID: 232339303} + - component: {fileID: 232339304} + - component: {fileID: 232339302} + - component: {fileID: 232339301} m_Layer: 8 m_Name: Teleportation Spot m_TagString: Untagged @@ -1239,14 +1171,15 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 232339299} + 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: - - {fileID: 1268751234} + - {fileID: 2016722928} + - {fileID: 1352938876} m_Father: {fileID: 1756511964} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &232339301 MonoBehaviour: @@ -1275,9 +1208,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 232339299} 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: 2 + serializedVersion: 3 m_Size: {x: 1, y: 0.01, z: 1} m_Center: {x: 0, y: 0.02, z: 0} --- !u!114 &232339303 @@ -1294,9 +1235,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: m_Bits: 2 m_DistanceCalculationMode: 1 @@ -1355,43 +1293,16 @@ MonoBehaviour: m_StartingHoverFilters: [] m_StartingSelectFilters: [] m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] m_TeleportationProvider: {fileID: 0} m_MatchOrientation: 2 m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 + m_TeleportTrigger: 0 m_FilterSelectionByHitNormal: 0 m_UpNormalToleranceDegrees: 30 m_Teleporting: m_PersistentCalls: m_Calls: [] - m_TeleportAnchorTransform: {fileID: 1268751234} + m_TeleportAnchorTransform: {fileID: 2016722928} --- !u!114 &232339304 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1407,6 +1318,7 @@ MonoBehaviour: serializedGuid: serializedGuid: bb9fcf7f489136429f6cc417d678a54c uniqueName: Teleportation Spot_1 + guids: [] tags: [] --- !u!1 &242342981 GameObject: @@ -1434,13 +1346,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 242342981} + 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: 503181885} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &242342983 MeshRenderer: @@ -1459,10 +1371,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2018913513} + - {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1520,6 +1435,7 @@ GameObject: - component: {fileID: 248065655} - component: {fileID: 248065654} - component: {fileID: 248065653} + - component: {fileID: 248065659} m_Layer: 0 m_Name: Magic Cube m_TagString: Untagged @@ -1534,6 +1450,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 248065650} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -3, y: 1.2, z: 5.25} m_LocalScale: {x: 1, y: 1, z: 1} @@ -1543,7 +1460,6 @@ Transform: - {fileID: 53683354} - {fileID: 561255720} m_Father: {fileID: 0} - m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &248065653 MonoBehaviour: @@ -1617,9 +1533,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: m_Bits: 1 m_DistanceCalculationMode: 1 @@ -1678,39 +1591,12 @@ MonoBehaviour: m_StartingHoverFilters: [] m_StartingSelectFilters: [] m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] m_AttachTransform: {fileID: 0} m_SecondaryAttachTransform: {fileID: 0} - m_UseDynamicAttach: 0 + m_UseDynamicAttach: 1 m_MatchAttachPosition: 1 m_MatchAttachRotation: 1 - m_SnapToColliderVolume: 1 + m_SnapToColliderVolume: 0 m_ReinitializeDynamicAttachEverySingleGrab: 1 m_AttachEaseInTime: 0.15 m_MovementType: 1 @@ -1751,10 +1637,10 @@ MonoBehaviour: m_ThrowAngularVelocityScale: 1 m_ForceGravityOnDetach: 0 m_RetainTransformParent: 1 - m_AttachPointCompatibilityMode: 0 m_StartingSingleGrabTransformers: [] m_StartingMultipleGrabTransformers: [] m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 isTouchable: 1 isGrabbable: 1 isUsable: 0 @@ -1765,10 +1651,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 248065650} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 1 m_Drag: 0 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 1 m_Interpolate: 0 @@ -1789,44 +1686,36 @@ MonoBehaviour: serializedGuid: serializedGuid: a81db1d2faa3e34da620e6951c2b6be7 uniqueName: Magic Cube + guids: [] tags: [] ---- !u!1 &283625089 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 283625090} - m_Layer: 0 - m_Name: Thumb_1_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &283625090 -Transform: +--- !u!114 &248065659 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 283625089} - m_LocalRotation: {x: 0.0000025456518, y: 0.0000026570444, z: 0.10506754, w: 0.9944651} - m_LocalPosition: {x: -0.03307885, y: 0.000000052452087, z: -0.00000030398368} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1889204434} - m_Father: {fileID: 1074416408} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_GameObject: {fileID: 248065650} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 248065656} + m_PokeCollider: {fileID: 0} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 0 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 1 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} --- !u!1001 &286338418 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: -8679921383154817045, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} @@ -1874,15 +1763,15 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} - target: {fileID: -7511558181221131132, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - target: {fileID: -7511558181221131132, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} - propertyPath: m_Materials.Array.data[1] + propertyPath: 'm_Materials.Array.data[1]' value: objectReference: {fileID: 2100000, guid: 703eca7600ef1d1409b7cf527745a33e, type: 2} - target: {fileID: -7511558181221131132, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} - propertyPath: m_Materials.Array.data[2] + propertyPath: 'm_Materials.Array.data[2]' value: objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - target: {fileID: -3133498875991405556, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} @@ -1890,11 +1779,11 @@ PrefabInstance: value: 4294967295 objectReference: {fileID: 0} - target: {fileID: -2859109400176981367, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - target: {fileID: -2859109400176981367, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} - propertyPath: m_Materials.Array.data[1] + propertyPath: 'm_Materials.Array.data[1]' value: objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - target: {fileID: 919132149155446097, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} @@ -1906,12 +1795,16 @@ PrefabInstance: value: 4294967295 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1abcf478131f05645a9e8efbebd736db, type: 3} --- !u!1001 &308985786 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: - target: {fileID: -8679921383154817045, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} @@ -1940,11 +1833,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_LocalRotation.w - value: 1 + value: 0.99999946 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: 0.0010357928 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_LocalRotation.y @@ -1956,7 +1849,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_LocalEulerAnglesHint.x - value: 0 + value: 0.119 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_LocalEulerAnglesHint.y @@ -1967,33 +1860,37 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} - target: {fileID: -7511558181221131132, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 16598d12187e7ef49aaf6d2ec4136e05, type: 2} - target: {fileID: -7511558181221131132, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} - propertyPath: m_Materials.Array.data[1] + propertyPath: 'm_Materials.Array.data[1]' value: objectReference: {fileID: 2100000, guid: 20cfa7770468940429489de589ef1302, type: 2} - target: {fileID: -7511558181221131132, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} - propertyPath: m_Materials.Array.data[2] + propertyPath: 'm_Materials.Array.data[2]' value: objectReference: {fileID: 2100000, guid: 07bc3b943f33eb048941deac15d39ea6, type: 2} - target: {fileID: -6485130812926156181, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 3993f871ec52cf74da0409f8ba5f6a4a, type: 2} - target: {fileID: -6485130812926156181, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} - propertyPath: m_Materials.Array.data[1] + propertyPath: 'm_Materials.Array.data[1]' value: objectReference: {fileID: 2100000, guid: 8feb2afc57281374ea664a04bad2dac0, type: 2} - target: {fileID: -5961788602603777882, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: c04323bebf6070b4ab0e9df97c3f28e7, type: 2} - target: {fileID: 919132149155446097, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_Name value: Platform objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} propertyPath: m_StaticEditorFlags value: 4294967295 @@ -2003,43 +1900,16 @@ PrefabInstance: value: 4294967295 objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2432b9d584ff8c44c88073c39743e60b, type: 3} ---- !u!1 &326836475 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 326836476} - m_Layer: 0 - m_Name: Ring_Tip_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &326836476 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 326836475} - m_LocalRotation: {x: 0.000000011175867, y: -0.000000022351747, z: -0.00000020395967, w: 1} - m_LocalPosition: {x: -0.020554436, y: 0.000000114440915, z: -0.00000007867813} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 933831182} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &343040741 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 813701130} m_Modifications: - target: {fileID: -8679921383154817045, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} @@ -2087,15 +1957,15 @@ PrefabInstance: value: 0 objectReference: {fileID: 0} - target: {fileID: -7511558181221131132, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - target: {fileID: -7511558181221131132, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} - propertyPath: m_Materials.Array.data[1] + propertyPath: 'm_Materials.Array.data[1]' value: objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - target: {fileID: -505929436113270756, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: d586649e59c967444a1607a4aed46c01, type: 2} - target: {fileID: 919132149155446097, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} @@ -2107,43 +1977,29 @@ PrefabInstance: value: 4294967295 objectReference: {fileID: 0} - target: {fileID: 5355397255215566438, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} - propertyPath: m_Materials.Array.data[0] + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: abb9f2a27e7f7184b881acce31145657, type: 2} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} + insertIndex: -1 + addedObject: {fileID: 1831340544} + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} + insertIndex: -1 + addedObject: {fileID: 450456541} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} + insertIndex: -1 + addedObject: {fileID: 2121825125} m_SourcePrefab: {fileID: 100100000, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} ---- !u!1 &361187390 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 361187391} - m_Layer: 0 - m_Name: Middle_Tip_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &361187391 +--- !u!4 &450456541 stripped Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + m_PrefabInstance: {fileID: 1785665711} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361187390} - m_LocalRotation: {x: -0.00000002980233, y: -0.00000005308539, z: -0.000000042258765, w: 1} - m_LocalPosition: {x: -0.022676239, y: 0.00000029563904, z: -0.000000077486035} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1714243700} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &361400738 +--- !u!1 &503181884 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2151,356 +2007,160 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 361400739} - - component: {fileID: 361400748} - - component: {fileID: 361400747} - - component: {fileID: 361400746} - - component: {fileID: 361400745} - - component: {fileID: 361400744} - - component: {fileID: 361400743} - - component: {fileID: 361400742} - - component: {fileID: 361400741} - - component: {fileID: 361400740} + - component: {fileID: 503181885} + - component: {fileID: 503181886} + - component: {fileID: 503181890} + - component: {fileID: 503181889} + - component: {fileID: 503181888} + - component: {fileID: 503181887} m_Layer: 0 - m_Name: XR Rig + m_Name: Magic Cube_SnapZone m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &361400739 +--- !u!4 &503181885 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_GameObject: {fileID: 503181884} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.2, z: 0.7500001} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 65634329} - m_Father: {fileID: 1634918261} - m_RootOrder: 0 + - {fileID: 242342982} + m_Father: {fileID: 1756511964} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &361400740 +--- !u!114 &503181886 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} + m_GameObject: {fileID: 503181884} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 58a9a7b4435e36f4fbc7000edd687974, type: 3} + m_Script: {fileID: 11500000, guid: dc6efdd45e6a00744aaf4c68264d6d7c, type: 3} m_Name: m_EditorClassIdentifier: - moveScheme: 0 - turnStyle: 0 - moveForwardSource: 0 - actionAssets: - - {fileID: -944628639613478452, guid: de2411ef647d9f24d981120efb63e621, type: 3} - actionMaps: [] - actions: [] - baseControlScheme: Generic XR Controller - noncontinuousControlScheme: Noncontinuous Move - continuousControlScheme: Continuous Move - continuousMoveProvider: {fileID: 361400743} - continuousTurnProvider: {fileID: 361400744} - snapTurnProvider: {fileID: 361400747} - headForwardSource: {fileID: 2008584333} - leftHandForwardSource: {fileID: 440165965} - rightHandForwardSource: {fileID: 1729154661} ---- !u!114 &361400741 -MonoBehaviour: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 0 + m_AttachTransform: {fileID: 242342982} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_ShowInteractableHoverMeshes: 1 + m_InteractableHoverMeshMaterial: {fileID: 0} + m_InteractableCantHoverMeshMaterial: {fileID: 0} + m_SocketActive: 1 + m_InteractableHoverScale: 1 + m_RecycleDelayTime: 1 + m_HoverSocketSnapping: 0 + m_SocketSnappingRadius: 0.1 + m_SocketScaleMode: 0 + m_FixedScale: {x: 1, y: 1, z: 1} + m_TargetBoundsSize: {x: 1, y: 1, z: 1} + shownHighlightObject: {fileID: 919132149155446097, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} + ShowHighlightInEditor: 1 + highlightMeshMaterial: {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} + validationMaterial: {fileID: 2100000, guid: c6c888b079480654fbf337e7fe50b405, type: 2} + invalidMaterial: {fileID: 2100000, guid: 69e2b61a70de44f48909a564a7cf9c62, type: 2} + previewMesh: {fileID: 2119201252} +--- !u!65 &503181887 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} + m_GameObject: {fileID: 503181884} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: af6bf904e410ee8479f9093d8830d1f8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LocomotionProvider: {fileID: 361400747} - m_MinHeight: 0 - m_MaxHeight: Infinity ---- !u!143 &361400742 -CharacterController: + serializedVersion: 3 + m_Size: {x: 0.4, y: 0.4, z: 0.4} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &503181888 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Height: 1.36144 - m_Radius: 0.1 - m_SlopeLimit: 45 - m_StepOffset: 0.3 - m_SkinWidth: 0.08 - m_MinMoveDistance: 0.001 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &361400743 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bf296fc962d7184ab14ad1841598d5f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 361400746} - m_MoveSpeed: 1 - m_EnableStrafe: 1 - m_EnableFly: 0 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_ForwardSource: {fileID: 2008584333} - m_LeftHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 6da12c60-ad99-45b3-a0b1-a4ee1d30ddcc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6972639530819350904, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RightHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 77f364a5-e031-452a-af50-144d41955e70 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8198699208435500284, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!114 &361400744 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 919e39492806b334982b6b84c90dd927, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 361400746} - m_TurnSpeed: 60 - m_LeftHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: d065cb11-e9f6-4747-a3d4-1c032fc345a0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RightHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: e043a43a-0352-4ee2-ab81-9dafdfb41dc2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!114 &361400745 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 361400746} - m_DelayTime: 0 ---- !u!114 &361400746 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 03a5df2202a8b96488c744be3bd0c33e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Timeout: 10 - m_XROrigin: {fileID: 361400748} ---- !u!114 &361400747 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2213c36610e3b1c4bbf886810ed9db12, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 361400746} - m_TurnAmount: 45 - m_DebounceTime: 0.5 - m_EnableTurnLeftRight: 1 - m_EnableTurnAround: 1 - m_DelayTime: 0 - m_LeftHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: bcae984e-e222-4aec-9899-6a2de88a7166 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RightHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: ef35997d-2cb6-4340-9edd-1239db5332f0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!114 &361400748 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 361400738} + m_GameObject: {fileID: 503181884} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} + m_Script: {fileID: 11500000, guid: 557aaed036734781b129d67ec56c9366, type: 3} m_Name: m_EditorClassIdentifier: - m_Camera: {fileID: 2008584329} - m_OriginBaseGameObject: {fileID: 361400738} - m_CameraFloorOffsetObject: {fileID: 65634328} - m_RequestedTrackingOriginMode: 0 - m_CameraYOffset: 1.36144 ---- !u!1 &362215159 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 362215160} - - component: {fileID: 362215162} - - component: {fileID: 362215161} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &362215160 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 362215159} - 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: 1634918261} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &362215161 + acceptedProcessSceneObjects: + - {fileID: 248065658} +--- !u!114 &503181889 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 362215159} + m_GameObject: {fileID: 503181884} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} + m_Script: {fileID: 11500000, guid: eb7be990fff0a2142a874601356b26df, type: 3} m_Name: m_EditorClassIdentifier: - m_SendPointerHoverToParent: 1 - m_ClickSpeed: 0.3 - m_MoveDeadzone: 0.6 - m_RepeatDelay: 0.5 - m_RepeatRate: 0.1 - m_TrackedDeviceDragThresholdMultiplier: 2 - m_TrackedScrollDeltaMultiplier: 5 - m_ActiveInputMode: 0 - m_MaxTrackedDeviceRaycastDistance: 1000 - m_EnableXRInput: 1 - m_EnableMouseInput: 1 - m_EnableTouchInput: 1 - m_PointAction: {fileID: 0} - m_LeftClickAction: {fileID: 0} - m_MiddleClickAction: {fileID: 0} - m_RightClickAction: {fileID: 0} - m_ScrollWheelAction: {fileID: 0} - m_NavigateAction: {fileID: 0} - m_SubmitAction: {fileID: 0} - m_CancelAction: {fileID: 0} - m_EnableBuiltinActionsAsFallback: 1 - m_EnableGamepadInput: 1 - m_EnableJoystickInput: 1 - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel ---- !u!114 &362215162 + lockOnParentObjectLock: 1 + objectAttached: + m_PersistentCalls: + m_Calls: [] + objectDetached: + m_PersistentCalls: + m_Calls: [] + lockOnUnsnap: 1 +--- !u!114 &503181890 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 362215159} + m_GameObject: {fileID: 503181884} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 10 ---- !u!1 &375530499 + serializedGuid: + serializedGuid: 49823b067d495c47aac98eb841ddc61e + uniqueName: Magic Cube_SnapZone_1 + guids: [] + tags: [] +--- !u!1 &513126029 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2508,9 +2168,9 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 375530500} - - component: {fileID: 375530502} - - component: {fileID: 375530501} + - component: {fileID: 513126030} + - component: {fileID: 513126032} + - component: {fileID: 513126031} m_Layer: 8 m_Name: Plane m_TagString: Untagged @@ -2518,29 +2178,29 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &375530500 +--- !u!4 &513126030 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 375530499} + m_GameObject: {fileID: 513126029} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 655638806} - m_Father: {fileID: 1883760419} - m_RootOrder: 0 + - {fileID: 1178468342} + m_Father: {fileID: 6709181} m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!23 &375530501 +--- !u!23 &513126031 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 375530499} + m_GameObject: {fileID: 513126029} m_Enabled: 1 m_CastShadows: 0 m_ReceiveShadows: 0 @@ -2551,10 +2211,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 5984489a6c8753743953c8d64d3265fb, type: 2} + - {fileID: 2100000, guid: ab885650ca87af54d8a0e2e50e88b644, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2576,15 +2239,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &375530502 +--- !u!33 &513126032 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 375530499} + m_GameObject: {fileID: 513126029} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &388840134 +--- !u!1 &518602150 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2592,428 +2255,318 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 388840135} - m_Layer: 0 - m_Name: Ring_Palm_Left + - component: {fileID: 518602151} + - component: {fileID: 518602152} + - component: {fileID: 518602154} + - component: {fileID: 518602153} + m_Layer: 8 + m_Name: Teleportation area m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &388840135 + m_IsActive: 0 +--- !u!4 &518602151 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 388840134} - m_LocalRotation: {x: 0.99804187, y: -0.04426889, z: 0.04315787, w: 0.009497783} - m_LocalPosition: {x: -0.05238823, y: 0.0045133065, z: -0.011750946} + m_GameObject: {fileID: 518602150} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.5, y: 0, z: 1.5} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 695049119} - m_Father: {fileID: 1909973946} - m_RootOrder: 3 + m_Children: [] + m_Father: {fileID: 33704422} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &391997630 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 391997631} - m_Layer: 0 - m_Name: Thumb_Palm_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &391997631 -Transform: +--- !u!114 &518602152 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 391997630} - m_LocalRotation: {x: -0.7044048, y: 0.08700629, z: 0.3122117, w: 0.6314806} - m_LocalPosition: {x: -0.042795867, y: -0.014722028, z: 0.029782485} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 595536807} - m_Father: {fileID: 1909973946} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &440165964 -GameObject: + m_GameObject: {fileID: 518602150} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: b83ed1c9b1876e46820d20bbcae66652 + uniqueName: Teleportation area + guids: [] + tags: [] +--- !u!114 &518602153 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 440165965} - - component: {fileID: 440165968} - - component: {fileID: 440165967} - - component: {fileID: 440165966} - m_Layer: 0 - m_Name: Left Base Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &440165965 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 440165964} - 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: 506692965} - m_Father: {fileID: 1773926310} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!135 &440165966 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 440165964} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &440165967 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 440165964} + m_GameObject: {fileID: 518602150} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} + m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2089871579} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 + m_InteractionManager: {fileID: 0} + m_Colliders: [] m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 1199504349} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} + m_Bits: 2 + m_DistanceCalculationMode: 1 + m_SelectMode: 1 + m_FocusMode: 1 + m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] m_HoverEntered: m_PersistentCalls: m_Calls: [] m_HoverExited: m_PersistentCalls: m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] m_SelectEntered: m_PersistentCalls: m_Calls: [] m_SelectExited: m_PersistentCalls: m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: + m_FirstFocusEntered: m_PersistentCalls: m_Calls: [] - m_OnHoverExited: + m_LastFocusExited: m_PersistentCalls: m_Calls: [] - m_OnSelectEntered: + m_FocusEntered: m_PersistentCalls: m_Calls: [] - m_OnSelectExited: + m_FocusExited: m_PersistentCalls: m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!114 &440165968 -MonoBehaviour: + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_TeleportationProvider: {fileID: 0} + m_MatchOrientation: 0 + m_MatchDirectionalInput: 0 + m_TeleportTrigger: 0 + m_FilterSelectionByHitNormal: 0 + m_UpNormalToleranceDegrees: 30 + m_Teleporting: + m_PersistentCalls: + m_Calls: [] +--- !u!64 &518602154 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 440165964} + m_GameObject: {fileID: 518602150} + 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 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: -8378139086155444565, guid: 3d993d7375e6eec4d971b7d72f65da14, type: 3} +--- !u!43 &524671518 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 506692965} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: Grab - m_ModelDeSelectTransition: Grab - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 8b170a9b-132e-486d-947e-6a244d4362ea - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 080819c2-8547-4beb-8522-e6356be16fb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: 5fcab0d7-7f85-486b-9ce8-587f91fd6010 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: bff3ff54-e432-4205-8a89-770a756a58f8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 8e000d1c-13a4-4cc0-ad37-f2e125874399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: f93fa1a2-101a-4938-b3bf-d4156f43e4e4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7039868187661461836, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 3995f9f4-6aa7-409a-80d2-5f7ea1464fde - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 0dee0d87-a49c-4317-9281-019ed020b1ce - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5393738492722007444, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: db89d01c-df6f-4954-b868-103dd5bdb514 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: c4f9d43a-7eb7-410a-a5ee-80994233e6e4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: db273f91-ae55-4768-8558-7bb7cdc5d02b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 3e09b626-c80d-40ec-9592-eb3fe89c2038 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 3dca8766-e652-4e78-8406-420aa73ba338 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 556e96de-15e0-4c21-af61-26549b7aff58 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: e873605e-6a95-4389-8fbe-39069340ba92 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 54622687-cf88-41cc-8b5a-2cfd522daf3a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4e22ab00-2340-424c-80a9-858890f88c2d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &481569935 + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 960 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 205 + localAABB: + m_Center: {x: -0.000000029802322, y: 0.000000029802322, z: 0.000000007450581} + m_Extent: {x: 0.2, y: 0.2, z: 0.19999999} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020001000300020001000400030002000300050004000600030004000700060003000800050003000600080005000800090007000a00060007000b000a0006000c00080006000a000c0008000d00090008000c000d0009000d000e000b000f000a000b0010000f000a0011000c000f0011000a000c0012000d00110012000c00100013000f001000140013000f00150011000f00130015001400160013001400170016000d0018000e00120018000d0011001900120015001900110013001a001500130016001a0017001b00160017001c001b001c001d001b0016001b001e0016001e001a001d001f001b001b001f001e001d0020001f0015001a0021001500210019001900220012001200220018001a001e0023001a0023002100200024001f002000250024001f0026001e001e00260023001f0024002600250027002400250028002700240027002900240029002600260029002a0026002a00230023002a002b00210023002b0021002b002c0021002c00190019002c0022002c002b002d002b002e002d0022002c002f002c002d002f002e0030002d002e003100300022002f0032001800220032002f002d0033002d0030003300310034003000310035003400350036003400350037003600340036003800300034003900340038003900300039003300390038003a0039003a003b00330039003b003b003a003c002f0033003d003d0033003b0032002f003d003d003b003e003e003b003c0032003d003f003f003d003e00400032003f001800320040000e00180040000e00400041000e004100420040003f0043004000430041003f003e0044003f00440043003e003c0045003e004500440041004600420042004600470041004300480041004800460043004400490043004900480046004a00470047004a004b0048004c00460046004c004a004a004d004b004b004d004e004a004f004d004c004f004a004c0050004f00480051004c00510050004c0048004900510051005200500044005300490044004500530049005400510051005400520049005300540053004500550054005300560053005500560052005400570054005600570045005800550045003c0058003c005900580059005a00580059005b005a00550058005c0058005a005c00560055005d0055005c005d005b005e005a005b005f005e005a0060005c005a005e0060005f0061005e005f00620061005e00610063005e00630060006000630064005c00600065006000640065005d005c00650065006400660056005d0067005700560067005d006500680068006500660067005d006800570067006900670068006a0067006a006900680066006b0068006b006a00570069006c00520057006c006d0052006c006d006c006e006f006d006e006c00690070006e006c00700069006a0071006900710070006f006e00720073006f0072006e007000740072006e007400730072007500760073007500750072007700720074007700770074007800740070007900740079007800700071007900780079007a006a007b0071006a006b007b0071007c00790079007c007a0071007b007c007b006b007d007c007b007e007b007d007e007a007c007f007c007e007f006b0080007d006b00660080006600810080008100820080008100830082007d00800084008000820084007e007d0085007d008400850083008600820083008700860082008800840082008600880087008900860087008a008900860089008b0086008b00880088008b008c00840088008d0088008c008d00850084008d008d008c008e007e0085008f007f007e008f0085008d00900090008d008e008f00850090007f008f0091008f00900092008f009200910090008e0093009000930092007f00910094007a007f00940095007a009400950094009600970095009600940091009800960094009800910092009900910099009800970096009a009b0097009a00960098009c009a0096009c009b009a009d009e009b009d009d009a009f009a009c009f009f009c00a0009c009800a1009c00a100a00098009900a100a000a100a2009200a300990092009300a3009900a400a100a100a400a2009900a300a400a3009300a500a400a300a600a300a500a600a200a400a700a400a600a7009300a800a50093008e00a8008e00a900a800a900aa00a800a900ab00aa00a500a800ac00a800aa00ac00a600a500ad00a500ac00ad00ab00ae00aa00ab00af00ae00aa00b000ac00aa00ae00b000af00b100ae00af00b200b100ae00b100b300ae00b300b000b000b300b400ac00b000b500b000b400b500ad00ac00b500b500b400b600b700b500b600ad00b500b700b700b600b800b900ad00b700a600ad00b900a700a600b900b700b800ba00b900b700ba00ba00b800bb00a700b900bc00b900ba00bc00ba00bb00bd00bc00ba00bd00bd00bb00be00a700bc00bf00a200a700bf00c000a200bf00bc00bd00c100bf00bc00c100bd00be00c200c100bd00c200c200be00c300c400c200c300c000bf00c500c500bf00c100c600c000c500c700c200c400c700c100c200c500c100c700c800c700c400c600c500c900c900c500c700c900c700c800ca00c600c900cb00c900c800ca00c900cb00cc00ca00cb00 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 205 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 9840 + _typelessdata: 4d14cbb2cbcc4cbe7d3fd83200000000000080bf00000000587873bf000000000d389ebe000080bfc32e3a3e00000000134d7e3c6f3c46be10ab433da2b6ab3d936576bfb91e843e0d2974bf7c301cbeba9e84be000080bff3e8223e753d213d267226bd6f3c46be77dbf13cbdc660be936576bff74e233e52816cbf1e301c3e80bdb3be000080bf9274513e753d213dc76ce2bcd82d37be1d36ae3ddb8112bed7e862bf5472e13e587873bf0000000013389ebe000080bfc22e3a3e753da13d6115053dc9362ebe53cccc3d0e5b263e73c459bf73ffff3ed65b74bfb71887bede190ebe000080bf23a30b3e753da13d5436aebdc6362ebe6b247d3df3c3d9be6dc459bfe8369e3e0e925abf9a18873ebfc8e5be000080bf61ba683e753da13ddcfb2cbc183214bebcf00c3e4f5a86bd643e3bbf75c32d3fe0b378bf0829debd5ad857be000080bff2e8223e2edcf13d30ba3e3df1a806be8cc0123e1b026a3e0c522cbf9e0d343f8a5274bf085298bed8d4cf3c000080bfa6bae83d30dcf13d043294bd0c3214be1ec1f03d061ab1be593e3bbfb172163fd4eb68bf132ade3d9d0fcdbe000080bf9274513e30dcf13d9dabf9bdeba806bee164b53daf2919bf01522cbf7d8ede3e90d741bfdd51983e91dd14bf000080bf1900803e30dcf13d413ec23b2bbecdbd25fc303e44aa133c416401bf93e15c3fa2967cbfab2714be457898bd000080bf22a30b3e743d213ebd6a623d662eb7bd86362e3ee5828d3ef2f9e4be24c4593fe97f75bfd0c53ebe28c55a3e000080bf062fba3d753d213e9d5757bd9457d7bd82af253ebf9686bea29606bf761b4f3f587873bf0000000017389ebe000080bfc22e3a3e743d213e0fe2d9bd25becdbd5e9d0b3e07b303bf356401bfce56313f9f8c57bfd427143e1c0d05bf000080bf63ba683e753d213edf3114be5d2eb7bd4f56d73d573e39bfc0f9e4be0196063fe27816bf00000000e41b4fbf000080bf01a38b3e753d213ee24dfe3c47be4dbda5ab433ee426143e0db96fbe641d763f2d307dbf18e282bd6f79083e000080bfa5bae83dc18c493e9d96b23d65be4dbd57fc303e0765e53e54b96fbec3e15c3f3dd463bfce4accbc2d25e93e000080bf44a38b3dc28c493ef36ce2bcc16c62bdabc6423e8eb81dbeaa6f89be916e733f3a047cbfcbb526bd4b0c2fbe000080bff2e8223ec08c493ef92db7bdcb6c62bd79362e3ee25fdebeb26f89beca1d5c3f8c9b65bff9b4263d2575e1be000080bf9274513ec18c493e93257d3d330b18b4c1c6423e2a319e3ea722913ca66e733f707873bf0000000087379e3e000080bfe42eba3d0edc713ec6c1f03d0a11a632c9af253e2679163f00000000b21b4f3f3d074fbf268be33c496a163f000080bf052f3a3d0edc713e4d14cbb2c4c05332cccc4c3e00000000000000000000803fb6e67fbf828ee3bc00000000000080bf22a30b3e0ddc713ef42db73da16c623d7c362e3ee45fde3ea46f893eca1d5c3f8a9b65bfe8b3263d3475e13e000080bf22a38b3dad158d3ee4ba0c3e61be4d3d859d0b3ecea02e3f1ab96f3eec56313f6fbe3abf19fb1b3ee7b52a3f000080bf052fba3cad158d3ee9ba0cbe5dbe4dbd859d0b3ec9a02ebf25b96fbef056313f33c738bfc5e2823d816c30bf000080bf1900803ec28c493ea2257dbdb6f88732c1c6423e2b319ebefc2391bca56e733f6e7873bf0000000087379ebe000080bfc22e3a3e0edc713eeb6ce23c9e6c623dafc6423e9fb81d3e9b6f893e916e733f3c047cbf1fb426bd400c2f3e000080bf84bae83dad158d3e07e2d93d2abecd3d5f9d0b3e04b3033f3664013fd056313fa28c57bff527143e150d053f000080bfc22e3a3d533da13edb31143e5e2eb73d4f56d73d593e393fb6f9e43e0396063fc9ba2bbfca838d3e4d2d303f000080bf00000000533da13e97abf93defa8063ee164b53db429193ffe512c3f758ede3e9dd741bf4152983e64dd143f000080bf052fba3c0265b53e8f57573d9957d73d84af253ec696863e9e96063f771b4f3f567873bf000000001f389e3e000080bfc22eba3d533da13edb31943d2232143e0bc1f03deb19b13e663e3b3faa72163fe1eb68bf8f2ade3d620fcd3e000080bf23a38b3d0265b53e4d36ae3dca362e3e6b247d3df5c3d93e6fc4593fe1369e3e27925abfec18873e2fc8e53e000080bf052f3a3db08cc93efc4dfebc4fbe4d3da5ab433ef32614be06b96f3e641d763f2d307dbf12e282bd7e7908be000080bff3e8223ead158d3ecec1f0bd0a11a632c7af253e247916bf00000000b31b4f3f3f074fbf5c8ae33c476a16bf000080bf62ba683e0edc713ea63ec2bb2fbecd3d25fc303e32aa13bc3d64013f96e15c3fa0967cbfbc2714be5778983d000080bf12a30b3e533da13e186ce23ce52d373e0036ae3da381123ee1e8623f3672e13e587873bf0000000017389e3e000080bfe42eba3db08cc93e1972263d733c463e77dbf13cc4c6603e9365763ffc4e233e5b816cbf3d301c3e4cbdb33e000080bf44a38b3d5fb4dd3e01fb2c3c2332143eb7f00c3e0a5a863d673e3b3f72c32d3fd7b378bf312adebdc9d8573e000080bf84bae83d0265b53e454d7ebc733c463e13ab433da6b6abbd9365763faf1e843e042974bf97301cbef79e843e000080bfa6bae83d5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f00000000587873bf0000000011389e3e000080bf062fba3d0edcf13e6d1505bdcb362e3e53cccc3d135b26be75c4593f71ffff3ec25b74bffe1887bee61a0e3e000080bf23a30b3eb08cc93e3dba3ebdf4a8063e8cc0123e27026abe03522c3fa60d343f7f5274bf465298bec3d1cfbc000080bff3e8223e0265b53ecb6a62bd672eb73d86362e3ee4828dbef0f9e43e24c4593f877873bf00000000e8369ebe000080bfc32e3a3e533da13ea596b2bd6abe4d3d57fc303e1065e5be4fb96f3ec1e15c3f73e360bf8fe1823d056ff2be000080bf9274513ead158d3e183cc6bd2abecd3da0c0123efdecffbe3564013fc50d343fc52541bfb526143e85e223bf000080bf62ba683e533da13e3dba3ebdf4a8063e8cc0123e27026abe03522c3fa60d343fe57a49bfc451983e4f5a0abf000080bf9274513e0265b53e516209be7d6c623df8f00c3e27fc2ebf866f893ebac32d3ff32932bf41af263df78837bf000080bf1900803ead158d3e4d2db7bd1a32143e9c56d73d4f71e7be603e3b3f10b5023f2d7d29bf1d28de3d72d63dbf000080bf1800803e0265b53e6d1505bdcb362e3e53cccc3d135b26be75c4593f71ffff3e93cf30bf8118873e925e2cbf000080bf62ba683eb08cc93ee2af25be39c2c3b486c1f03d7f134fbf3d20913cf272163ffc7816bf00000000d11b4fbf000080bf00a38b3e0edc713ef4f00cbe7357d73d7ecccc3d332d30bf8796063fc4ffff3e3a7916bf00000000a51b4fbf000080bf01a38b3e533da13e873194bddc2d373e6556573dd4c6bfbed7e8623f7b558b3e887916bf000000006d1b4fbf000080bf00a38b3eb08cc93e454d7ebc733c463e13ab433da6b6abbd9365763faf1e843e738e1ebfb02f1c3e6a2845bf000080bf1900803e5fb4dd3e5dbd4dbd673c463e7d3fd83294eb8abe8865763f00000000fd830abf33311cbee9b753bf000080bfe845973e5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f00000000a07916bf00000000591b4fbf000080bf01a38b3e0edcf13ec756d7bda7362e3e7d3fd8323a9606bf4fc4593f00000000de98dabe991987be866b5dbf000080bfd0e8a23eb08cc93ebbb302be0432143ea156573ded1120bf4b3e3b3f9d558b3e832c00bffe2cdebddada5bbf000080bfe845973e0265b53e0d4e1abeb8a8063e7d3fd832dd513dbfcd512c3f0000000040a58abedb5298bef55e6abf000080bfb98bae3e0265b53efe322abed8bdcd3d38ab433dc9c852bf0e64013ff71e843ea55bc0bef72814be2a566abf000080bfd1e8a23e533da13eb42d37bef52db73d7d3fd8321bf964bf7cf9e43e000000000000000000000000000080bf000080bfa12eba3e533da13e5d7f30be216c623d6436ae3d61555bbf596f893ec172e13e3cfeeebee8b526bdc52862bf000080bfe845973ead158d3ec1ea43bedebd4d3dafdbf13cc18375bfb9b86f3e834f233ee82837be80e282bdf3567bbf000080bfb98bae3ead158d3ed4c642bed9c05332ae247d3d7c7873bf0000000031379e3e93279ebe0f8be3bc716073bf000080bfd0e8a23e0ddc713e5b4530be25be4dbdfe64b53db49f5ebfddb86fbeb48ede3e5260ddbef7e082bdcb4066bf000080bfe845973ec18c493e6d7226be07becdbddedb713d865b51bf256401bfece68c3e71b76fbe562714be791d76bf000080bfd0e8a23e743d213e9dabf9bdeba806bee164b53daf2919bf01522cbf7d8ede3ede5aa3bea75198be7d5b66bf000080bfe845973e30dcf13d45fd41be706c62bdd815053dbbb373bf916f89befee5163ee40711bed9b426bd82347dbf000080bfb88bae3ec08c493ecfcc4cbeb3f887327d3fd832b6f57fbf1c2491bc000000000000000000000000000080bf000080bfa02eba3e0edc713ec1ea43bedebd4d3d94dbf1bcc38375bfabb86f3e744f23bef928373eb4e3823def567bbf000080bf88d1c53ead158d3e2b6209be013214bee215053de3722abf4c3e3bbf02e6163ef545ccbd8429debd82347dbf000080bfb88bae3e2edcf13d5436aebdc6362ebe6b247d3df3c3d9be6dc459bfe8369e3ebde626be7b1887be7a6073bf000080bfd0e8a23e753da13d74362ebe6657d7bd7d3fd8321bc459bf8c9606bf000000000000000000000000000080bf000080bfa02eba3e743d213e45fd41be706c62bdcc1505bdbbb373bf916f89be02e616beee07113e8fb4263d82347dbf000080bf88d1c53ec18c493e7c2db7bdcf2d37be79813934a90cedbed1e862bf000000000000000000000000000080bf000080bfa02eba3e743da13d267226bd6f3c46be77dbf13cbdc660be936576bff74e233e8c2d46bd0c301cbe86b37cbf000080bfb98bae3e753d213d246209be093214bea21505bddc722abf533e3bbfe2e516be1446cc3d1229de3d82347dbf000080bf88d1c53e2edcf13d267226bd6f3c46be5ddbf1bcd7c660be8f6576bf194f23beb32d463d2e301c3e84b37cbf000080bf89d1c53e753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf000000000000000000000000000080bf000080bfa12eba3e000000005436aebdc6362ebe59247dbde6c3d9be72c459bfe8369ebe8de6263e8618873e7a6073bf000080bf7074d13e753da13d9dabf9bdeba806bed864b5bdaf2919bf04522cbf768edebeaa5aa33ece51983e815b66bf000080bf5817dd3e30dcf13d6d7226be07becdbdcedb71bd835b51bf2d6401bfe7e68cbe5bb76f3e6827143e791d76bf000080bf7174d13e753d213edf3114be5d2eb7bd4756d7bd5a3e39bfc0f9e4befe9506bfdc78163f00000000e91b4fbf000080bf41bae83e753d213ed4c642bef910a6329c247dbd7c7873bf000000002f379ebe8e279e3e6391e33c6f6073bf000080bf7074d13e0edc713e5b4530be25be4dbdf564b5bdb19f5ebfdab86fbec38edebe5560dd3eb9e1823dca4066bf000080bf5917dd3ec28c493e5d7f30be816c623d3936aebd64555bbf7b6f893e9e72e1be35feee3ec6b8263dc52862bf000080bf5817dd3ead158d3eebaf25beb3f887326ac1f0bd85134fbfeb22913ce87216bff678163f00000000d71b4fbf000080bf40bae83e0edc713ee7ba0cbe5cbe4dbd839d0bbed5a02ebf01b96fbee95631bf2cc7383f34e382bd886c30bf000080bf285df43ec18c493efe322abed8bdcd3d2aab43bdc5c852bf1764013fe81e84beb05bc03e3d29143e27566abf000080bf7074d13e533da13e0d4e1abeb8a8063e7d3fd832dd513dbfcd512c3f0000000041a58a3edc52983ef45e6abf000080bf89d1c53e0265b53ebbb302be0432143e935657bdec1120bf4b3e3b3fa1558bbe852c003ff42cde3ddada5bbf000080bf5817dd3e0265b53ec756d7bda7362e3e7d3fd8323a9606bf4fc4593f00000000e098da3e9b19873e856b5dbf000080bf7074d13eb08cc93ef4f00cbe7357d73d75ccccbd2f2d30bf9196063fbdffffbe3679163f00000000a81b4fbf000080bf40bae83e533da13e536209bec16c623deef00cbe29fc2ebf996f893eb4c32dbfe329323f55b226bd058937bf000080bf285df43ead158d3e873194bddc2d373e535657bdd4c6bfbed7e8623f80558bbe8a79163f000000006a1b4fbf000080bf40bae83eb08cc93e5dbd4dbd673c463e7d3fd83294eb8abe8865763f00000000fd830a3f34311c3ee9b753bf000080bf5817dd3e5fb4dd3e4b2db7bd1932143e9556d7bd4f71e7be613e3b3f0fb502bf2d7d293f2428debd72d63dbf000080bf285df43e0265b53e454d7ebc733c463e06ab43bdaab6abbd9365763fb11e84be738e1e3fb32f1cbe6a2845bf000080bf295df43e5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f00000000a079163f00000000591b4fbf000080bf41bae83e0edcf13e6d1505bdcb362e3e4accccbd185b26be76c4593f6affffbe90cf303f7c1887be945e2cbf000080bf0800003fb08cc93e3dba3ebdf4a8063e8ac012be2e026abe07522c3fa30d34bfe37a493fbe5198be535a0abf000080bf7cd1053f0265b53e183cc6bd2abecd3d9ec012bef9ecffbe3964013fc30d34bfbf25413fdc2614be87e223bf000080bf0800003f533da13ecb6a62bd672eb73d84362ebee4828dbee9f9e43e25c459bf8778733f00000000e8369ebe000080bff0a20b3f533da13ecec1f0bdb8c05332c6af25be2b7916bf00000000af1b4fbf39074f3f1a90e3bc4e6a16bf000080bf0800003f0ddc713ea596b2bd6abe4d3d54fc30be1065e5be49b96f3ec1e15cbf6ee3603f53e282bd0e6ff2be000080bf7cd1053fad158d3ef82db7bdcb6c62bd79362ebee85fdebead6f89bec91d5cbf8a9b653f4eb526bd2b75e1be000080bf7cd1053fc08c493ea2257dbdb0f88732bec642be2a319ebe252391bca66e73bf6e78733f0000000087379ebe000080bff0a20b3f0edc713efc4dfebc4fbe4d3da1ab43be0a2714be05b96f3e621d76bf2b307d3f4fe2823d917908be000080bf6474113fad158d3e0fe2d9bd25becdbd5d9d0bbe08b303bf3d6401bfc65631bf9c8c573fe12714be1e0d05bf000080bf0800003f743d213e9dabf9bdeba806bed864b5bdaf2919bf04522cbf768edebe92d7413ff35198be87dd14bf000080bf285df43e30dcf13ddc3194bd153214be1dc1f0bde619b1be663e3bbfab7216bfd6eb683f6829debda60fcdbe000080bf7cd1053f2edcf13d5436aebdc6362ebe59247dbde6c3d9be72c459bfe8369ebe10925a3f911887beb9c8e5be000080bf0800003f753da13d9d5757bd9457d7bd82af25bec69686bea29606bf751b4fbf5478733f0000000025389ebe000080bff0a20b3f743d213ef36ce2bcc16c62bdabc642be7cb81dbea46f89be936e73bf3a047c3f7ab5263d320c2fbe000080bf6474113fc18c493efd6be2bcd72d37be2736aebd9d8112bed7e862bf5d72e1be5878733f0000000015389ebe000080bff0a20b3f753da13d267226bd6f3c46be5ddbf1bcd7c660be8f6576bf194f23be50816c3f28301cbe89bdb3be000080bf7cd1053f753d213dcefa2cbc0c3214bec7f00cbed05986bd5e3e3bbf7cc32dbfe0b3783f8729de3d37d857be000080bf6474113f30dcf13d134d7e3c6f3c46be06ab43bd9fb6ab3d936576bfb61e84be0f29743f77301c3eb49e84be000080bf6474113f753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf000000005878733f000000000f389ebe000080bff0a20b3f000000006115053dc9362ebe47ccccbd395b263e75c459bf6cffffbed95b743fb318873e81190ebe000080bfd845173f753da13d30ba3e3df1a806be8ac012be5a026a3e0f522cbf960d34bf8e52743feb51983e56d9cf3c000080bf4c171d3f30dcf13d413ec23b2bbecdbd24fc30bef7ab133c396401bf99e15cbfa4967c3f9327143edb7798bd000080bfd845173f753d213ebd6a623d662eb7bd84362ebee4828d3eebf9e4be24c459bf8978733f00000000e5369e3e000080bfc0e8223f753d213e4d14cbb20411a632cbcc4cbe0000000000000000000080bfb6e67f3f8a8fe33c00000000000080bfd845173f0edc713ee24dfe3c47be4dbda1ab43bef826143e14b96fbe621d76bf2d307d3f52e2823d7d79083e000080bf4c171d3fc28c493e9d6ce23caf6c623dadc642be75b81d3ea36f893e936e73bf3c047c3ff1b4263d230c2f3e000080bf4c171d3fad158d3e6b257d3dc44eb1b3c2c642be23319e3ee122913ca66e73bf7078733f000000007f379e3e000080bfc0e8223f0edc713e9d96b23d65be4dbd54fc30be0365e53e42b96fbec4e15cbf75e3603f0be282bdff6ef23e000080bf34ba283fc18c493ea63ec2bb2fbecd3d24fc30bef2aa13bc3d64013f96e15cbfa0967c3fc927143e4978983d000080bfd845173f533da13e3dba3ebdf4a8063e8ac012be2e026abe07522c3fa30d34bf7f52743f4652983eded1cfbc000080bf6474113f0265b53e01fb2c3c2332143eb5f00cbefd59863d6a3e3b3f6fc32dbfd7b3783f342ade3dc8d8573e000080bf4c171d3f0265b53e6d1505bdcb362e3e4accccbd185b26be76c4593f6affffbec25b743f0019873ee61a0e3e000080bfd845173fb08cc93e8f57573d9957d73d82af25bec496863ea096063f771b4fbf5678733f000000001e389e3e000080bfc0e8223f533da13ee22db73db86c623d7d362ebed85fde3ea46f893ecf1d5cbf8f9b653f3eb426bd2275e13e000080bf34ba283fad158d3e156ce23ce52d373ef735aebda281123ee2e8623f3472e1be5878733f0000000017389e3e000080bfc0e8223fb08cc93e454d7ebc733c463e06ab43bdaab6abbd9365763fb11e84be0429743f99301c3ef59e843e000080bf4c171d3f5fb4dd3edb31943d2232143e07c1f0bded19b13e683e3b3fa77216bfe0eb683f852adebd690fcd3e000080bf34ba283f0265b53e1972263d733c463e5ddbf1bcc6c6603e9365763ffe4e23be5b816c3f3e301cbe4cbdb33e000080bf34ba283f5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f000000005878733f0000000011389e3e000080bfc0e8223f0edcf13e4d36ae3dca362e3e59247dbdf5c3d93e6fc4593fe1369ebe26925a3fe91887be36c8e53e000080bfa88b2e3fb08cc93e97abf93defa8063ed864b5bdb429193ffe512c3f738edebe9cd7413f3b5298be69dd143f000080bf1c5d343f0265b53e07e2d93d2abecd3d5c9d0bbe07b3033f3764013fcc5631bf9f8c573ffe2714be170d053f000080bfa88b2e3f533da13edb31143e5e2eb73d4756d7bd593e393fbdf9e43efe9506bfe078163f00000000e51b4f3f000080bf902e3a3f533da13ec6c1f03db8c05332c6af25be2379163f00000000b51b4fbf3f074f3f3f8ee3bc466a163f000080bfa88b2e3f0ddc713ee5ba0c3e65be4d3d839d0bbecda02e3f20b96f3eeb5631bf2fc7383f19e382bd836c303f000080bf1c5d343fad158d3e3a62093eb36c62bd02f10cbe17fc2e3f9d6f89bec4c32dbff229323fd2b226bdf488373f000080bf1c5d343fc08c493edcaf253eaaf887328ac1f0bd80134f3f442391bcef7216bffb78163f00000000d11b4f3f000080bf902e3a3f0edc713e5745303e2abe4d3df564b5bdb49f5e3fc3b86f3ec18edebe5460dd3ea6e1823dca40663f000080bf0400403fad158d3e103cc63d25becdbd9ec012bef1ecff3e416401bfc10d34bfc325413fbc2614be86e2233f000080bfa88b2e3f743d213e30ba3e3df1a806be8ac012be5a026a3e0f522cbf960d34bff07a493f835198be525a0a3f000080bf34ba283f30dcf13d6b2db73d143214be7956d7bd6271e73e643e3bbf02b502bf2e7d293f6627debd74d63d3f000080bf1c5d343f2edcf13d6115053dc9362ebe47ccccbd395b263e75c459bf6cffffbea9cf303f531887be825e2c3f000080bfa88b2e3f753da13df1f00c3e6f57d7bd75ccccbd312d303f8f9606bfc3ffffbe3679163f00000000a81b4f3f000080bf902e3a3f743d213e4b7f303e816c62bd6e36aebd5a555b3f716f89becd72e1be5dfeee3e16b8263dba28623f000080bf0400403fc18c493e9831943dd42d37be3d5657bde8c6bf3ed4e862bf7c558bbe8479163f000000006f1b4f3f000080bf902e3a3f753da13d134d7e3c6f3c46be06ab43bd9fb6ab3d936576bfb61e84be7b8e1e3fb52f1cbe6228453f000080bf1c5d343f753d213dc7b3023ef93114be4c5657bdf911203f473e3bbf7f558bbe6c2c003f172dde3de7da5b3f000080bf0400403f30dcf13d4fbd4d3d653c46be7d3fd83299eb8a3e886576bf00000000f0830a3f2e311c3ef1b7533f000080bf0400403f753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf00000000a079163f00000000591b4f3f000080bf902e3a3f00000000be56d73da4362ebe7d3fd8323696063f50c459bf00000000ba98da3e7b19873e946b5d3f000080bf78d1453f753da13d0a4e1a3eb4a806be7d3fd832dd513d3fcd512cbf0000000029a58a3ec052983efc5e6a3f000080bfeca24b3f30dcf13dfb322a3ed3bdcdbd2bab43bdcdc8523f0a6401bfee1e84bea45bc03e1f29143e29566a3f000080bf78d1453f753d213eb02d373ef42db7bd7d3fd8321bf9643f81f9e4be0000000000000000000000000000803f000080bf6074513f753d213ed0c6423ef910a6329c247dbd7a78733f000000003e379ebe9c279e3ec792e33c6d60733f000080bf78d1453f0edc713ebdea433ed9bd4dbd94dbf1bcc183753fa3b86fbea54f23be2c29373eb7e3823ded567b3f000080bfeca24b3fc28c493e41fd413e6f6c623dd01505bdbdb3733f8e6f893ef4e516beca07113ec0b5263d82347d3f000080bfeca24b3fad158d3ecbcc4c3ee1d11634f303d133b6f57f3f3e25913c0000000000000000000000000000803f000080bf6074513f0edc713ebdea433ed9bd4dbdafdbf13cc183753fadb86fbe9a4f233e1c2937be8de382bded567b3f000080bfd445573fc18c493e6a72263e0bbecd3dcedb71bd855b513f2c64013fe2e68cbe3db76f3e7f27143e7a1d763f000080bf78d1453f533da13e97abf93defa8063ed864b5bdb429193ffe512c3f738edebe885aa33eeb51983e825b663f000080bf0400403f0265b53e1a62093e0f32143eb01505bddc722a3f533e3b3fd8e516be2e45cc3dce29de3d84347d3f000080bfeca24b3f0265b53e4d36ae3dca362e3e59247dbdf5c3d93e6fc4593fe1369ebec1e5263eb218873e7c60733f000080bf78d1453fb08cc93e70362e3e6b57d73d7d3fd83219c4593f9096063f0000000000000000000000000000803f000080bf6074513f533da13e3cfd413e936c623dea15053db9b3733f996f893e05e6163ee90711be21b526bd82347d3f000080bfd445573fad158d3e582db73ddb2d373e7d3fd8329f0ced3ed3e8623f0000000000000000000000000000803f000080bf6074513fb08cc93e1972263d733c463e5ddbf1bcc6c6603e9365763ffe4e23be372c463d2a301c3e86b37c3f000080bfeca24b3f5fb4dd3e1a62093e0f32143ebc15053ddc722a3f553e3b3fd5e5163e2745ccbdc629debd84347d3f000080bfd445573f0265b53e1972263d733c463e77dbf13cc4c6603e9365763ffc4e233e322c46bd26301cbe86b37c3f000080bfd445573f5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f0000000000000000000000000000803f000080bf6074513f0edcf13e4d36ae3dca362e3e6b247d3df5c3d93e6fc4593fe1369e3ec2e526beb21887be7c60733f000080bf48175d3fb08cc93e97abf93defa8063ee164b53db429193ffe512c3f758ede3e8a5aa3beeb5198be825b663f000080bfbce8623f0265b53e6a72263e0bbecd3ddedb713d835b513f2e64013fe4e68c3e31b76fbe982714be7a1d763f000080bf48175d3f533da13edb31143e5e2eb73d4f56d73d593e393fb6f9e43e0396063f4ec2ffbe25c53ebe4995583f000080bf30ba683f533da13e5745303e2abe4d3dfe64b53db29f5e3fbdb86f3ec68ede3e5160ddbe26e282bdca40663f000080bfbce8623fad158d3ee4ba0c3e61be4d3d859d0b3ecea02e3f1ab96f3eec56313f164535bfab46ccbcdca7343f000080bfa48b6e3fad158d3ed0c6423ed9c05332ae247d3d7a78733f000000003d379e3e9c279ebe8293e3bc6b60733f000080bf48175d3f0ddc713edcaf253ebbf887328ec1f03d7d134f3fd12291bcf172163ffc7816bf00000000d01b4f3f000080bf30ba683f0edc713ec6c1f03d0a11a632c9af253e2679163f00000000b21b4f3f3c074fbf388fe33c496a163f000080bf185d743f0edc713e4d7f303e816c62bd7836ae3d5a555b3f716f89becd72e13e5ffeeebe69b826bdba28623f000080bfbce8623fc08c493e3b62093eb36c62bd04f10c3e15fc2e3f9c6f89bec7c32d3ff62932bf81b2263df188373f000080bfa48b6e3fc18c493e9d96b23d65be4dbd57fc303e0765e53e54b96fbec3e15c3feb0f5cbfd5fa1b3e39b4f93e000080bf8c2e7a3fc28c493efb322a3ed3bdcdbd38ab433dcbc8523f0b6401bfe71e843e995bc0be112914be2c566a3f000080bf48175d3f743d213e0a4e1a3eb4a806be7d3fd832dd513d3fcd512cbf000000000ba58abea25298be065f6a3f000080bfd445573f30dcf13df1f00c3e6f57d7bd7dcccc3d312d303f8d9606bfc4ffff3e377916bf00000000a81b4f3f000080bf30ba683f743d213e103cc63d25becdbda0c0123ef1ecff3e396401bfc70d343fcc2541bf9e26143e7de2233f000080bf185d743f753d213ebd6a623d662eb7bd86362e3ee5828d3ef2f9e4be24c4593f379f5cbf49838d3e10c4d93e000080bf0000803f753d213e30ba3e3df1a806be8cc0123e1b026a3e0c522cbf9e0d343f0f7b49bf5a51983e305a0a3f000080bf8c2e7a3f30dcf13dc5b3023ef63114be8b56573df611203f483e3bbf8d558b3e5d2c00bf3f2cdebdf3da5b3f000080bfbce8623f2edcf13dbe56d73da4362ebe7d3fd8323696063f50c459bf000000006498dabe471987beb26b5d3f000080bf48175d3f753da13d692db73d063214bea756d73d6471e73e573e3bbf13b5023f437d29bf2c27de3d61d63d3f000080bfa48b6e3f30dcf13d6115053dc9362ebe53cccc3d0e5b263e73c459bf73ffff3ed9cf30bf2c18873e5c5e2c3f000080bf185d743f753da13d9b31943dcd2d37beaf56573df4c6bf3ecce862bf9c558b3e847916bf000000006f1b4f3f000080bf30ba683f753da13d4fbd4d3d653c46be7d3fd83299eb8a3e886576bf00000000e0830abf1a311cbefeb7533f000080bfbce8623f753d213d134d7e3c6f3c46be10ab433da2b6ab3d936576bfb91e843e8c8e1ebfa12f1c3e5528453f000080bfa48b6e3f753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf00000000a07916bf00000000591b4f3f000080bf30ba683f00000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: -0.000000029802322, y: 0.000000029802322, z: 0.000000007450581} + m_Extent: {x: 0.2, y: 0.2, z: 0.19999999} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1.8829471 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1 &535679136 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -3021,841 +2574,468 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 481569936} + - component: {fileID: 535679137} + - component: {fileID: 535679138} m_Layer: 0 - m_Name: AttachTransform + m_Name: TransformerEnabled m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &481569936 + m_IsActive: 0 +--- !u!4 &535679137 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 481569935} - m_LocalRotation: {x: 0.36650118, y: 0, z: 0, w: 0.9304176} - m_LocalPosition: {x: -0.0447, y: -0.0476, z: 0.0131} + m_GameObject: {fileID: 535679136} + 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: 514757337} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 43, y: 0, z: 0} ---- !u!1 &496138946 -GameObject: + m_Children: + - {fileID: 1507460097} + m_Father: {fileID: 1192304054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &535679138 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 496138948} - - component: {fileID: 496138951} - - component: {fileID: 496138947} - - component: {fileID: 496138950} - - component: {fileID: 496138949} - m_Layer: 0 - m_Name: Right Teleport Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &496138947 + m_GameObject: {fileID: 535679136} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 0b02258065237248bdd586d9a5633b28 + uniqueName: TransformerEnabled + guids: [] + tags: [] +--- !u!1 &551482092 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6246853691175774326, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + m_PrefabInstance: {fileID: 1978455790} + m_PrefabAsset: {fileID: 0} +--- !u!114 &551482098 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496138946} - m_Enabled: 0 + m_GameObject: {fileID: 551482092} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2089871579} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 2 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 1 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 1982479364} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!4 &496138948 + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1001 &561255719 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 248065651} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, type: 2} + - target: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_Name + value: MagicSphere + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_Layer + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + insertIndex: -1 + addedObject: {fileID: 561255722} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + insertIndex: -1 + addedObject: {fileID: 561255723} + m_SourcePrefab: {fileID: 100100000, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} +--- !u!4 &561255720 stripped Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + m_PrefabInstance: {fileID: 561255719} + m_PrefabAsset: {fileID: 0} +--- !u!1 &561255721 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + m_PrefabInstance: {fileID: 561255719} + m_PrefabAsset: {fileID: 0} +--- !u!135 &561255722 +SphereCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496138946} - 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: 1982479364} - m_Father: {fileID: 697578261} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &496138949 + m_GameObject: {fileID: 561255721} + 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: 3 + m_Radius: 0.2 + m_Center: {x: -0.000000029802322, y: 0.000000029802322, z: 0.000000007450581} +--- !u!114 &561255723 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496138946} + m_GameObject: {fileID: 561255721} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: + serializedGuid: + serializedGuid: d67820fd904d9f46873f098e03179ac0 + uniqueName: Sphere + guids: [] + tags: [] +--- !u!1 &576643108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 576643109} + - component: {fileID: 576643110} + m_Layer: 0 + m_Name: Collider (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &576643109 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576643108} + serializedVersion: 2 + m_LocalRotation: {x: -0.27059805, y: -0.27059805, z: 0.6532815, w: 0.6532815} + m_LocalPosition: {x: -0.1617, y: 0, z: 0.17999974} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 660021081} + m_LocalEulerAnglesHint: {x: 0, y: -45, z: 90} +--- !u!136 &576643110 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 576643108} + m_Material: {fileID: 0} + m_IncludeLayers: serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: + m_Bits: 0 + m_ExcludeLayers: serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!120 &496138950 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496138946} + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_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_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: + serializedVersion: 2 + m_Radius: 0.02 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &586564669 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &496138951 + m_TransformParent: {fileID: 813701130} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_Name + value: Podium Teleportation Area + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: -7511558181221131132, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + insertIndex: -1 + addedObject: {fileID: 586564674} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + insertIndex: -1 + addedObject: {fileID: 586564672} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + insertIndex: -1 + addedObject: {fileID: 586564675} + m_SourcePrefab: {fileID: 100100000, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} +--- !u!4 &586564670 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + m_PrefabInstance: {fileID: 586564669} + m_PrefabAsset: {fileID: 0} +--- !u!1 &586564671 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} + m_PrefabInstance: {fileID: 586564669} + m_PrefabAsset: {fileID: 0} +--- !u!114 &586564672 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 496138946} + m_GameObject: {fileID: 586564671} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 820468471} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: fcd2b3a9-43ac-48cf-a7ef-54b9ad619657 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: cc4e2ef5-ea43-46d3-b5d9-bb0fd6cf288f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8270564778575511633, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 056d5a5d-5859-40a6-9c77-a8c50f2557c3 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 4766120400929042988, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 0c708103-b771-4cf9-a58f-f4cd7216526c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3285721481334498719, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 820dd6dd-cf7f-42f3-bfef-c218ea683709 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 6e0e5c0a-f766-4ba1-ac09-ccb5e05c9f7d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 9ad5ff42-2240-49bb-89c4-c981d3c023eb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: f900ec0d-eadb-4813-baa4-f9f0709793fe - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 9b17f14a-5c0c-47d4-bbf7-e6b9fceff015 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 2b918fe0-516b-4793-b6b1-98f6a5f40457 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &503181884 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 503181885} - - component: {fileID: 503181886} - - component: {fileID: 503181890} - - component: {fileID: 503181889} - - component: {fileID: 503181888} - - component: {fileID: 503181887} - m_Layer: 0 - m_Name: Magic Cube_SnapZone - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &503181885 -Transform: + serializedGuid: + serializedGuid: b1b2d19d99f7c74a9759a753b5c92766 + uniqueName: Podium Teleportation Area + guids: [] + tags: [] +--- !u!64 &586564674 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503181884} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1.2, z: 0.7500001} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 242342982} - m_Father: {fileID: 1756511964} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &503181886 + m_GameObject: {fileID: 586564671} + 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: -3071651571934779511, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} +--- !u!114 &586564675 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503181884} + m_GameObject: {fileID: 586564671} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc6efdd45e6a00744aaf4c68264d6d7c, type: 3} + m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 + m_Colliders: [] m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 242342982} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} + m_Bits: 2 + m_DistanceCalculationMode: 1 + m_SelectMode: 1 + m_FocusMode: 1 + m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] m_HoverEntered: m_PersistentCalls: m_Calls: [] m_HoverExited: m_PersistentCalls: m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] m_SelectEntered: m_PersistentCalls: m_Calls: [] m_SelectExited: m_PersistentCalls: m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: + m_FirstFocusEntered: m_PersistentCalls: m_Calls: [] - m_OnHoverExited: + m_LastFocusExited: m_PersistentCalls: m_Calls: [] - m_OnSelectEntered: + m_FocusEntered: m_PersistentCalls: m_Calls: [] - m_OnSelectExited: + m_FocusExited: m_PersistentCalls: m_Calls: [] - m_ShowInteractableHoverMeshes: 1 - m_InteractableHoverMeshMaterial: {fileID: 0} - m_InteractableCantHoverMeshMaterial: {fileID: 0} - m_SocketActive: 1 - m_InteractableHoverScale: 1 - m_RecycleDelayTime: 1 - m_HoverSocketSnapping: 0 - m_SocketSnappingRadius: 0.1 - m_SocketScaleMode: 0 - m_FixedScale: {x: 1, y: 1, z: 1} - m_TargetBoundsSize: {x: 1, y: 1, z: 1} - shownHighlightObject: {fileID: 919132149155446097, guid: 1ed1d5cc1197f8144a46c56a59341db7, type: 3} - ShowHighlightInEditor: 1 - highlightMeshMaterial: {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} - validationMaterial: {fileID: 2100000, guid: c6c888b079480654fbf337e7fe50b405, type: 2} - invalidMaterial: {fileID: 2100000, guid: 69e2b61a70de44f48909a564a7cf9c62, type: 2} - previewMesh: {fileID: 2119201252} ---- !u!65 &503181887 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503181884} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.4, y: 0.4, z: 0.4} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &503181888 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503181884} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 557aaed036734781b129d67ec56c9366, type: 3} - m_Name: - m_EditorClassIdentifier: - acceptedProcessSceneObjects: - - {fileID: 248065658} ---- !u!114 &503181889 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503181884} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb7be990fff0a2142a874601356b26df, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - objectAttached: + m_Activated: m_PersistentCalls: m_Calls: [] - objectDetached: + m_Deactivated: m_PersistentCalls: m_Calls: [] - lockOnUnsnap: 1 ---- !u!114 &503181890 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 503181884} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 49823b067d495c47aac98eb841ddc61e - uniqueName: Magic Cube_SnapZone_1 - tags: [] ---- !u!1 &506692964 + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_TeleportationProvider: {fileID: 0} + m_MatchOrientation: 0 + m_MatchDirectionalInput: 0 + m_TeleportTrigger: 0 + m_FilterSelectionByHitNormal: 0 + m_UpNormalToleranceDegrees: 30 + m_Teleporting: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &587381658 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -3863,264 +3043,295 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 506692965} + - component: {fileID: 587381659} + - component: {fileID: 587381667} + - component: {fileID: 587381666} + - component: {fileID: 587381668} + - component: {fileID: 587381664} + - component: {fileID: 587381663} + - component: {fileID: 587381662} + - component: {fileID: 587381661} + - component: {fileID: 587381660} + - component: {fileID: 587381665} + - component: {fileID: 587381669} m_Layer: 0 - m_Name: ModelPt + m_Name: Sliced Cube (1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &506692965 + m_IsActive: 0 +--- !u!4 &587381659 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 506692964} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_GameObject: {fileID: 587381658} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.01, y: 1.2, z: 0.75} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1015737782} - m_Father: {fileID: 440165965} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &512971541 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 512971542} - m_Layer: 0 - m_Name: Index_2_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &512971542 -Transform: + m_Children: [] + m_Father: {fileID: 1756511964} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!114 &587381660 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 512971541} - m_LocalRotation: {x: 0.006532279, y: 0.0032989993, z: -0.17059992, w: 0.98531324} - m_LocalPosition: {x: -0.023907261, y: -0.00000026226044, z: 0.00000022888183} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1421788325} - m_Father: {fileID: 1352490008} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &514757336 -GameObject: + m_GameObject: {fileID: 587381658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 10f84f2b8a43cb84abcf29d7e444d45d, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + attachedToSnapZone: + m_PersistentCalls: + m_Calls: [] + detachedFromSnapZone: + m_PersistentCalls: + m_Calls: [] + lockObjectOnSnap: 0 +--- !u!114 &587381661 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 514757337} - - component: {fileID: 514757341} - - component: {fileID: 514757340} - - component: {fileID: 514757339} - - component: {fileID: 514757338} - m_Layer: 0 - m_Name: Left UI Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &514757337 -Transform: + m_GameObject: {fileID: 587381658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 428efa2c1665b6745bfa9c1ec2026c93, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + grabStarted: + m_PersistentCalls: + m_Calls: [] + grabEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &587381662 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 514757336} - 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: 481569936} - m_Father: {fileID: 1773926310} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &514757338 + m_GameObject: {fileID: 587381658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + touchStarted: + m_PersistentCalls: + m_Calls: [] + touchEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &587381663 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 514757336} + m_GameObject: {fileID: 587381658} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} m_Name: m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 1} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 65535 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!120 &514757339 -LineRenderer: + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + m_DistanceCalculationMode: 1 + m_SelectMode: 0 + m_FocusMode: 1 + m_CustomReticle: {fileID: 0} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_AttachTransform: {fileID: 0} + m_SecondaryAttachTransform: {fileID: 0} + m_UseDynamicAttach: 1 + m_MatchAttachPosition: 1 + m_MatchAttachRotation: 1 + m_SnapToColliderVolume: 0 + m_ReinitializeDynamicAttachEverySingleGrab: 1 + m_AttachEaseInTime: 0.15 + m_MovementType: 1 + m_VelocityDamping: 1 + m_VelocityScale: 1 + m_AngularVelocityDamping: 1 + m_AngularVelocityScale: 1 + m_TrackPosition: 1 + m_SmoothPosition: 0 + m_SmoothPositionAmount: 5 + m_TightenPosition: 0.5 + m_TrackRotation: 1 + m_SmoothRotation: 0 + m_SmoothRotationAmount: 5 + m_TightenRotation: 0.5 + m_TrackScale: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + m_ThrowSmoothingDuration: 0.25 + m_ThrowSmoothingCurve: + serializedVersion: 2 + m_Curve: + - 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: 4 + m_ThrowVelocityScale: 1.5 + m_ThrowAngularVelocityScale: 1 + m_ForceGravityOnDetach: 0 + m_RetainTransformParent: 1 + m_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + isTouchable: 1 + isGrabbable: 1 + isUsable: 0 +--- !u!54 &587381664 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587381658} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!65 &587381665 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 514757336} + m_GameObject: {fileID: 587381658} + 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 - m_CastShadows: 0 - m_ReceiveShadows: 0 + serializedVersion: 3 + m_Size: {x: 0.40000013, y: 0.39999995, z: 0.20000006} + m_Center: {x: 0.00000047683716, y: 0, z: -0.10000003} +--- !u!23 &587381666 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587381658} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, type: 2} + - {fileID: 2100000, guid: a2e88723e4cd77a4690d0637321940aa, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -4140,91 +3351,109 @@ LineRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &514757340 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &587381667 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587381658} + m_Mesh: {fileID: 8989072162018436745, guid: 3cd7c532cc585b54795fadfe1b32fc53, type: 3} +--- !u!114 &587381668 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 514757336} - m_Enabled: 0 + m_GameObject: {fileID: 587381658} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 4bd5dfda1461c546b1ceff6d13ef92cb + uniqueName: Sliced Cube (1) + guids: [] + tags: [] +--- !u!114 &587381669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 587381658} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 0} + m_PokeCollider: {fileID: 587381665} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 3 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 1 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} +--- !u!1 &597715542 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 597715543} + - component: {fileID: 597715544} + - component: {fileID: 597715548} + - component: {fileID: 597715547} + - component: {fileID: 597715546} + - component: {fileID: 597715545} + m_Layer: 0 + m_Name: Magic Cube_SnapZone + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &597715543 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597715542} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.2, z: 0.75} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1106929324} + m_Father: {fileID: 1527860102} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &597715544 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597715542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc6efdd45e6a00744aaf4c68264d6d7c, type: 3} m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 481569936} + m_Bits: 1 + m_Handedness: 0 + m_AttachTransform: {fileID: 1106929324} m_KeepSelectedTargetValid: 1 m_DisableVisualsWhenBlockedInGroup: 1 m_StartingSelectedInteractable: {fileID: 0} @@ -4243,326 +3472,1992 @@ MonoBehaviour: m_Calls: [] m_StartingHoverFilters: [] m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: + m_ShowInteractableHoverMeshes: 1 + m_InteractableHoverMeshMaterial: {fileID: 0} + m_InteractableCantHoverMeshMaterial: {fileID: 0} + m_SocketActive: 1 + m_InteractableHoverScale: 1 + m_RecycleDelayTime: 1 + m_HoverSocketSnapping: 0 + m_SocketSnappingRadius: 0.1 + m_SocketScaleMode: 0 + m_FixedScale: {x: 1, y: 1, z: 1} + m_TargetBoundsSize: {x: 1, y: 1, z: 1} + shownHighlightObject: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + ShowHighlightInEditor: 1 + highlightMeshMaterial: {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} + validationMaterial: {fileID: 2100000, guid: c6c888b079480654fbf337e7fe50b405, type: 2} + invalidMaterial: {fileID: 2100000, guid: 69e2b61a70de44f48909a564a7cf9c62, type: 2} + previewMesh: {fileID: 0} +--- !u!65 &597715545 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597715542} + m_Material: {fileID: 0} + m_IncludeLayers: serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 0.4, y: 0.4, z: 0.4} + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &597715546 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597715542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 557aaed036734781b129d67ec56c9366, type: 3} + m_Name: + m_EditorClassIdentifier: + acceptedProcessSceneObjects: + - {fileID: 248065658} +--- !u!114 &597715547 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 597715542} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb7be990fff0a2142a874601356b26df, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + objectAttached: m_PersistentCalls: m_Calls: [] - m_UIHoverExited: + objectDetached: m_PersistentCalls: m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!114 &514757341 + lockOnUnsnap: 1 +--- !u!114 &597715548 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 514757336} + m_GameObject: {fileID: 597715542} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 506692965} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: ee2b90af-cb76-4d31-80a6-06fad8ac806a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 4c57fe61-e6e1-4df3-bff3-6c688f6f9e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: ddf8704b-2999-4398-9c0c-f544b97511bc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: 513b54c8-e5e6-4655-86fb-ffc0e6581287 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 869302d5-d3c7-4c1b-a962-a7e033b42a15 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 74881b2d-69d1-415a-ba95-f39c2790be4c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7039868187661461836, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 4aec5842-effb-4789-a584-e3222db901f4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 89e16be1-e73a-49a3-b8bd-bdd0bbceb5bb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5393738492722007444, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: e65a640e-2a41-422f-82dd-ebfb73c6c378 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 826f3058-ef37-41e9-ba84-4afcd5732d73 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 81d76e5d-99e0-4c7d-b7aa-4b9b356a9678 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 80072ca0-f27a-4040-8ae9-a0fa7a761bbc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 13f6cacf-e639-4a90-864c-abb89495ad0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: b3c94e4f-767d-44c1-8640-f2e1c8cd8399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 6713f8f9-89a2-46da-aad5-ae077ac477ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 286d9bd4-26e9-420c-8388-e665eff6186f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 9b9023bf-9a71-4cf5-93ac-5f72bdfeb34b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &518602150 + serializedGuid: + serializedGuid: 41ac9fab4fee234e819d2b79f916d92a + uniqueName: Magic Cube_SnapZone + guids: [] + tags: [] +--- !u!1001 &632093759 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1527860102} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalPosition.x + value: -0.75 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: -7511558181221131132, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} + - target: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_Name + value: Pedestal + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + insertIndex: -1 + addedObject: {fileID: 1637849900} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + insertIndex: -1 + addedObject: {fileID: 632093762} + m_SourcePrefab: {fileID: 100100000, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} +--- !u!4 &632093760 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + m_PrefabInstance: {fileID: 632093759} + m_PrefabAsset: {fileID: 0} +--- !u!1 &632093761 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} + m_PrefabInstance: {fileID: 632093759} + m_PrefabAsset: {fileID: 0} +--- !u!65 &632093762 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 632093761} + 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: 3 + m_Size: {x: 0.5000001, y: 1, z: 0.5000001} + m_Center: {x: -0.00000023841858, y: 0.5, z: 0} +--- !u!1 &643048780 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 643048781} + - component: {fileID: 643048782} + m_Layer: 0 + m_Name: Collider (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &643048781 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 643048780} + serializedVersion: 2 + m_LocalRotation: {x: 0.27059805, y: 0.27059805, z: 0.6532815, w: 0.6532815} + m_LocalPosition: {x: -0.182, y: 0, z: -0.163} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 660021081} + m_LocalEulerAnglesHint: {x: 0, y: 45, z: 90} +--- !u!136 &643048782 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 643048780} + 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: 2 + m_Radius: 0.02 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &660021079 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1743725476} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: -7511558181221131132, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} + - target: {fileID: -4818106957885473086, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_Name + value: Target + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2191750151954457832, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 2229032678205019293, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: 2229032678205019293, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 16598d12187e7ef49aaf6d2ec4136e05, type: 2} + - target: {fileID: 2229032678205019293, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: 'm_Materials.Array.data[2]' + value: + objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} + - target: {fileID: 3396913584297481876, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 844459427} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 1769588068} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 1359767051} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 576643109} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 1816767294} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 2140681947} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 1423653693} + - targetCorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 643048781} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 2008175316} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 2008175317} + - targetCorrespondingSourceObject: {fileID: 2191750151954457832, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 660021083} + - targetCorrespondingSourceObject: {fileID: 3396913584297481876, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + insertIndex: -1 + addedObject: {fileID: 1969415634} + m_SourcePrefab: {fileID: 100100000, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} +--- !u!4 &660021080 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + m_PrefabInstance: {fileID: 660021079} + m_PrefabAsset: {fileID: 0} +--- !u!4 &660021081 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + m_PrefabInstance: {fileID: 660021079} + m_PrefabAsset: {fileID: 0} +--- !u!1 &660021082 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2191750151954457832, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + m_PrefabInstance: {fileID: 660021079} + m_PrefabAsset: {fileID: 0} +--- !u!65 &660021083 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 660021082} + 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: 3 + m_Size: {x: 1.7976047, y: 1.1504669, z: 0.08324993} + m_Center: {x: 0, y: 3.5952096, z: 0.01631552} +--- !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} + - component: {fileID: 705507996} + m_Layer: 0 + m_Name: Sun + 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: 11 + m_Type: 1 + m_Color: {r: 0.85882354, g: 0.858539, b: 0.84705883, a: 1} + m_Intensity: 0.8 + 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_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !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.8864501, y: 0.40046445, z: 0.13547534, w: 0.18836364} + m_LocalPosition: {x: 0, y: 5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 13.029, y: 156.335, z: 128.636} +--- !u!114 &705507996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 705507993} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1 &729381798 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 729381799} + - component: {fileID: 729381801} + - component: {fileID: 729381800} + m_Layer: 8 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &729381799 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729381798} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 1, y: 0.1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1987015394} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &729381800 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729381798} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a16db0f18ace882458e325d3243cb6da, 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 &729381801 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 729381798} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &764837756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 764837757} + - component: {fileID: 764837758} + m_Layer: 8 + m_Name: Interaction Affordance + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &764837757 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764837756} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000005960466, y: 0, z: -0.000000059604638} + m_LocalScale: {x: 0.99999976, y: 1, z: 0.99999976} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2014095924} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &764837758 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764837756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49e0a5b5ff5540f5b14dd29d46faec22, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractableSource: {fileID: 2014095928} + m_IgnoreHoverEvents: 0 + m_IgnoreHoverPriorityEvents: 1 + m_IgnoreFocusEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!1 &770514937 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 770514938} + m_Layer: 8 + m_Name: Anchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &770514938 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 770514937} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.01, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1987015394} + m_Father: {fileID: 815556419} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &790520235 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 790520236} + - component: {fileID: 790520239} + - component: {fileID: 790520238} + - component: {fileID: 790520237} + m_Layer: 0 + m_Name: SnapPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &790520236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790520235} + 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: 1525491574} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &790520237 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790520235} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, 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 &790520238 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790520235} + m_Mesh: {fileID: 862649805} +--- !u!114 &790520239 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 790520235} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 88ea78c93b844cc1b7f98cca70e8679c, type: 3} + m_Name: + m_EditorClassIdentifier: + parent: {fileID: 1525491575} +--- !u!1 &813701129 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 813701130} + m_Layer: 0 + m_Name: Station Unlock Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &813701130 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 813701129} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: 1.5, y: 0, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2014095924} + - {fileID: 1241623310} + - {fileID: 2121825122} + - {fileID: 586564670} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!1 &815556418 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 815556419} + - component: {fileID: 815556422} + - component: {fileID: 815556423} + - component: {fileID: 815556421} + - component: {fileID: 815556420} + m_Layer: 8 + m_Name: Teleportation Spot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &815556419 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815556418} + 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: + - {fileID: 770514938} + - {fileID: 223840346} + - {fileID: 155865728} + m_Father: {fileID: 1527860102} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &815556420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815556418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 584ad12357614f4fbb5460fdf72e8cc6, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + teleportEnded: + m_PersistentCalls: + m_Calls: [] + initialized: + m_PersistentCalls: + m_Calls: [] +--- !u!65 &815556421 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815556418} + 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: 3 + m_Size: {x: 1, y: 0.01, z: 1} + m_Center: {x: 0, y: 0.02, z: 0} +--- !u!114 &815556422 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815556418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0193c710a3042c6479b28370a44e0b0f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 2 + m_DistanceCalculationMode: 1 + m_SelectMode: 1 + m_FocusMode: 1 + m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_TeleportationProvider: {fileID: 0} + m_MatchOrientation: 2 + m_MatchDirectionalInput: 0 + m_TeleportTrigger: 0 + m_FilterSelectionByHitNormal: 0 + m_UpNormalToleranceDegrees: 30 + m_Teleporting: + m_PersistentCalls: + m_Calls: [] + m_TeleportAnchorTransform: {fileID: 770514938} +--- !u!114 &815556423 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 815556418} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 8a8ba7249720634e83596d2c8de50700 + uniqueName: Teleportation Spot + guids: [] + tags: [] +--- !u!1 &844459426 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 844459427} + - component: {fileID: 844459430} + - component: {fileID: 844459429} + - component: {fileID: 844459428} + m_Layer: 0 + m_Name: TargetCollider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &844459427 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 844459426} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 3, z: 0.36999983} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 660021080} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &844459428 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 844459426} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 94f0bf7ce367d3942a1f56ec8dd56e41, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &844459429 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 844459426} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 70c21327b894cc4682eeaaad4a2ccbf0 + uniqueName: TargetCollider + guids: [] + tags: [] +--- !u!65 &844459430 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 844459426} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 0.35, y: 0.1, z: 0.35} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &853416177 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 853416178} + - component: {fileID: 853416181} + - component: {fileID: 853416179} + - component: {fileID: 853416180} + m_Layer: 8 + m_Name: Stair 1 Teleportation Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &853416178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853416177} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.4, z: 1.8} + m_LocalScale: {x: 0.04, y: 1, z: 0.04} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 33704422} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &853416179 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853416177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: dab4a007ae520c47af9117adf3fb3c6f + uniqueName: Stair 1 Teleportation Area + guids: [] + tags: [] +--- !u!114 &853416180 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853416177} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 2 + m_DistanceCalculationMode: 1 + m_SelectMode: 1 + m_FocusMode: 1 + m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_TeleportationProvider: {fileID: 0} + m_MatchOrientation: 0 + m_MatchDirectionalInput: 0 + m_TeleportTrigger: 0 + m_FilterSelectionByHitNormal: 0 + m_UpNormalToleranceDegrees: 30 + m_Teleporting: + m_PersistentCalls: + m_Calls: [] +--- !u!64 &853416181 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 853416177} + 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: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &861048854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 861048855} + - component: {fileID: 861048858} + - component: {fileID: 861048856} + - component: {fileID: 861048857} + m_Layer: 8 + m_Name: Stair 2 Teleportation Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &861048855 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861048854} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.8, z: 2.2} + m_LocalScale: {x: 0.04, y: 1, z: 0.04} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 33704422} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &861048856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861048854} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 4cc351be75c35a46af43ba76169788b7 + uniqueName: Stair 2 Teleportation Area + guids: [] + tags: [] +--- !u!114 &861048857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861048854} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 2 + m_DistanceCalculationMode: 1 + m_SelectMode: 1 + m_FocusMode: 1 + m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_TeleportationProvider: {fileID: 0} + m_MatchOrientation: 0 + m_MatchDirectionalInput: 0 + m_TeleportTrigger: 0 + m_FilterSelectionByHitNormal: 0 + m_UpNormalToleranceDegrees: 30 + m_Teleporting: + m_PersistentCalls: + m_Calls: [] +--- !u!64 &861048858 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 861048854} + 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: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!43 &862649805 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 2532 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 779 + localAABB: + m_Center: {x: 0, y: 0, z: -0.09999999} + m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 0 + m_KeepIndices: 0 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020003000400050006000700080009000a000b000b000c0009000b000d000c000e000c000d000d000f000e0010000e000f00110010000f001200100011001200110013001400120013001400130015001600140015001600150017001800160017001800170019001a0011000f001b00180019001b0019001c000f001d001a001e001d000f001f001e000f000f0020001f001b001c00210022001b00210023002200210024002300210024002500230021002600240027002800290029002a00270029002b002a0029002c002b002c002d002b002e002a002b002b002f002e002f0030002e00300031002e0032002e00310033003200310033003100340034003500330035003400360037003500360036003800370034003900360034003a00390030003b003c003b003d003c003b003e003d003e003f003d003e0040003f00400041003f0040004200410042004300410042004400430044004500430044004600450046004700450046004800470048004900470048004a00490049004a004b004b004c0049004a004d004b004d004a00480048004e004d0048004f004e0050005100520052005300500052005400530050005300550055005300540054005600550056005700550055005800500055005900580059005a00580059005b005a005b005c005a005c005d005a005c005e005d005e005f005d005e0060005f00600061005f0060006200610062006300610062006400630064003200630065006600670067006600680068006900670066006a0068006a006b0068006b006c0068006b006d006c006b006e006d006e006f006d006f0070006d006f00710070006f00720071007200730071007200740073007400750073007400760075007700760078007800790077007a00780076007a0076007b007b007c007a007d007a007c007d007c007e007e007f007d007d007f008000800081007d0080008200810082008300810082008400830084008500830083008600810086008700810085008800830088008900830085008a0088008a008b0088008b008c0088008b008d008c008d008e008c008e008f008c008d0090008e00900091008e0091009000920093008e0091009100940093009500960097009700980095009800990095009a009900980098009b009a009b009c009a009b009d009c009d009e009c009d009f009e009b00a0009d009b00a100a0009d00a2009f009d00a300a200a200a4009f00a200a500a400a200a600a500a600a700a500a600a800a700a600a900a800a800aa00a700a800ab00aa00ac00aa00ab00ad00a700aa00aa00ae00ad00af00b000b100b100b200af00b200b300af00b200b400b300b400b500b300b400b600b500b700b800b900ba00bb00bc00bd00be00bf00c000c100c200c300c400c500c600c700c800c900ca00cb00cc00cd00ce00cf00d000d100cf00d100d200d200d300cf00d300d200d400d300d400d500d500d400d600d500d600d700d500d700d800d900cf00d300d500d900d300da00d500d800da00d800db00db00dc00da00db00dd00dc00db00de00dd00d500da00df00da00e000df00d500df00e100d500e100d900d900e200cf00cf00e200e300e400e200d900e100e400d900e400e500e200e600e100df00e100e600e400e600df00e700e800e600e700e800e900e600e400e600e900e900e800ea00e900ea00eb00ec00e900eb00e500e400ed00e400e900ed00ec00ed00e900e500ed00ee00ed00ec00ef00ed00ef00ee00f000f100f200f000f300f100f300f000f400f500f300f400f400f000f600f400f600f700f400f800f500f400f700f900fa00f800f400f400f900fa00fa00fb00f800f900fc00fa00fb00fa00fc00f900fd00fc00fe00fb00fc00ff00fe00fc000001ff00fc00fc00fd00010102010001fc000301fc000101fc000301020103010101040105010301040106010201030105010701030106010301070108010601070108010701090109010a0108010b010a0109010b0109010c010d010e010f010d010f01100111010d011001110112010d01110113011201110114011301150113011401160115011401170111011001170114011101180110010f01170110011801160114011901170119011401160119011a0116011a011b01190117011c0119011c011a0118011c0117011c011d011a0118010f011e011e010f011f011e011f01200121011e012001220118011e01210122011e01180123011c012201230118012101240122012301220124012101250124011c0126011d0126011c0123012301240127012601230127012701240128012701280129012a01270129012a01260127012a011d0126012a012b011d012c012d012e012c012e012f0130012c012f01300131012c01300132013101300133013201340133013001340130012f0134013501330136012f012e0134012f01360136012e01370136013701380139013501340139013a0135013b0134013601360138013b013b01390134013b0138013c013d013c0138013d013e013c013c013e013f0140013c013f013b013c0140013b01410139013b014001410140014201410140014301420140013f014301390141014401390144013a014201440141013a01440145013a014501460144014701450142014701440148014701420149014801420142014a0149014b014a0142014b01420143014b0143013f014c014b013f014d014c013f014e014d013f014f014e013f013f0150014f0151015201530153015401510151015401550151015501560151015601570156015501580158015901560158015a0159015a015b0159015a015c015b015d015e015f015f0160015d01600161015d0160016201610160016301620162016301640164016501620165016401660165016601670165016701680165016801690169016a01650169016b016a0169016c016b016b016c016d016e016b016d016d016f016e016f0170016e01700171016e016f0172017001700172017301730174017001730175017401730176017501770178017901770179017a017b0177017a017b017c0177017b017d017c017b017e017d017f017d017e0180017f017e0181017b017a0181017e017b0182017a01790181017a01820180017e018301810183017e01800183018401800184018501830181018601830186018401820186018101860187018401820179018801880179018901880189018a018b0188018a018c01820188018b018c01880182018d0186018c018d0182018b018e018c018d018c018e018b018f018e01860190018701900186018d018d018e01910190018d01910191018e0192019101920193019401910193019401900191019401870190019401950187019601970198019601980199019a01960199019a019b0196019a019c019b019a019d019c019e019d019a019e019a0199019e019f019d01a001990198019e019901a001a0019801a101a001a101a201a3019f019e01a301a4019f01a5019e01a001a001a201a501a501a3019e01a501a201a601a701a601a201a701a801a601a601a801a901a501a601aa01aa01a601a901a501ab01a301a501aa01ab01a301ac01a401a301ab01ac01aa01ad01ab01ad01ac01ab01a401ac01ae01a401ae01af01ac01b001ae01ad01b001ac01aa01a901b101aa01b101ad01b201b001ad01b101b201ad01b201b301b001b101b401b201b401b101a901b401a901b501b601b701b801b901b601b801b801ba01b901bb01b901ba01bb01bc01b901bd01bc01bb01be01bd01bb01bf01be01bb01bb01c001bf01c101bf01c001c001c201c101c301c001bb01ba01c301bb01ba01b801c401b801c501c401ba01c401c601ba01c601c301c301c701c001c001c701c801c901c701c301c601c901c301c901ca01c701cb01c601c401c601cb01c901cb01c401cc01cd01cb01cc01cd01ce01cb01c901cb01ce01c901ce01cf01cf01ca01c901cf01d001ca01d101d201d301d101d301d401d501d101d401d501d601d101d501d701d601d501d801d701d401d901d501d801d501d901d401da01d901da01d401d301d901db01d801d301dc01da01dd01dc01d301dd01d301de01df01d801db01db01e001df01e001e101df01e101e201df01e201e301df01e401df01e301e401e301e501e201e601e301e301e701e501e801e301e601e301e801e701e601e901e801e801ea01e701e901eb01e801e801ec01ea01e801eb01ec01ed01ee01ef01ed01ef01f001ed01f001f101ed01f101f201f101f301f201f101f401f301f001ef01f501f501f601f001f601f101f001ef01f701f501f801f701ef01f801f901f701f601fa01f101f101fa01fb01f101fb01fc01f101fc01fd01f401f101fd01f401fd01fe01fe01ff01f401fe010002ff01fe01010200020202f401ff0100020202ff0102020302f401000204020202000205020402000206020502060200020102010207020602080209020a020a020b0208020b020a020c020c020a020d020e0208020b020e020f0208020f020e021002100211020f0212020e020b02120210020e020b020c02130212020b021302100214021102140215021102140216021502140217021602180217021402180214021902180219021a021a021b0218021a021c021b021d0213020c021d020c021e021d021e021f021d021f022002210213021d0221021d022002210212021302210220022202220223022102220224022302210223022502210225021202120225021002250226021002270228022902270229022a022b0227022a022b022c0227022b022d022c022b022e022d022f022d022e0230022f022e0231022b022a0231022e022b0232022a02290231022a02320230022e023302310233022e02300233023402300234023502330231023602330236023402320236023102360237023402320229023802380229023902380239023a023b0238023a023c02320238023b023c02380232023d0236023c023d0232023b023e023c023d023c023e023b023f023e02360240023702400236023d023d023e02410240023d02410241023e0242024102420243024402410243024402400241024402370240024402450237024602470248024602480249024a024602490249024b024a024c024a024b024c024b024d024c024d024e024f024e024d024f0250024e024e0251024c024e02500252024e025302510253024e025202530254025102530255025402530256025502570256025302530252025802590258025202590252025a02580259025b02530258025c0258025b025c02570253025d0253025c025d0257025d025e025c025e025d025e025f0257025e0260025f02610260025e0261025e0262025e02630262025c0263025e025b0263025c025b0264026302650266026702650267026802650268026902650269026a026a0269026b026a026b026c026d026b02690268026d026902680267026e0267026f026e0268026e027002680270026d026d0271026b026b0271027202730271026d02700273026d02730274027102750270026e0270027502730275026e02760277027502760277027802750273027502780273027802790279027402730279027a0274027b027c027d027b027d027e027b027e027f027b027f0280027f02810280027f02820281027e027d028302830284027e0284027f027e02840285027f027f028502860282027f0286028602870282028702880282028702890288027d028a0283027d028b028a028b027d028c028c027d028d028c028d028e028c028f028b028c028e02900291028f028c028c0290029102910292028f0290029302910292029102930290029402930295029202930293029402960293029702950296029702930296029802970299029a029b029c029a0299029d029a029c029d029e029a029e029d029f029e029f02a0029f02a102a0029f02a202a102a2029f02a3029d02a3029f02a202a302a402a302a502a402a302a602a502a602a302a7029d02a702a302a602a702a802a702a902a802aa02a7029d02aa029d029c02a702aa02a902ab02aa029c02ab02a902aa02ab029c02ac029c029902ac02ab02ad02a902ad02ae02a902af02ad02ab02af02ab02ac02af02b002ad02b102ac029902af02ac02b102b1029902b202b102b202b302b102b302b402af02b102b402af02b402b502b502b002af02b502b602b002b702b802b902ba02b702b902b902bb02ba02bc02ba02bb02bb02b902bd02bb02bd02be02bc02bf02ba02bb02be02c002bb02c002bc02c102bf02bc02c202c102bc02c302c202bc02c002c402bc02bc02c402c302c002c502c402c602c302c402c402c702c602c802c602c702c802c702c902c802c902ca02ca02cb02c802cc02ca02c902cc02cd02ca02ce02cb02ca02ca02cd02cf02ce02ca02cf02d002ce02cf02d102d002cf02cf02d202d102d302d402d502d302d502d602d702d302d602d702d802d302d702d902d802d702da02d902db02d902da02dc02db02da02dd02d702d602dd02da02d702de02d602d502dd02d602de02dc02da02df02dd02df02da02dc02df02e002dc02e002e102df02dd02e202df02e202e002de02e202dd02e202e302e002de02d502e402e402d502e502e402e502e602e702e402e602e802de02e402e702e802e402de02e902e202e802e902de02e702ea02e802e902e802ea02e702eb02ea02e202ec02e302ec02e202e902e902ea02ed02ec02e902ed02ed02ea02ee02ed02ee02ef02f002ed02ef02f002ec02ed02f002e302ec02f002f102e302f202f302f402f202f402f502f202f502f602f202f602f702f702f602f802f702f802f902fa02f802f602f502fa02f602f502f402fb02f402fc02fb02f502fb02fd02f502fd02fa02fe02fd02fb02fe02fa02fd02fb02ff02fe02fe020003fa02fa020103f8020103fa020003f80201030203000303030103040301030303030305030403050306030403060307030403070308030403040308030903040309030a03 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 779 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 37392 + _typelessdata: 77562f3bcecc4cbd0ad723be000000000000803f00000000000000000000803f00000000000080bf0b98ec3e00ab133f54562f3b989919be0ad723be000000000000803f000000000000803f0000000000000000000080bf5005083f5a07023f54562f3bcecc4c3d0ad723be000000000000803f000000000000803f0000000000000000000080bf7325c93ea64e253f6b562fbbcccc4c3d0ad723be000000000000803f00000000000000000000803f000000000000803f3242c73ede5b243f60562fbb9999193e0ad723be000000000000803f00000000000080bf00000000000000000000803f9bcfa33e84ff353f60562fbbcecc4cbd0ad723be000000000000803f00000000000080bf00000000000000000000803fcab4ea3e37b8123fcecc4c3d0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf4247a33ef3efa83e999919be0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf0ae0a63e36e2ef3ececc4cbd0ad723be6d562fbb000000000000803f00000000eea07ebf00000000e8b2d3bd000080bfa613a53e1469cc3e235b21be235b213e37b088bb54e524bf496a423f4a4bbbbdb877acbcc9b6d03d2f9c7e3f000080bfdd683c3e6d37253f0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd1663ecbbcb97c73d50c67e3f000080bfb6443c3eeff3253f0ad723be78c31f3e000000001b807dbff0b80d3e248888bcec4b3bbb5386cb3d50bb7e3f000080bf6085403ef8ec253f27731ebe0ad7233e639e83bbf8b9babecaff6d3f341754bdaf66afbb69335b3d25a17f3f000080bfa2a73c3ec05a243fa7081fbe0ad7233e00000000b1527bbd08827f3f2bbb0ebce17549bb5be70b3c4efd7f3f000080bf6aab403e6f80243f999919be0ad7233e74562fbb000000000000803f000000006f0b473c000000002afb7f3f000080bfd4fe3d3e753b233f672c1d3e0ad7233e00000000668ee83d1c587e3f000000002639873c8047f7baf4f67f3f000080bf6aab403eb228b63ecccc4cbd0ad7233e74562fbb000000000000803f000000004015473c000000002afb7f3f000080bfd4fe3d3e91740b3fcbcc4c3d0ad7233e74562fbb000000000000803f000000005ce4463c000000002cfb7f3f000080bfd4fe3d3e5a5be73e07d723bd0ad7233e0e77b4bb000000000000803f000000009424473c000000002afb7f3f000080bf342a3b3ec811093f06d7233d0ad7233e0e77b4bb000000000000803f000000004202473c000000002afb7f3f000080bf342a3b3e8b18ec3e54b0d0bc0ad7233e3ae719bc000000000000803f00000000610c473c000000002afb7f3f000080bfd247373ec59a053f54b0d03c0ad7233e3ae719bc000000000000803f00000000a833473c0000000028fb7f3f000080bfd247373e11fbf23e2de719bc0ad7233e5cb0d0bc000000000000803f000000005c17473c000000002afb7f3f000080bffc34273e07bc013f23e7193c0ad7233e5cb0d0bc000000000000803f000000003814473c000000002afb7f3f000080bffc34273ef888fa3efd76b4bb0ad7233e07d723bd000000000000803f00000000e20b473c000000002afb7f3f000080bf49b0183ebdc4003ff376b43b0ad7233e07d723bd000000000000803f000000000b0c473c000000002afb7f3f000080bf49b0183e934cfc3e9999193e0ad7233e74562fbb000000000000803f0000000010f6463c000000002cfb7f3f000080bfd4fe3d3e92cdb73e66562fbb0ad7233ececc4cbd000000000000803f00000000f510473c000000002afb7f3f000080bf80b10e3ef810003f59562f3b0ad7233ececc4cbd000000000000803f000000008c16473c000000002afb7f3f000080bf80b10e3e8896fd3e672c1d3e0ad7233eb01a70bbee55fd3e5f775e3f00000000a6048b3ced4e1ebc81f37f3f000080bff5013d3e4723b63ef558203ef558203e62d46dbb67733d3fec2c2c3f000000004cff9a3c8a8caabc11e67f3f000080bf3eea3c3e1531b53e0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f00000000f9b77d3c3159bdbca3e67f3f000080bfd5ec3c3ec126b43e0ad7233e2b811c3e00000000b2887d3f46ca0d3e00000000f9d7523b0b81bcbc4fee7f3f000080bff666403ee62bb43e74562f3b0ad7233e989919be000000000000803f000000008615473c000000002afb7f3f000080bfb0f62a3d9a02fd3e66562fbb0ad7233e999919be000000000000803f00000000b421473c000000002afb7f3f000080bfb0f62a3d018eff3e9e7289bb0ad7233ed4171fbed13ca5bc263d7e3f793aecbdf7aad0bd5ddde63d03077d3f000080bf3484153d801f003f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bea064d2bcfa47e53e4acd643f000080bf20c7123d2461fe3e24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf4d974fbe9069333f16152f3f000080bf880f113d9034003fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9be291402bcdf1ae93e72eb633f000080bfb000113d2319fc3e6fe889bbdb6c213edb6c21be72ac91bd2c0f233f828244bfb02a173fe1e417bfb60b0cbf000080bfad8fa03e0713373f24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf9421163f3dca0dbf414d17bf000080bf1209a03ee451373f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bebe721b3f03ccaabed89a38bf000080bfb61ca13ee22f383f606284bbca881e3e0ad723bef1d71abdc954ad3e81b070bfc0a02c3f968a2fbf1d4c8cbe000080bf169fa13e329b363fdb078d3b0a7d1f3e0ad723bee4b63fbd7e9bd63efb1d68bf58fe293f5b402abf81f5aebe000080bf1a3ca43edc3f383fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9bef9371b3f24bcadbeaa1c38bf000080bf79cda23e4d09393f33d2913bcddf213eccdf21bebebb91bd1f0f233f5f8244bf554b173f15d017bf03ff0bbf000080bfe175a33eb3af383f60562fbb9999193e0ad723be0000000000000000000080bf0f96343f947335bf00000000000080bf9bcfa33e84ff353f77562f3b9999193e0ad723be0000000000000000000080bf0a96343f987335bf00000000000080bfdcb2a53e4df2363f54562f3bcecc4c3d0ad723be0000000000000000000080bf8495343f207435bf00000000000080bf7325c93ea64e253f54562f3b989919be0ad723be0000000000000000000080bf1596343f8f7335bf00000000000080bf5005083f5a07023f60562fbbcecc4cbd0ad723be0000000000000000000080bfdf95343fc27335bf00000000000080bfcab4ea3e37b8123f6b562fbb999919be0ad723be0000000000000000000080bf1396343f917335bf00000000000080bfb013073f9114013f5062843bc9881ebe0ad723be76a3293d53e4bdbe68816dbfa2622c3fc4f52cbf48ad993e000080bf931d093fac6b013fc3078dbb097d1fbe0ad723be97b1233d003db7be22d36ebf019d2a3f67a32fbf4860953e000080bf11cf073f058eff3e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2bedbaa1b3f9690a8becbee383f000080bfb45e093fd9adff3e1cd291bbcddf21beccdf21be1eab913d010f23bfaa8244bf542b173faee417bf3b0b0c3f000080bf2e32083f56aefe3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894befac2233fc56953bebc893d3f000080bf6286083f22fbfd3e05678b3bb9e522be073320be14319f3dda5928bff7d33fbfe4b2163fe38913bf511d113f000080bf92e8093ffdb4003f65e8893bda6c21bedb6c21be37c3913dec0e23bf738244bff001173fbffc17bfc51d0c3f000080bf48a5093fd7f3003feb76b43b0ad7233d0ad723be0000000000000000000080bf9095343f117435bf00000000000080bfaab0cd3e940b243f77562f3bcecc4cbd0ad723be0000000000000000000080bff695343fac7335bf00000000000080bf0b98ec3e00ab133f1877b43b06d723bd0ad723be0000000000000000000080bfff95343fa47335bf00000000000080bf570cea3e0fef153f21e7193c57b0d03c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bfbf35d43efe2b223f3ae7193c5cb0d0bc0ad723be0000000000000000000080bfb295343ff17335bf00000000000080bf3345e63e4c2f193f54b0d03c2de7193c0ad723be0000000000000000000080bffc95343fa87335bf00000000000080bf6495df3e792f223f5cb0d03c3ae719bc0ad723be0000000000000000000080bfea95343fb87335bf00000000000080bf3d3ee63e1fdf1e3f04d7233d0677b43b0ad723be0000000000000000000080bf1096343f927335bf00000000000080bfde15e63e0b13243f07d7233d0e77b4bb0ad723be0000000000000000000080bf1f96343f837335bf00000000000080bf68fde93ea821223fcbcc4c3d6b562f3b0ad723be0000000000000000000080bfdf95343fc47335bf00000000000080bffc9dea3ee558253fcecc4c3d6d562fbb0ad723be0000000000000000000080bfc195343fe17335bf00000000000080bf8e83ec3e4567243f9899193e60562f3b0ad723be0000000000000000000080bfd795343fcb7335bf00000000000080bfa4f2063f3012373f9999193e77562fbb0ad723be0000000000000000000080bfb195343ff17335bf00000000000080bf6de5073f9020363fd18d1d3e2600773b0ad723beb7e1e93ece0f503db15b63bfdca62a3f9d3d2ebfe19d9b3e000080bf646f073fc4f2373f87751d3e0e4875bb0ad723be3a6ddc3eba1d71bd969166bf2ba1273fc9992abf7e8eb63e000080bf08c0083f5e9b363faefb1d3e151886320ad723be3103293f320a38bca44140bf50c3093fcac130bf8f80f73e000080bf522d083f985b373f0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf0ab9cc3efb980cbf87db3b3f000080bf6ad9093f19b6373f72a5203e465c78bb71a520be9f2e343f45c2c4bd8c2e34bf18e10c3f96830dbf3732203f000080bfb64e093f7726373f0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be539f063e7a0527bf86113f3f000080bf992f093f1b5f383f0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bfc4c9e23e9e9e1fbf1dec243f000080bf9784083f4c09393fbeb1203ef00d7a3bc0b120be1576343f51bba03df17534bf7216193f2ba719bf38fb073f000080bfc2f7073f0580383fd38d1dbe530077bb0ad723bec716ddbeacae44bd319366bf78dc2c3f9ae32dbf5f3593be000080bf75fba43e1914003fc1b120be1b0e7abbc1b120bead7734bf7bd69fbd877734bf6202193ff8b819bfaffd07bf000080bfb8eaa33eb10dff3e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bfd880df3e79ea1fbf16c125bf000080bf0ed1a23e23fbfd3eb1fb1dbe151886320ad723beb5f228bf1aefd13bd55340bfbe4c0a3f5add30bf11fef5be000080bf967fa33e46ab003f0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33be9708063e5ae926bfb7303fbf000080bf0a7ba13e864fff3e8b751dbe2048753b0ad723be68ece6beab987c3debef63bf3d57253f187d2abfa31fbfbe000080bf2c5aa23e806b013f0ad723be0f48753b89751dbee0e058bfe968933d87c206bf526cd03eab7b0cbf76ec3abf000080bf6827a03ec450003f73a520be555c783b72a520be092e34bf820fc53dd42d34bfb3e80c3ff26d0dbfa43e20bf000080bfd03ca13e67e0003f999919be6d562fbb0ad723be0000000000000000000080bf2796343f7c7335bf00000000000080bff4f4a53eadf4003f999919be6b562f3b0ad723be0000000000000000000080bf1896343f8b7335bf00000000000080bf620fa43e4ee6013fcccc4cbd77562fbb0ad723be0000000000000000000080bfdf95343fc37335bf00000000000080bf413cc93ef9ad123fcecc4cbd60562f3b0ad723be0000000000000000000080bfd595343fcd7335bf00000000000080bfaf56c73e999f133f09d723bdfd76b43b0ad723be0000000000000000000080bfd095343fd17335bf00000000000080bfd4dcc93e35e5153f05d723bd1877b4bb0ad723be0000000000000000000080bfe895343fba7335bf00000000000080bf5fc4cd3ed3f3133f57b0d0bc2de7193c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bf009ccd3ec027193f54b0d0bc3ae719bc0ad723be0000000000000000000080bf0996343f9a7335bf00000000000080bfd844d43e65d7153f2de719bc54b0d03c0ad723be0000000000000000000080bfbf95343fe27335bf00000000000080bf0a95cd3e92d71e3f2be719bc5cb0d0bc0ad723be0000000000000000000080bf1d96343f857335bf00000000000080bf7da4df3ee0da153f0677b4bb05d7233d0ad723be0000000000000000000080bff195343fb27335bf00000000000080bfe6cdc93ecf17223ff576b4bb0ad723bd0ad723be0000000000000000000080bf3596343f6e7335bf00000000000080bf9229e63e4afb133f6b562fbbcccc4c3d0ad723be0000000000000000000080bffc95343fa77335bf00000000000080bf3242c73ede5b243f05678b3bb9e522be073320be14319f3dda5928bff7d33fbfae3e06bf5bbd1c3f8f7b17bf000080bf74ebf03efcd3b83e5572893b0ad723becd171fbe824ea53cc53c7ebf4154ecbdbec494be8e3ed63d997c73bf000080bf575df03e802cb93e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2be03d390bda132e13e993165bf000080bffec6f03e5290ba3e60562fbb0ad723be989919be00000000000080bf000000000000000000000000000080bf000080bf15cfed3e7b9cbb3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894be7e2809bc9368943e130075bf000080bfce15f13e5743bc3e5d562f3b0ad723be999919be00000000000080bf000000000000000000000000000080bf000080bf74b6ed3e90b6b93e6d562f3b0ad723becbcc4cbd00000000000080bf000000000000000000000000000080bf000080bf2ec4bb3e97b8b93e6b562fbb0ad723bececc4cbd00000000000080bf000000000000000000000000000080bf000080bfd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd00000000000080bf000000000000000000000000000080bf000080bf3aebb63ee39fbc3e0677b43b0ad723be07d723bd00000000000080bf000000000000000000000000000080bf000080bf84b8b63ea0b7b83e38e7193c0ad723be54b0d0bc00000000000080bf000000000000000000000000000080bf000080bf6265af3e0357b73e2de719bc0ad723be5cb0d0bc00000000000080bf000000000000000000000000000080bf000080bfe1bbaf3e1601be3e57b0d0bc0ad723be38e719bc00000000000080bf000000000000000000000000000080bf000080bfbafda73ec4b5c33e5cb0d03c0ad723be23e719bc00000000000080bf000000000000000000000000000080bf000080bf2913a73efda2b13e0ad723bd0ad723be0677b4bb00000000000080bf000000000000000000000000000080bf000080bfb54fa63ee8dcc83e06d7233d0ad723befd76b4bb00000000000080bf000000000000000000000000000080bf000080bf65dfa43e027cac3ececc4cbd0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfa613a53e1469cc3ececc4c3d0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf4247a33ef3efa83e999919be0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf0ae0a63e36e2ef3e6c2c1dbe0ad723be00000000835d95bd77517fbf000000000000000000000000000080bf000080bf059aa53e2c1ff13e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf000000000000000000000000000080bf000080bf786ea73e191ff13e9e081f3e0ad723be000000004e4f0f3ef56d7dbfc2c5a2bc334405bd13467d3c77d57fbf000080bf5a0ca03e0195833e9899193e0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfde7aa13ed376853e20731e3e0ad723be1d9e83bb38bbba3e88ff6dbfde1754bd256915bd022d293d6d9c7fbf000080bf8e10a23eb6c8833e0ad7233e71c31fbe00000000ba917f3f18cf6bbd5f2be3bb56c7a4bb5dca073d25db7fbf000080bf1209a03e7d83803e1e5b213e205b21befaaf88bb5ae5243f446a42bfac4bbbbd7eac84bd4e0e853d96eb7ebf000080bf7022a23e0dec813e0ad7233ebd3d1fbe37ca8abbf27e733f32ed9cbe5b2d17bd2a47eabc8246013d88c47fbf000080bffc28a23e6055803e0ad7233e999919be77562fbb0000803f00000000000000000000000000000000000080bf000080bfde7aa13e78c87c3e0ad7233e2b811c3e00000000b2887d3f46ca0d3e000000000000000000000000000080bf000080bf0297a53e08111d3d0ad7233ececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bf4247a33e0647363e0ad7233ecccc4c3d77562fbb0000803f00000000000000000000000000000000000080bf000080bfa613a53e248bdf3d0ad7233e07d723bd0e77b4bb0000803f00000000000000000000000000000000000080bf000080bf65dfa43ef6392f3e0ad7233e5cb0d0bc3ae719bc0000803f00000000000000000000000000000000000080bf000080bf2913a73e12fc243e0ad7233e9999193e6d562fbb0000803f00000000000000000000000000000000000080bf000080bf0ae0a63e7810253d0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f000000000000000000000000000080bf000080bfce53a73e74101d3d0ad7233e54b0d03c3ae719bc0000803f00000000000000000000000000000000000080bf000080bfbafda73efb0f013e0ad7233e05d7233d1877b4bb0000803f00000000000000000000000000000000000080bf000080bfb54fa63ecca4ed3d0ad7233e3ae719bc5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bf6265af3edaa4193e0ad7233e1877b4bb06d723bd0000803f00000000000000000000000000000000000080bf000080bf84b8b63ed4e6163e0ad7233e2de7193c5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bfe1bbaf3ee5650c3e0ad7233e77562fbbcecc4cbd0000803f00000000000000000000000000000000000080bf000080bf2ec4bb3e46e7143e0ad7233e60562f3bcecc4cbd0000803f00000000000000000000000000000000000080bf000080bfd1dcbb3e7921113e0ad7233efd76b43b07d723bd0000803f00000000000000000000000000000000000080bf000080bf3aebb63ebc220f3e0ad7233e6d562fbb989919be0000803f00000000000000000000000000000000000080bf000080bf72b6ed3e36e3143e0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be6f1c33be00000000b00d7cbf000080bf12e6ef3e2200133e0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf100e04bfae492e3d6d0a5bbf000080bf6893ef3eb1a3153e0ad7233e6b562f3b999919be0000803f00000000000000000000000000000000000080bf000080bf16cfed3e681d113e0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bf567506bffd9315bd3fa559bf000080bfd6c1ef3ee257103ef85820bef75820be9ed46dbb78733dbfdc2c2cbf0000000075cb01bd75d10e3d39b77f3f000080bf789b2d3faae97e3e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf0000000022701fbd188fb53c39be7f3f000080bf018c2d3f73c1813e6c2c1dbe0ad723be00000000835d95bd77517fbf00000000268f0bbd094a233bbed97f3f000080bf02762e3f87d7813e0ad723be2e811cbe00000000a6cd7fbfe58620bd00000000ea5f03bb3459513d37aa7f3f000080bfd6912e3f98057a3e0ad723be2e811cbe52fb63bb4efc5ebfc680fbbe000000009abacdbcd366363d4daa7f3f000080bfa5b32d3fa9db793e0ad723be989919be59562fbb000080bf0000000000000000000000006ea7873d13707f3f000080bff4e62d3f3fe2773e0ad723be78c31f3e000000001b807dbff0b80d3e248888bc262bf2bb21c4893dc2697f3f000080bfd6912e3fd87ff73c0ad723bececc4cbd6d562fbb000080bf00000000000000000000000096a5873d17707f3f000080bff4e62d3f16f3303e0ad723bececc4c3d59562fbb000080bf000000000000000000000000a2ab873d0b707f3f000080bff4e62d3fd407d43d0ad723be0ad723bd0677b4bb000080bf000000000000000000000000e6a2873d1d707f3f000080bf13322d3f09b9293e0ad723be5cb0d0bc36e719bc000080bf0000000000000000000000001da6873d17707f3f000080bfdc392c3f853c1f3e0ad723be9999193e6d562fbb000080bf000000000000000000000000bfa5873d17707f3f000080bff4e62d3f00530c3d0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd50cb80bc370a923d0c517f3f000080bf4e832d3f60ccf83c0ad723be57b0d03c23e719bc000080bf0000000000000000000000002ea4873d1b707f3f000080bfdc392c3f0e31f63d0ad723be09d7233df376b4bb000080bf0000000000000000000000006c0f873d56717f3f000080bf13322d3f68f3e13d0ad723be36e719bc5cb0d0bc000080bf0000000000000000000000005ca5873d17707f3f000080bfbb36283f7712133e0ad723be0677b4bb0ad723bd000080bf000000000000000000000000bba5873d17707f3f000080bffc96243fafa10f3e0ad723be2de7193c54b0d0bc000080bf00000000000000000000000031bd873de56f7f3f000080bfbc36283fe6be053e0ad723be6d562fbbcecc4cbd000080bf0000000000000000000000005fa5873d17707f3f000080bf4518223fe4260d3e0ad723be66562f3bcbcc4cbd000080bf00000000000000000000000025a5873d19707f3f000080bf4518223f385b093e0ad723befd76b43b06d723bd000080bf000000000000000000000000cc95873d39707f3f000080bffc96243f82d1073e0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33bed3bd32bef7d88a3dbe787b3f000080bfbe13083f0f58063e0ad723be60562f3b989919be000080bf00000000000000000000000003a6873d17707f3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbee0e058bfe968933d87c206bf083304bf7cb8f83d3602593f000080bf6e34083f97b6033e0ad723be74562fbb999919be000080bf0000000000000000000000009fa5873d17707f3f000080bf2425093f8071083e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bf0f8d05bf1e602d3d77225a3f000080bf832e083f8609093ea7081fbe0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e203a963b0ad723be78c31f3e0000000000000000000000000000803f000000000000803f00000000000080bf670b9e3e000000000ad723be2e811cbe0000000000000000000000000000803f000000000000803f00000000000080bf0048e53b000000006c2c1dbe0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf00000000a05fd03b672c1d3e0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e91c79c3e9e081f3e0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf0000000025b09d3e0ad7233e2b811c3e0000000000000000000000000000803f000000000000803f00000000000080bfef739c3e1209a03e0ad7233e71c31fbe0000000000000000000000000000803f000000000000803f00000000000080bf40d77e3b1209a03ecbcc4c3d6b562f3b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803fde755b3e12efe43e04d7233d0677b43b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f53b35b3e9666e03e54b0d03c2de7193c0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f8a0e5c3e91e5d93e57b0d0bc2de7193c0ad723be00000000000000000000803ff3672e3f3f663bbf000000000000803f03f3863e79973b3f09d723bdfd76b43b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fd1488a3e90c9383fcecc4cbd60562f3b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fce9c8c3e8dd5363f0ad723be57b0d03c23e719bc0000803f000000000000000000000000000000000000803f0000803fb837793f62e9d53e0ad723be09d7233df376b4bb0000803f000000000000000000000000000000000000803f0000803f3ca6763f69c6d03e0ad723bececc4c3d59562fbb0000803f000000000000000000000000000000000000803f0000803f96e1743f1c3dcd3e6b562fbb0ad723bececc4cbd000000000000803f000000000000000000000000000080bf0000803fd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd000000000000803f000000000000000000000000000080bf0000803f3aebb63ee39fbc3e2de719bc0ad723be5cb0d0bc000000000000803f000000000000000000000000000080bf0000803fe1bbaf3e1601be3ecccc4cbd77562fbb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803fe199563fb2edf83e05d723bd1877b4bb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803f3623583f47e5f53e54b0d0bc3ae719bc0ad723be00000000000000000000803fa02f8cbea337763f000000000000803f28625a3f0c78f13e0ad723bececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bff2f8773f3ae3fb3e0ad723be0ad723bd0677b4bb0000803f00000000000000000000000000000000000080bf000080bf5dd6793f588ef83e0ad723be5cb0d0bc36e719bc0000803f00000000000000000000000000000000000080bf000080bfd48b7c3f81b7f33e38e7193c0ad723be54b0d0bc000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803fe4026f3f2cfa5e3c0677b43b0ad723be07d723bd000000000000803f0000000046ec7f3f00000000b4fcc8bc0000803f7b9f6e3ff6f4e33c6d562f3b0ad723becbcc4cbd000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803ff7536e3fd7151a3d5cb0d03c3ae719bc0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803fd429753f5968603f07d7233d0e77b4bb0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803ff5c3723fc6845d3fcecc4c3d6d562fbb0ad723be00000000000000000000803ff3b4acbefbfe703f000000000000803f9e1b713f01855b3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3e96198f3e264199be648c69bf000080bfd0dbaf3e1cbcff3d0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fd0d0993e781301bff0444fbf000080bfe1bbaf3ee5650c3e0ad7233efd76b43b07d723bdc1fb813e458c6ebf10c5843e9f71553e6e1c56be949674bf000080bf3aebb63ebc220f3e0ad7233e60562f3bcecc4cbd3a4b843efd3c77bfab21ba3c0cf7a03debf61ebb11357fbf000080bfd1dcbb3e7921113e992a333e4fe2da3bcfcc4cbd88f80f3f9c8053bfb5b20a3d13e0203dafe468bccfc67fbf000080bf58aabb3e53b0033e0ad7233e6b562f3b999919be9053843e8f4c77bf484fa2bbf0f498bd489d73bcb4417fbf000080bf16cfed3e681d113e992a333e4fe2da3b989919bef1ed0f3f2b8753bf9aae0bbdfb0f22bdae826a3cf7c57fbf000080bf9c9ced3e43ac033e0ad7233e1300773bd08d1dbea8467f3e7a896ebf6d1a87be414759be9d6b5a3e7d2374bf000080bfd6c1ef3ee257103ebeb1203ef00d7a3bc0b120be0ba6723e94dc71bf5ad467befe863cbe9c953d3eab1e77bf000080bf5158f13e497d123ed18d1d3e2600773b0ad723be7ca8823e80686ebf691c85be8a2b50bec243583efac074bf000080bf02eff23e90b2143eb9f5453e9911cd3ccfcc4cbd6a2e5e3f064afdbeed41383d3084b13c4f2358bd49957fbf000080bf58aabb3ec874d33d9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe5fc29bbee90ab33e38d762bf000080bf9eb0f93e1ab0ff3d9899193e60562f3b0ad723be4fa6a83ceb3f77bfcd4c84beeebb66bee2417d3e1e3f71bf000080bfc0fbf23e3b35183e9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbfb2b77fbe8ab1093f3f214ebf000080bfee87fa3edb61153ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf3be980be69360d3fc4914bbf000080bf5254fc3e1d545c3ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584bee0be7ebed1c4833ecc096fbf000080bf24c8f43e7c275f3ec9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5bebef7a3be929a903e247d67bf000080bf9eb0f93e3c22db3d9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebfcc0012bf19a4123f75b716bf000080bf1d30003fb076ed3db9f5453e9711cd3c989919be6a2e5e3f064afdbeeb4138bda5dab2bc03f8563d0a967fbf000080bf9c9ced3eac6cd33dc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e08e4a33e1dbd90be3c7b67bf000080bfd0dbaf3e402edb3d9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd790c3f26db05bf04fd26bf000080bf2ea3a93ecc84ed3dcbcc4c3ececc4c3dcbcc4cbd7e487f3fa09758bda697583de3133f3d4600e7bdf9157ebf000080bf8afebb3e7cc5a63db9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3eee81f03ef48e7fbe6fc758bf000080bfeba4af3eee41b03dcbcc4c3ecccc4c3d989919be7e487f3fa39758bd9e9758bdeb2b3fbd0334e63dcc187ebf000080bfcdf0ed3e5cbda63db9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe188af0be002d7f3e62cc58bf000080bfee87fa3ec035b03db9f5453e9899193e992a33be6a2e5e3fea41383d064afdbebd6ff8be4e7a943e852c53bf000080bf5254fc3e70cb8c3ccbcc4c3e9999193e999919be7e487f3fa297583d9f9758bd1d4378bd9a19213ede557cbf000080bf32bdef3ec0d34d3cc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be18740abf05937b3e7cf04dbf000080bf2d59fc3ec006ab3bb9f5453e982a333e989919be692e5e3f064afd3ef04138bde24223bed73e443ee1ea77bf000080bfe44ef03e00000000b9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d8f86233eccb844be0de277bf000080bfa15cbe3e00408237cbcc4c3e9999193ecbcc4cbd7e487f3fa397583da397583d575a783d4b9c21be8e507cbf000080bfedcabd3eb0144e3cb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e3869f83e17b594be192453bf000080bf4f71b13e30fc8c3cc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e327c0a3fd00c7cbebae14dbf000080bf5e84b23e00c7ab3b9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd9e29bf1d373fbfd636633d000080bf05e1d83e2a523b3f0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fac9029bf366110bf307efcbe000080bfd0b3e33e16d43a3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3ead4e1ebf2fc829bf21dcd7be000080bfc272dd3e4c09393f0ad7233e54b0d03c3ae719bcdb87753e013e0bbf0ddd4d3fa1b133bfa25a2bbfba4879be000080bffc03de3e00ac3d3f992a333ececc4c3d60e2dabbbe09113f0c62f7bcf6ce523fe5a01cbf87502fbf56aaca3e000080bfbe0cd03ea65c3f3f0ad7233e05d7233d1877b4bb5bf4783ec51c82be4aa56f3f20ff34bf8a0735bf74c308bc000080bf05e1d83e7c3d403fc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e9a2e15bfb1992abfc920ee3e000080bf474fd43e4c09393fb9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3e2999cfbe92b523bf2937273f000080bf408fc93ee71d3c3f0ad7233ecccc4c3d77562fbb6451843eec474cbc6948773f29352fbf4c4235bfe424323e000080bfb857d53e2202423fb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e974bc8be16460dbfcf8a3c3f000080bf4932a63e63cc4d3f992a333e9899193e60e2dabb8bf80f3fb7b20a3d9c80533f604f21bf322221bf5cd1e83e000080bfc6afac3e220b513f0ad7233e9999193e6d562fbb154d843eccb3a53c6140773fd69233bf1ef92ebf3cd54e3e000080bfc0fab13e9fb0533f9c15323e9c15323e40c057bcf473ef3e2e75ef3eb801403fe7c407bff3c407bf0b52293f000080bfd09aa43e4575553fc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53ea47b86bee772c1be3e49633f000080bf1309a03e662c533f0ad7233e2b811c3e1cfb63bb9c467f3e7c1a873e7a896e3f54ae28bfe3ad28bfcbcbb93e000080bff6f9b03e0331543ff558203ef558203e62d46dbb0e14833e4ead833eb38c6e3f1bae28bf1bae28bfd0cbb93e000080bffcdab03e4575553f672c1d3e0ad7233eb01a70bb731a873eb6467f3e78896e3f16ae28bf1fae28bfd0cbb93e000080bfd4beb03ef59b563f9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53ea572c1bed47b86be4449633f000080bf1409a03e23be573f9999193e0ad7233e74562fbb0595a73cf64c843e1440773f98f92ebf8e8f33bf63fc4e3e000080bfc0fab13eeb39573f9899193e982a333e60e2dabbb0b20a3d8bf80f3f9c80533f2d2221bf644f21bf5dd1e83e000080bfc8afac3e68df593f9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e0d460dbfa44bc8bed38a3c3f000080bf4932a63e271e5d3fcbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e3ec018bf664dd7be3bf82e3f000080bf408fc93ea2cc6e3fcbcc4c3d0ad7233e74562fbbc3474cbc6a51843e6748773f754235bf01352fbfc524323e000080bfb857d53e67e8683fcbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533fa80933bffd0a1abfd681c53e000080bfbf0cd03ee48d6b3f06d7233d0ad7233e0e77b4bb2ea785bee218813e838b6e3faaf434bf341335bf170dd9bb000080bf04e1d83e0dad6a3f78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403f214e52bfd57411bf551344bd000080bf05e1d83e5f986f3f54b0d03c0ad7233e3ae719bc485413bfc979733efe4f483f618926bfb38136bfcf0e86be000080bffc03de3e893e6d3f23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f89cf0abf9fbb2bbf178501bf000080bfd0b3e33e7316703f20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e1f4827bf200b20bfd787dabe000080bfc272dd3e3ee1713fb9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe216dc7bce0a77d3fdbfe07be000080bfaebd143f1ce32e3fc9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5be22b5693e5b965f3f1748dcbe000080bf10c30e3f7882303f9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebf6c3cb83b2be3633fc03fe9be000080bf10c30e3f99bd333f992a333ececc4c3db9f545be064afd3eeb4138bd6a2e5ebff60f25bdec137f3f0dd098bd000080bfaebd143ff679333f992a333e9899193eb9f545be064afd3eea41383d6a2e5ebf8a10253dec137f3f36d0983d000080bf18bf2d3ff679333fb9f5453e9899193e992a33be6a2e5e3fea41383d064afdbed76cc73ce0a77d3fc9fe073e000080bf18bf2d3f1ce32e3fc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be67a913be3558533fa1aa0b3f000080bfb6b9333f7882303f9c15323e9c15323ec9503fbe5125d53e5725d53e55ee4ebf7e53863c48ac623ff1cded3e000080bfb6b9333f9abd333f9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be40faf5bd7fb3003f57265b3f000080bfd7f4363f9abd333f9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea2a349bcf1c5fd3ebc515e3f000080bf3394383f37b8393f9899193e9999193ecbcc4cbe9e97583da297583d7e487fbf42558b3baea27f3f93d0593d000080bf18bf2d3f37b8393f9999193ececc4c3dcbcc4cbe9f97583d9e9758bd7e487fbf17528bbbaea27f3f89d059bd000080bfaebd143f37b8393f9899193e982a333eb9f545bef241383d064afd3e692e5ebf0000000034685e3f328bfd3e000080bf59fd333f37b8393fcfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf75fc7d3b496d5e3f6177fd3e000080bf59fd333fa1b9523fcfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf3394383fa1b9523fcbcc4c3d9999193ecbcc4cbea39758bd9f97583d7e487fbf7e5a8bbbaea27f3f9ad0593d000080bf18bf2d3fa2b9523f80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf14a6923dd8b9663f20c6da3e000080bfb6b9333f3fb4583f9899193e9911cd3cb9f545beed41383d064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bf6c7f0e3f37b8393f9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe8f7fce3d8f580e3f5d3453bf000080bfef870b3f99bd333f9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbf8babd23bb918103f869653bf000080bf92e8093f37b8393fcbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf83abd2bbb618103f879653bf000080bf92e8093fa1b9523fcbcc4c3d9711cd3cb9f545beea4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf6c7f0e3fa1b9523fcbcc4c3dcccc4c3dcbcc4cbea09758bda39758bd7e487fbf355c8b3baea27f3f9fd059bd000080bfaebd143fa2b9523f78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebfde34b8bb29e3633fc73fe9be000080bf10c30e3f3fb4583f78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfbfd58fbd61b6153f09e14ebf000080bfef870b3f3fb4583fa011cd3c9899193eb9f545be064afdbefa41383d692e5ebfeb0f25bdec137f3f15d0983d000080bf18bf2d3fe2f7583f9811cd3ccecc4c3db9f545be064afdbed54138bd6a2e5ebf3a10253dec137f3f14d098bd000080bfaebd143fe2f7583f20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf96ce34bec96f623fd614ddbe000080bf10c30e3f60ef5b3f40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfceb32e3deefd7d3f38a6f0bd000080bfaebd143fbd8e5d3f60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf7fa425bd36f77d3f9900f43d000080bf18bf2d3fbc8e5d3f40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe444d763e55ec593f9ec7ee3e000080bfb6b9333f60ef5b3fb9f5453e982a333e989919be692e5e3f064afd3ef04138bd2bb866bdf67e403eaf057b3f000080bfd0322d3d1209a03ec9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be3bfd063eeba80f3fbb2f513f000080bf30e39a3c7425a33e9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be089229bd67cff23ed521613f000080bf08bf9e3ca24aa73e992a333eb9f5453e989919be104afd3e672e5e3ffb4138bd39edaebd47f0cc3d57c67d3f000080bf58f02f3d5ceca53e992a333eb9f5453ecfcc4cbd0e4afd3e672e5e3ffa41383d7ce9ed3d684ef0bd797c7c3f000080bfe9ef0f3e4a80a63eb9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d4581a03d673567beaa94783f000080bf86400f3e009da03ec9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e35a2dabd7a7c17bf038d4c3f000080bfa11c273e2200a43e9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53eb6a4923dc49ef8be550a5f3f000080bf1a98273e4e25a83e9899193ecbcc4c3ecbcc4cbda097583d7e487f3fa997583d92827f3dbcfb65bdc8187f3f000080bfc02f103e2757b13e9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e6bc3bb3df84ffebec7f15c3f000080bf79e4283eae84b23e9999193ecbcc4c3e989919bea497583d7e487f3fa09758bd1a0a18bd17c9603d01707f3f000080bfb0ef303d38c3b03e9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea47688bde450fe3edf875d3f000080bf203c983ce1a6b13ecfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbe30b8f7bdff41f93eeb755d3f000080bf283c983ca834e13ecbcc4c3dcbcc4c3ecbcc4cbda69758bd7e487f3fa897583dd34b473d84194ebd435f7f3f000080bfbf2f103eefe4e03ecbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e1374113ef01ff8be21f55c3f000080bf79e4283e7512e23ecbcc4c3dcbcc4c3e999919bea79758bd7e487f3fa79758bd9d4ad0bc8451533d82937f3f000080bfacef303d0051e03e80b9d53cc7503f3e9c1532be5f25d5be51ee4e3f5525d5bea96aecbd4d78d03e84f1673f000080bf10bf9e3c0e96ed3ecfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf31446abe9e30573fe063fb3e000080bf0000000078f0e33e80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf724ca1bea995443fbac70e3f000080bf2046ce3bbf82ef3e40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe688670be4047f23e425c593f000080bf40e39a3cd7baf53ea011cd3cb9f5453e989919be104afdbe672e5e3f024238bd897a273c8ece6b3de18f7f3f000080bf58f02f3d0a39ed3e9811cd3cb9f5453ecfcc4cbd104afdbe672e5e3fe341383d3e82273cb3323cbd5db77f3f000080bfe9ef0f3ef9cced3e40e2da3b982a333ecfcc4cbdf9ce52bfbb09113fc761f73c6a7defbc2ba3c3bd2ab87e3f000080bf86400f3e325ef93e60e2da3b982a333e989919be9c8053bf8af80f3fccb20abd1af8363d7b4e003e93b97d3f000080bfd0322d3d43caf83e78b9d53cc7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53ef988093e97dccbbe1e4d683f000080bf1b98273eba70ee3e78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403ff6728d3e3f9136bf17ef243f000080bfd706343ea683f03ecbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533f60ca6f3ec3354cbff0440e3f000080bf398d3a3e9204e53e20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e215b403ea575d5beb8aa633f000080bfa11c273e8495f63e23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f7babc43ef336fabe0989483f000080bffc34273ef888fa3ef376b43b0ad7233e07d723bd4ba56fbf61f4783eb81c823e1a99103e1acccdbe009b673f000080bf49b0183e934cfc3e59562f3b0ad7233ececc4cbd694877bf6451843e47474c3c5cf506bd84c22ebe6d1a7c3f000080bf80b10e3e8896fd3e74562f3b0ad7233e989919beb03e77bf2f4c843ecb2eb0bc32bf0c3dbccc563e5a267a3f000080bfb0f62a3d9a02fd3ea9ec933b0ad7233ec73f20be7a896ebfb1467f3e6f1a87be833108be2042e23ee91b633f000080bfb000113d2319fc3e33d2913bcddf213eccdf21bea38c6ebf5df9833eebc782be4a5102beada7da3e4d2d653f000080bf045f0a3da46afc3edb078d3b0a7d1f3e0ad723be78896ebf701a873ec5467fbe45b1fdbd1e2bd43e2bd1663f000080bf1859023de3d5fc3e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4c7f67bee17ad63ec622613f000080bf507d013de87ffe3e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbfc16ef8be8ad7ed3e5ca43d3f000080bf604c8b3c4982fc3e78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfe7e4a7be838acfbe4c735a3f000080bf03034e3ee8c6d83ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbfba676abe2a950abf831d4f3f000080bf625f4c3e1084e33ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584be111e53be95dc7dbec453723f000080bfde755b3e12efe43e54b0d03c2de7193c0ad723bea39706bf179650bf81347abe2c4937be3c0b33be45db773f000080bf8a0e5c3e91e5d93e21e7193c57b0d03c0ad723befd4f48bf4a5413bfb87973bef13e2cbe536d30beca77783f000080bf8a0e5c3eea85ce3e20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf308ed2be13c1a9befe5d593f000080bf01034e3e6ea3cf3e78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebf818212bf7b2212bf7bb7163f000080bf6bab403e2e33d43eeb76b43b0ad7233d0ad723be888b6ebf1ca785beca1881beb2684fbe544c4fbe4e47753f000080bf52b35b3e6101c83e40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfd97c0abf3ebc7fbe86984d3f000080bf635f4c3e8ce0c43e54562f3bcecc4c3d0ad723be694877bf31474cbc595184beb20c7fbe5b0367bea01c713f000080bfde755b3e8776c33e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf2b320dbf003181be57894b3f000080bf0306493e1873a13e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4dc482bee55c7fbe78226f3f000080bf7d1c583e1209a03e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eca56e73c44f222bf0150453f000080bf29ac9b3e6c1a673f2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133fd7d35abe9bfb43bfd1591b3f000080bf7b1c9e3e1fc4653ffd76b4bb0ad7233e07d723bd478c6e3fc6fb813e0bc5843e7ca7dfbc01db29bff1673f3f000080bf6e4e973e2c6c643f66562fbb0ad7233ececc4cbdfd3c773f454b843eb021ba3c5865313e792e35bfcd552f3f000080bf1898923e9185633f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d84f9b83e782f13bfa9ee3b3f000080bf2f3d903eca0e653f4fe2dabb982a333e989919beb628533f3e80103fd94e03bd0771fa3e111e2fbfd3860a3f000080bfe5244c3e56ac573f66562fbb0ad7233e999919beda4b773f3953843ea3e8dfbb0de0623ef95c50bfaf7d093f000080bfb8da503e1d23563f9e7289bb0ad7233ed4171fbe7c896e3fb9467f3e5a1a87bef412b33eb6a84fbf4af9ef3e000080bfb1dc4c3e342f553f2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe2662233f8e1532bf88daa83e000080bf83ae3a3e6651533f24678bbbcde5223ef83220be7d896e3f95467f3e601a87beeb12b33eada84fbf6df9ef3e000080bf0c594c3eebe5543f6fe889bbdb6c213edb6c21be458c6e3f2acb843e91f581be75a2b43ef3b04fbf78b0ee3e000080bfc3e84b3eb289543f606284bbca881e3e0ad723be7c896e3f681a873e97467fbe1c4fb53e28d14fbfecbced3e000080bfa8034b3e82d7533f60562fbb9999193e0ad723be793f773f5065ab3c904c84be29e32f3e33574cbf02cf133f000080bf1e814c3ee55b533f4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbf120aba3e627d4bbf93ccf83e000080bf8c48413e9fbc503f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bfa60faf3e319944bf13a60a3f000080bf001e6a3ee056423f6b562fbbcccc4c3d0ad723be6b48773fd7474cbc585184be88ca2b3e21f03abfa38b293f000080bf9356753e26f6443f0677b4bb05d7233d0ad723be858b6e3f24a785bed01881be005bb73bf62f2fbfe9a93a3f000080bfa4697a3e8815433f2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bf75d89c3d3f433bbfc3722d3f000080bfef0a773e16093e3f2de719bc54b0d03c0ad723befa4f483f4a5413bfca7973be60a130bee83511bfc0274e3f000080bf1ada803e6a64403f7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bf569745be48461ebf250d433f000080bfa46b803ea52d3a3f7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebfbd44173e5fa358bf790c033f000080bfffaa703e264f3a3f57b0d0bc2de7193c0ad723bea397063f179650bf8f347abe5537a1bec310e8be7f7b553f000080bf03f3863e79973b3fcecc4cbd60562f3b0ad723be6c29e03c432d77bfc18584be150aeebe3a4f77bee90d5a3f000080bfce9c8c3e8dd5363fcecc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbfe551f0be3b8b02bfd98a383f000080bfd67b853e4c68353f999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbfab530abfed9eeabe53aa343f000080bf84fb963eeff3253f999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84bef6fd02bf2ef658beb027553f000080bf7b1c9e3e2f61273f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bf6ab32ebdf0fd7d3f1ca6f0bd000080bfbf63363f87d7813e2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bfb3ce343ec86f623fd314ddbe000080bf2169303f3f16853e7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebf0135b83b28e3633fc93fe9be000080bf2169303f828c8b3e9711cdbccecc4c3db9f545be064afd3ee94138bd692e5ebf621025bdec137f3f2dd098bd000080bfbf63363f3b058b3e9911cdbc9899193eb9f545be064afd3ee641383d6a2e5ebf8a10253dec137f3f34d0983d000080bf29654f3f3b058b3e4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbff0a4253d34f77d3fcd00f43d000080bf29654f3f87d7813e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe16471cbeb5854f3f7eb8103f000080bfc75f553f4016853e7db9d5bc9c15323ec9503fbe5325d53e5525d53e54ee4ebf0353863c48ac623ff1cded3e000080bfc75f553f828c8b3e7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be3cfaf5bd7eb3003f59265b3f000080bfe89a583f828c8b3ececc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbea4a349bcf1c5fd3ebc515e3f000080bf443a5a3fbe81973ececc4cbd9999193ecbcc4cbea297583da797583d7e487fbf34558b3baea27f3f97d0593d000080bf29654f3fbe81973ecccc4cbdcecc4c3dcbcc4cbea497583da09758bd7e487fbfda548bbbaea27f3f93d059bd000080bfbf63363fbe81973ececc4cbd982a333eb9f545bef441383d064afd3e6a2e5ebf0000000035685e3f308bfd3e000080bf6aa3553fbe81973e989919be982a333eb9f545bef04138bd064afd3e692e5ebf86127e3b496d5e3f5d77fd3e000080bf6aa3553f9384c93e989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf443a5a3f9384c93e999919be9999193ecbcc4cbea39758bda497583d7e487fbf04548bbbaea27f3f96d0593d000080bf29654f3f9384c93e9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf61a6923ddab9663f19c6da3e000080bfc65f553fce79d53ececc4cbd9911cd3cb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bf7d25303fbe81973e7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bfc4d58f3d62b6153f07e14ebf000080bf002e2d3f828c8b3ececc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbf8fabd23bb918103f869653bf000080bfa38e2b3fbe81973e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf7fabd2bbb718103f869653bf000080bfa38e2b3f9384c93e999919be9711cd3cb9f545beeb4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf7d25303f9384c93e999919becccc4c3dcbcc4cbea29758bda39758bd7e487fbf83558b3baea27f3f96d059bd000080bfbe63363f9384c93e9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfea32b8bb28e3633fc93fe9be000080bf2169303fce79d53e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe23a1cebd7c4e0e3fa33a53bf000080bfff2d2d3fce79d53e982a33be9899193eb9f545be064afdbefb41383d692e5ebf0f1025bdec137f3f1fd0983d000080bf29654f3f1401d63e992a33bececc4c3db9f545be064afdbed84138bd6a2e5ebf7a10253dec137f3f27d098bd000080bfbe63363f1501d63eca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5beecb469be5a965f3f3448dcbe000080bf2169303f11f0db3eb9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe7c6dc73cdea77d3fddfe07be000080bfbe63363fca2edf3eb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe976dc7bcdea77d3ffcfe073e000080bf29654f3fc92edf3ec7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be18b5693e5a965f3f2948dc3e000080bfc65f553f10f0db3e4fe2dabb982a333e989919beb628533f3e80103fd94e03bdeaaebcbd84b4423e7a387a3f000080bf1257143f23fbfd3e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe843be93d27e81a3fa8b7493f000080bfb35f0e3f739d003f7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be4ad068bd09d0f53e2c18603f000080bfb4840e3fa5af023f9711cdbcb9f5453e989919be104afd3e672e5e3ff74138bdb9c2cebdbad4de3d142a7d3f000080bfa08b143fa8ee013f9911cdbcb9f5453ecfcc4cbd0e4afd3e672e5e3ff441383d4cc2ce3d78d4debd152a7d3f000080bf02892d3fa7ee013f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d79d6b83d570744be6b337a3f000080bf74542d3f23fbfd3e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eec1d48bd321411bf088d523f000080bf6450333f729d003f7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3cf683d09d0f5be2c18603f000080bf6475333fa4af023fcecc4cbdcbcc4c3ecbcc4cbda397583d7e487f3fa997583d8d184c3d086b63bd61497f3f000080bf02a92d3fcf59073fcecc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e5a71a23d9455febe5f405d3f000080bfd4d7333f47de073fcccc4cbdcbcc4c3e989919bea797583d7e487f3fa39758bdb5194cbd106b633d5f497f3f000080bfa0ab143fcf59073fcecc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbe7c72a2bd9155fe3e5c405d3f000080bff35f0e3f48de073f989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbe56d606be40b2f83eb4375d3f000080bf53a60e3fc3a41f3f999919becbcc4c3ecbcc4cbda79758bd7e487f3fab97583d76f8173dcbb550bdb07d7f3f000080bf63ef2d3f4b201f3f999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e20d6063e43b2f8beb5375d3f000080bf341e343fc3a41f3f999919becbcc4c3e999919bea89758bd7e487f3fa79758bdadf817bdc5b5503dae7d7f3f000080bf00f2143f4b201f3f9c1532bec7503f3e9c1532be5f25d5be51ee4e3f5a25d5be8e0b00be3323ce3e5d23683f000080bfbcec0e3fc1d4253f989919be982a333eb9f545bef04138bd064afd3e692e5ebfdf3573be60ac563f7808fb3e000080bf92e8093fbb10213f9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf4155a5be3d6c433f82380f3f000080bf38960b3f00d5263fc7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be69b062be036ee13e2dc15e3f000080bfecd90e3f6fe7293f982a33beb9f5453e989919be0e4afdbe672e5e3f054238bd00000000f1ea533d3aa87f3f000080bf25f5143f6394253f992a33beb9f5453ecfcc4cbd104afdbe672e5e3fe441383d00000000feea53bd3aa87f3f000080bf88f22d3f6394253f9d1532bec7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53e360b003e4723cebe5b23683f000080bf6cdd333fc1d4253fb9f545be982a333ecfcc4cbd692e5ebf0a4afd3ed241383dfdc4a6bc0ded00becce87d3f000080bfced72d3f685d2b3f9d1532be9c15323e40c057bc787debbedd46eb3e0382423fe8f1963e3c653abf4f6b1e3f000080bf20fc363fffd4263f999919be982a333e60e2dabb4ed907bd5532103f125b533fb329683ea7df4cbf171b0e3f000080bfad8c383fba10213fca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e40b0623e276ee1be27c15e3f000080bf9cca333f6fe7293fb9f545be982a333e989919be692e5ebf0d4afd3e044238bd6ac4a63c04ed003ecce87d3f000080bf6cda143f685d2b3fcbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583d72bf273db06a52be4c517a3f000080bf94a62d3f1be32e3fb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e4089d93e1ec3e5be0044493f000080bf20df333f8a4c2d3fcbcc4cbe9999193e989919be7e487fbfa697583da39758bd78bf27bd9d6a523e4c517a3f000080bf32a9143f1be32e3fb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe4089d9be14c3e53e0244493f000080bf3e670e3f8a4c2d3f0ad723befd76b43b06d723bdc3fb81be478c6ebf0cc5843ef7a9253ea2c6643e7511763f000080bffc96243f82d1073e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133fefce803e8fcd053fbf87503f000080bfbc36283fe6be053e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ed4947a3ee924a63e28e7693f000080bfee4a283fca80f23d0ad723be66562f3bcbcc4cbd414b84befd3c77bfb321ba3c3d09e53cc059833cf5dd7f3f000080bf4518223f385b093e982a33be4fe2da3bcbcc4cbd87f80fbf9d8053bfb8b20a3d000000003be6273deac87f3f000080bf3e58223f40f8f73d992a33be4fe2da3b989919be2dea0fbf978953bf64e40bbdf7a1a4bd811a5d3cec257f3f000080bf1e65093f788dee3d0ad723be60562f3b989919be9b5384be984c77bf0e7c9ebb583802be3c0dee3c05d07d3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbe9a467fbe7f896ebf551a87be553d86be09194abe9cd2713f000080bf6e34083f97b6033e73a520be555c783b72a520be82e272be8fd471bfd41a68bea15e71be297a2ebed6ee743f000080bf4d60073f51ba053e8b751dbe2048753b0ad723be59a682be21686ebf2a2185be61b081bea8d347be728f723f000080bfca8b063fe0cd073e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe2607b0beab73a5be4eb6613f000080bf6669033f2095e43d999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84beff6980bea6177bbe39bc6f3f000080bfae7b063f83360b3e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf517f90becc2a08bf70634c3f000080bfb5bf023ff1aa073eb9f545be9911cd3c989919be692e5ebf0a4afdbed04138bdf60c3ebd7a7c1abc7fb67f3f000080bf90b3093f60b0ba3dc7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53ede06993e045aa33e9c3d663f000080bf2882283f58fdcd3d9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f23e5063f94e70c3f62c9253f000080bf36842b3f9463e13db9f545be9711cd3ccbcc4cbd692e5ebf0d4afdbefc41383d9d44f7ba882fc03db0de7e3f000080bfb1a6223f2c1bc43dca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5be41ccafbe5ed776beea61683f000080bfa0a0033fac11c03d9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfd4fa19bfbe640abfbb93163f000080bf1d30003fec08d13dcbcc4cbececc4c3d999919be7e487fbf999758bd9b9758bdd2134dbd1eaf59bd14517f3f000080bf1cd0093f56de8d3db9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe4c17f5be5ddf42be866b5b3f000080bfdf78033fceea943dcbcc4cbecccc4c3dcbcc4cbd7e487fbfa79758bda697583d4d65313d231e2c3e371d7c3f000080bf3ec3223f2049973db9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3ec1c5eb3e60ea993e54d0553f000080bf61e1283f6609a33db9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3ebf9ff73e71889b3eee23523f000080bf60e1283fa058293ccbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583db0ba7e3d4058463e8ba57a3f000080bf3ec3223fc0ac963bcbcc4cbe9999193e989919be7e487fbfa697583da39758bd611b67bd4d208bbdf7ff7e3f000080bf1dd0093f00000000b9f545be9899193e992a33be692e5ebf0342383d0a4afdbe16e9fcbef3c83bbe8394593f000080bfdf78033f808f613bb9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3e3299cf3e8eb523bf2a37273f000080bf5afd6e3f9405d93ec7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53e9a2e153fb9992abfb420ee3e000080bf5e5d743fca2edf3e9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f27bd293f151c3fbf2149633d000080bf3ca6763f0d9dda3e982a33bececc4c3d40e2dabb89f80fbf9fb20abd9c80533f0c791d3fc7512fbf9603c83e000080bf1a3c723f1688d23e992a33be9899193e60e2dabb8af80fbfb1b20a3d9c80533f604f213f332221bf58d1e83e000080bf9d8d603f1e2baf3eb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e9a4bc83e15460dbfcf8a3c3f000080bfde4e5d3f9ca8b53eca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e0728803ecf44cbbed60d623f000080bf443a5a3f96e8aa3e9d1532be9c15323e40c057bc787debbedd46eb3e0382423fb087093fb08b09bff570263f000080bf22835c3fd956a63e0ad723be9999193e6d562fbb6d4c84be5a5fad3c273f773fa885333fd2fa2ebf0a754f3e000080bf1a33633f24e0a93e0ad723bececc4c3d59562fbbc78584be4329e0bc432d773f61d62f3f224135bf6400283e000080bf96e1743f1c3dcd3e0ad723bec33d1f3e6eca8abb8dbd84be21bb823e2b736e3f959b283fd69c28bf994dba3e000080bfbc39623f69eda73e0ad723be57b0d03c23e719bc86347abea39706bf1796503f86f2323f73882dbf383e69be000080bfb837793f62e9d53e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133f8790293f3f6110bf787efcbe000080bfa20f7c3f3599db3e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ea34e1e3f2ec829bf40dcd7be000080bf1bef783fca2edf3e999919be982a333e60e2dabb4ed907bd5532103f125b533fcc5c273f59d31cbf0c6fe33e000080bf9d8d603f93829d3e235b21be235b213e37b088bbfeed6cbe7587723e5e8f713f43cf2a3f76cf2abffa83a93e000080bf0e4a623fd856a63e27731ebe0ad7233e639e83bb661a87bebe467f3e7a896e3f61ae283fd6ad28bfc9cbb93e000080bfb85c623f507aa43e999919be0ad7233e74562fbb0a45c6bb6e53843e2a4c773f0bd92e3f975b34bf2f65453e000080bf1a33633f8ccda23ececc4cbd982a333e60e2dabbb2b20a3d8af80f3f9a80533fc0512f3f10791dbf9d03c83e000080bf1a3c723f364b743e999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e3471153f6f0fc2beccd0373f000080bfde4e5d3f1505973ececc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e90b5233f3399cfbe2837273f000080bf5afd6e3f3a50673ecccc4cbd0ad7233e74562fbbbf21ba3c4f4b843efb3c773f6855353fa5952fbf82d72a3e000080bf96e1743f28e17e3e7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3be403f002b10bf0a5eae3e000080bf5e5d743fcffd5a3e7cb9d5bc9c15323e40c057bc7efdcf3e046c063f4d723f3f8e7c3f3fa34229bf9a3c6d3d000080bf3ca6763f4821643e07d723bd0ad7233e0e77b4bb18c5843ecffb813e448c6e3f511e353fb2ea34bf8a6c8ebb000080bf3ca6763f90ce773e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3e43b7263fc5f732bff02897be000080bf1bef783fcefd5a3e54b0d0bc0ad7233e3ae719bc4754133fd679733efd4f483f5289263fc78136bfa80e86be000080bfb837793f9e886d3e2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133f3c61103f999029bf4f7efcbe000080bfa20f7c3ff728623ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3eb3aa173f6f03d83e31b12f3f000080bf6e916f3ffe542a3f7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53eada0203f6d36163fb509033f000080bfdac2743fd4b52d3f7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f5e37363fc6ff313f8be3cb3d000080bfba2b773fd28e2b3fcecc4cbd992a33be60e2dabbeaf8003d13ab10bfcf0c533fc711243f55f4243f079cd53e000080bfa2fd723f5846273f989919be992a33be40e2dabbbc2a0ebd8cc10fbfb3a3533ffbd7163ffb19283f2408f13e000080bf3855623f28a0143f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e5ce8023f8191cf3ebdfa413f000080bf03e95e3fceae173f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53e38c6b73e82948c3e455e643f000080bf24235c3f9224123f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433f99db013ffe6c123fc905253f000080bf048c5e3f90fd0f3f0ad723bd0ad723be0677b4bb2ca7853ed91881be838b6e3fb3742a3f8ff53e3f24e67a3c000080bfa472773f80a5263fcecc4cbd0ad723be6d562fbb18484c3c5a5184be6948773f876c2a3f4b13393f75433d3e000080bf32c8753f15c8243f57b0d0bc0ad723be38e719bc4754133fcb7973befd4f483fbd211e3f7fe0403fa4c866be000080bf0fde793ff75a293f2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3e8ed2253fb369293fc244c1be000080bfbc52793fb2f72d3f2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f4cf2033fd172383f2a87edbe000080bfd48b7c3fb65a2c3f999919be0ad723be5d562fbb2ef292bba35384beb24c773f906d243fb05a3d3ff2b14d3e000080bfc81f653fe421123f6c2c1dbe0ad723bede1a70bb651a87be98467fbe7d896e3fbffb1e3fa8fb313f1648b93e000080bff68a643f487b113ff85820bef75820be9ed46dbb791864be538972be2817723ff446213f198f343f3b6ca63e000080bf9ca9643fdc55103f0ad723be2e811cbe52fb63bb316485be1f9782beda606e3fe4d31e3f8ada313f4c4fba3e000080bf56cb643ffe120f3f0ad723be989919be59562fbb124d84be8fb3a5bc6140773f3b0c2a3fafe2383f0a78453e000080bfc252653f089a0e3f982a33be989919be40e2dabb89f80fbf9fb20abd9c80533f290d1a3fcf222b3f70c1df3e000080bf7ed4623f78cf0b3f992a33becfcc4cbd60e2dabb8af80fbfb3b20a3d9c80533f4bb2143fae303a3fb82cbb3e000080bfae7a753f1a4ef63e0ad723bececc4cbd6d562fbbc98584beb529e03c432d773fc360253f23803f3fd39f1b3e000080bff2f8773f3ae3fb3eb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e3252c03eaa9d173fde7c363f000080bfd8c55f3f4363083fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e4e2e663e58e0de3e3a2c5f3f000080bf02655c3fb0940d3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ee915c63e77942f3fabca1d3f000080bf086c723fb075ef3eca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e1286133f5249343f0251d43e000080bf45f6773ff2e9e93e9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423ff0b6363fb8ac303fa3f0f43d000080bf471d7a3fb2bbee3e0ad723be5cb0d0bc36e719bc96347abea397063f1696503f438e3c3fd9ab253f056d49be000080bfd48b7c3f81b7f33e6b562fbb0ad723bececc4cbd432d773fc08584be8329e03cc825df3bb4c9a3bd8f2c7fbf000080bfd2dcbb3e839ebb3e2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f1fede93eae4393be407c57bf000080bfe1bbaf3e1601be3e2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3ed7b1963e702e8ebebd1a6abf000080bfd0dbaf3e443fc43e4fe2dabb992a33becfcc4cbd9d80533f87f80fbfb5b20a3ddbc75d3cfcf224bdd4c47fbf000080bf59aabb3ee750c23e7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53e67a98f3e7881a4be408a67bf000080bfd0dbaf3ebc62cd3e7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f3b30043fc8260cbfeb9428bf000080bf2fa3a93ee9d4c83e4fe2dabb992a33be989919be9c80533f88f80fbfaab20abd3fce60bc04d7233d5fc57fbf000080bf9c9ced3edf4ec23e60562fbb0ad723be989919beb23e773f254c84be7b2eb0bc00000000ee7da23d65317fbf000080bf15cfed3e7b9cbb3e2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbe426eb3be687c9d3e377762bf000080bf9fb0f93e443cc43e93ec93bb0ad723bec73f20beea776e3f129284bea5c482beb67151be12b5543e75e174bf000080bfce15f13e5743bc3e9911cdbcb9f545be989919be064afd3e6a2e5ebfe64138bd1c1855bda6ffb43c3b977fbf000080bf9c9ced3ed749cf3e9711cdbcb9f545becfcc4cbd064afd3e6a2e5ebfe841383d4eed533d8d55b6bcf6977fbf000080bf59aabb3edf4bcf3e4fe2dabb989919be992a33be9644533fefe305bd195510bf23fe09bfff20813e41bb4dbf000080bfef87fa3e2581b93e1cd291bbcddf21beccdf21be57bb713f82106cbe7da070be4cee44be2fa9453e395076bf000080bf43e9f13e3b90bb3ec3078dbb097d1fbe0ad723be7f896e3f501a87bea7467fbe2f874cbe74964d3e058575bf000080bfc6e8f23ea6b0ba3e6b562fbb999919be0ad723bea54b773f9a97efbb125384be380c80be9496683ea7f270bf000080bfc0fbf23ece15b83e60562fbbcecc4cbd0ad723befd3c773fa121ba3c3a4b84be1bd281be6cd8953e2e076cbf000080bf24c8f43e14d5943e4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbfcfbb0bbfb144973e42b948bf000080bf5254fc3e6c40963e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf61a622bfaa91553eaf573ebf000080bf2e59fc3ecf1f903ef576b4bb0ad723bd0ad723be478c6e3f0dc5843ebbfb81bea49caabe5b2fab3ed9ae61bf000080bf3803f53ec74f923e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be81e1e7bef420873edc025abf000080bffc57f53ed2918e3ecccc4cbdcbcc4cbecbcc4cbda397583d7e487fbfa397583dd79ee33dc4793fbde0217ebf000080bf8afebb3e0182da3ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3e18997c3ee8c0f0be76ed58bf000080bfeca4af3eaf27d83e989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e9b227b3eedb2fabe3c3356bf000080bf5071b13ecea0fb3e999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583d8dbf063e718173bd2e517dbf000080bfeecabd3e22fbfd3ececc4cbdcbcc4cbe999919be9e97583d7e487fbfa39758bd526ae4bdd3613f3d181f7ebf000080bfcef0ed3efa7fda3e999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd7b2e07bec295733d694d7dbf000080bf32bdef3e1af9fd3ececc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbefffa7cbecdb8f03e94e858bf000080bfee87fa3ea324d83e999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe9a8c7bbe59aefa3ece2c56bf000080bf5254fc3ec49dfb3e7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be09cc8fbeb46da43e648867bf000080bf9eb0f93eba5fcd3e7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfd90012bf0ea4123f73b716bf000080bf1d30003f60d1c83e4fe2dabb989919be992a33be9644533fefe305bd195510bfce262abda0fa7d3f2655f2bd000080bfb8512d3deff3253f2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbede2f753e8fbd5a3fde0fecbe000080bfb04f9b3c4c93273f7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfbf2bb83b24e3633fd73fe9be000080bfb84f9b3c6dce2a3f9711cdbc989919beb9f545be064afd3ee94138bd692e5ebf171125bdeb137f3f5ed098bd000080bfb8512d3dc98a2a3f9911cdbccfcc4cbdb9f545be044afd3ee541383d6a2e5ebf8110253dec137f3f31d0983d000080bf175a0f3eca8a2a3f4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbf50a5253d34f77d3f1101f43d000080bf175a0f3eeff3253f2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bff598b2bdcb1c583f4466073f000080bf8e44273e4c93273f7db9d5bc80b9d5bcc9503fbe4f25d53e5625d53e55ee4ebfb651863c4bac623fe8cded3e000080bf8e44273e6dce2a3f7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bfa2d58fbd5eb6153f0ae14e3f000080bf1231343e6dce2a3fcecc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbf8fabd2bbbc18103f8596533f000080bf84ae3a3e0bc9303fcecc4cbdcbcc4cbdcbcc4cbe9e97583da797583d7e487fbf29558b3baea27f3f99d0593d000080bf185a0f3e0bc9303fcccc4cbd989919becbcc4cbea097583d9e9758bd7e487fbf425b8bbbaea27f3f9ad059bd000080bfb8512d3d0ac9303fcecc4cbda011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000034685e3f348bfd3e000080bf1b53283e0bc9303f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf06f97d3b486d5e3f6377fd3e000080bf1a53283e75ca493f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8aabd23bba18103f8596533f000080bf84ae3a3e75ca493f999919becbcc4cbdcbcc4cbea39758bda797583d7e487fbfa65b8bbbaea27f3fa5d0593d000080bf175a0f3e76ca493f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebf1ca6923dd8b9663f20c6da3e000080bf8e44273e13c54f3fcecc4cbd992a33beb9f545bef141383d064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c0bc9303f7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be6bfaf53d7ab3003f5a265bbf000080bf20aecf3b6dce2a3fcecc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbe8ba3493cecc5fd3ebf515ebf000080bf000000000bc9303f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bf0000000075ca493f999919be992a33beb9f545bee94138bd064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c75ca493f999919be999919becbcc4cbe9f9758bda39758bd7e487fbf755b8b3baea27f3fa1d059bd000080bfb4512d3d76ca493f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebfe834b8bb28e3633fcb3fe9be000080bfa84f9b3c13c54f3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be57faf5bd78b3003f5c265bbf000080bf20aecf3b13c54f3f982a33becfcc4cbdb9f545be064afdbefa41383d692e5ebfd50f25bdec137f3f0fd0983d000080bf175a0f3eb608503f992a33be989919beb9f545be064afdbed34138bd6a2e5ebf3210253dec137f3f10d098bd000080bfb4512d3db608503fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5beefb469be5b965f3f2f48dcbe000080bfb04f9b3c3400533fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbed76dc73cdea77d3feffe07be000080bfb4512d3d919f543fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbeec6cc7bce0a77d3fd6fe073e000080bf175a0f3e909f543fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5be2cb5693e5b965f3f1b48dc3e000080bf8e44273e3400533f54b0d0bc3ae719bc0ad723bea397063f1696503f9b347abe9ae73b3f582894be414a1d3f000080bf28625a3f0c78f13e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be8a791a3f22461bbf0f87043f000080bf24235c3f8aaced3e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf0b98283f6bc50dbf1b6f023f000080bffc11593ff2e9e93e7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bf7aef5d3f44c906beb721f63e000080bf3aa9573f8af6ec3ecccc4cbd77562fbb0ad723be9629e03c432d773fca8584becd833b3fe598203e2198293f000080bfe199563fb2edf83ececc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbfefa3463f8874aa3e442a093f000080bfecc9533f56dbf33e999919be6d562fbb0ad723be6da6a8bce93f773fd54c84bed91c2e3f11d64f3efc55343f000080bfa679453f43f50c3f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8d5e1d3f69faeb3eaddb233f000080bfb2a9423f156c0a3f9c1532be40c057bc9c1532be6830eabe5427433f526feabebb17f53e151f253f8b7d183f000080bf6a583e3fe4dc0e3f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf65d5d93e26a84b3f60e1dc3e000080bfd5603e3f9af1073f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebfe3828e3ee199673f4829a53e000080bf31543b3f331e0d3fd38d1dbe530077bb0ad723be91a882be7d686e3f771c85be895f243f9480ba3e87b02c3f000080bff3be443f72a50d3fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5bea2955c3e4e015e3f94dbe53e000080bf31543b3fc199113f982a33be60e2dabb989919bef2ed0fbf2b87533fa7ae0bbd31331b3f9334e13eb69d293f000080bfb2a9423f7d15133fc1b120be1b0e7abbc1b120be95a672be7bdc713f61d567bebd12283ff0ada73efaf22d3f000080bf6fbe443f9db60e3f0ad723be410077bbd28d1dbebc467fbe7f896e3f431a87bec653243f29dcb93e00e82c3f000080bff4be443fa3c60f3f0ad723be74562fbb999919bea15384be8d4c773fbf4fa2bb8b8b333f1bc0433e1acc2f3f000080bfa679453f646d103f0ad723be6d562fbbcecc4cbd4b4b84befb3c773fb121ba3caff5343faf22313e9f942f3f000080bfe199563f42a0223fb9f545bea011cdbc989919be672e5ebf0e4afd3e004238bde048cd3e2548403ff544063f000080bfd6603e3ffef8163fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bd4ce2df3ca1776a3fb10ecd3e000080bf70ae3b3f183f193fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbe4e3fb9bda805773f6b587c3e000080bfae8c383fdb99133fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583de31b943d03a55c3ff77c003f000080bfabce4c3ff7712b3fb9f545bea011cdbccfcc4cbd692e5ebf0f4afd3ed041383daf5ad93eb80e313ffa95153f000080bf10814f3fdd2b293f992a33be60e2dabbcfcc4cbd8bf80fbf9c80533f98b20a3dfdf71b3f42cec53e8747313f000080bfecc9533f5c48253f9d1532be40c057bc80b9d5bc026c06bf50723f3f80fdcf3ea5c3303faa34c33de08f373f000080bf3aa9573fb0c3293f0ad723be0677b4bb0ad723bdc7fb81be448c6e3f18c5843ef7293d3f0fe7623c43742c3f000080bf3623583f2e94243f0ad723be36e719bc5cb0d0bccc7973befb4f483f4954133f6584453fd6c554be43ed193f000080bf28625a3f9967273f0ad723be5cb0d0bc36e719bc96347abea397063f1696503fc3ea443f1826d0bef869fc3e000080bf24235c3f10162b3f9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423f27ac413f10f551bea3f81e3f000080bffc11593ff2b82c3fca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e6b7c153fac14f43ee236283f000080bf01a5543f8d802c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3e6aaaaf3e6d43463f0610083f000080bf253a523f1ae32e3f999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583da6a07fbf68fb553d1af05abc000080bf000040325fd1763f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e07317ebf2c05bf3dd134963d000080bfe074973b8aff7c3f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53ea01861bf28ebf23ed2d42b3d000080bf77afd13c71e17c3f982a33beb9f545becbcc4cbd064afdbe6a2e5ebff641383d0d765ebf0245fd3e491151bc000080bf72dfb23cb1f8763f992a33beb9f545be989919be064afdbe692e5ebfdd4138bd28515ebf14c7fd3eba134ebc000080bf70dfb23c76fe5d3f999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd46747fbf3e70603d5a3a11bd000080bf0000000023d75d3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be080960bfe9f9f53e6e4d6cbd000080bf76afd13c68f5573f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbece8f7cbfbf75ee3d4a9eeabd000080bfd074973b628c573fb9f545be992a33be989919be692e5ebf0a4afdbed54138bd62c6fdbe82515e3f39614b3c000080bf8a47413d9afe5d3fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e9ff3f2bed315613f9d842cbd000080bf80f3313d8be17c3f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433fddfd34bf090c353f00000000000080bfb9760d3d0000803fb9f545be992a33becbcc4cbd692e5ebf0b4afdbefe41383d0746fdbeec755e3ffc4e4e3c000080bf8b47413dd6f8763fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5bef0f1f5beea0b603f18a46b3d000080bf8af3313d82f5573f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebf470135bf9f08353f00000000000080bfb7760d3d909f543fcbcc4cbe989919be999919be7e487fbf969758bd999758bda2eb5fbd4c7a7f3fff15073d000080bfd6738d3d86d75d3fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbe9eb7b1bdf38a7e3fa0397d3d000080bf5e05843db88c573fcbcc4cbe999919becbcc4cbd7e487fbfa49758bda397583d636c53bd33947f3f706acc3c000080bfd4738d3dc3d1763fb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e16b370bdc3897f3f91f449bc000080bf6105843de1ff7c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ea19d643d2c987f3f6fa9e93b000080bfacdd083eed297c3fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583d70805f3ddb7e7f3fcbcdfd3c000080bfe7940d3ecffb753fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bdd9e4503d837f7f3f169e143d000080bfe7940d3e93015d3fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbec645b93c8d997f3fff5b513d000080bfabdd083ec5b6563f9899193eb9f545bea011cdbcf341383d692e5ebf084afd3ef6450dbfaf4bc83ee18a3c3f000080bfcea83b3f32a6433f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53ead44cbbe2528803ed90d623f000080bf3494383f3506493f9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f8b2f08bf732f083f8aa6283f000080bf12dd3a3f144f4b3f9899193e992a33be60e2dabb35eb033d0e7510bffa2f533f4c2121bf8934213f261ee93e000080bf8de73e3ff0e4463fcfcc4c3d992a33be40e2dabbbdf800bd12ab10bfd00c533fd3632fbf57de1c3fd5a8c93e000080bf0996503f7536353fcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e91b523bf2999cf3e2b37273f000080bf4a574d3fb6f7313f80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53ec9992abf942e153f9220ee3e000080bf4eb7523f1be32e3f80b9d53c9c1532be20c057bc682bcfbe499105bfe443403f47833fbf3e44293fca92663d000080bf2c00553ffa2b313f20731e3e0ad723be1d9e83bb6d1a873eb7467fbe7a896e3f0aae28bf2eae283fcbcbb93e000080bfaab6403fce604a3f9899193e0ad723be6d562fbba344c63b5c5384be2e4c773f0dd92ebf975b343f1065453e000080bf0a8d413f6d8a493fcecc4c3d0ad723be5d562fbb6b474cbc595184be6b48773f5a4235bf1c352f3fcf24323e000080bf863b533ff2db373f06d7233d0ad723befd76b4bb20a785bec91881be868b6e3f7ff434bf5f13353f3103d9bb000080bf2c00553f4b17363f5cb0d03c0ad723be23e719bc4d5413bfb57973bef94f483f498926bfce81363faf0e86be000080bfa891573fcf85333f40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3ebf9f26bf997d203f513adbbe000080bf0a49573f1be32e3f38e7193c0ad723be54b0d0bc189650bf87347abea197063f8d3508bf45e22c3fb2be02bf000080bf92695a3fe6ad303f1e5b213e205b21befaaf88bb5edf833ee7e182beaa8c6e3f1cae28bf1cae283fc7cbb93e000080bf00a4403f144f4b3f0ad7233ebd3d1fbe37ca8abbb7467f3e6d1a87be7a896e3f1eae28bf1aae283fcacbb93e000080bfad93403f5d1a4c3f992a333e989919be60e2dabba482103f852d03bd2627533f923121bf4121213f7c26e93e000080bf8de73e3f37b94f3fc9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53e322880be9f44cb3edb0d623f000080bf3494383ff2974d3fb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ea14bc8be0c460d3fd48a3c3f000080bfcea83b3ff6f7523f0ad7233e999919be77562fbb2f53843e70cae5bbc54b773fd44d34bfaedb2e3fc808463e000080bf0a8d413fba134d3fb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e2299cfbe9fb5233f1f37273f000080bf4a574d3f72a6643f992a333ecfcc4cbd60e2dabb8af80f3fb7b20a3d9c80533f09791dbfcc512f3f9203c83e000080bf0996503fb367613f0ad7233ececc4cbd6d562fbb464b843ec021ba3cfd3c773f9c952fbf7255353f69d72a3e000080bf863b533f36c25e3f9c15323e80b9d5bc40c057bc026c063f82fdcf3e4e723f3f964229bf9b7c3f3f5e3b6d3d000080bf2c00553f2e72653fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53efd2a10bfb9be403ff35dae3e000080bf4eb7523f0cbb673f0ad7233e07d723bd0e77b4bbcdfb813e1bc5843e428c6e3fa5ea34bf5e1e353f01718ebb000080bf2c00553fdc86603f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3ec6f732bf40b7263fff2897be000080bf0b49573f0cbb673f0ad7233e5cb0d0bc3ae719bcd179733e4a54133ffa4f483fb18136bf6189263fd30e86be000080bfa891573f5818633f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133fac9029bf3661103f317efcbe000080bf92695a3f42f0653f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53e78ba8fbec377a43e5589673f000080bf6a72283f7e70b23ec9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53ebeeda3be2dac903e2a7c673f000080bf3a72283ff593bb3e9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f84d907bf5b85083f78a6283f000080bfa38e2b3f93feb63eb9f5453e992a33becfcc4cbd692e5e3f064afdbef541383ddb2db2bc218f573da8957f3f000080bfec8a223fd881bd3ecbcc4c3e989919becbcc4cbd7e487f3f9b9758bda697583dd11f3fbd0f9be63d60177e3f000080bf9a60223fa8adc83eb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ef485f0bef35e7f3edbc9583f000080bf758d283f0c4fc63ecbcc4c3ecbcc4cbdcbcc4cbd7e487f3fa297583da297583de14e78bdb55b213e30537c3f000080bfb079213f4eeeeb3eb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e6f6cf8be5598943e3728533f000080bf8ba6273fb28fe93ec9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e45780abfbad17b3ee3e84d3f000080bfe41c273f4db0ef3eb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d456523bed07c443e65e6773f000080bfb530213fe65cf23ecbcc4c3ecbcc4cbd999919be7e487f3fa397583da09758bdd44e783d8d5b21be30537c3f000080bf8e80083f4eeeeb3eb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd2365233e8a7c44be6be6773f000080bf9337083fe65cf23ec9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be3b780a3f51d17bbef1e84d3f000080bf7c32023f4eb0ef3eb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe696cf83e3f9894be3b28533f000080bf0a35023fb28fe93ecbcc4c3e999919be989919be7e487f3f9e9758bd9b9758bdc61f3f3d029be6bd60177e3f000080bf7767093fa8adc83eb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbeed85f03ed75e7fbedec9583f000080bff41b033f0c4fc63ec9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5beb6eda33e1dac90be2d7c673f000080bfd387033ff693bb3eb9f5453e992a33be989919be692e5e3f064afdbeed4138bd802eb23c828e57bdaa957f3f000080bfca91093fd881bd3e992a333eb9f545be989919be064afd3e692e5ebfed4138bda981543de4abb5bc9b977f3f000080bf0e92093fe186b03e992a333eb9f545becfcc4cbd064afd3e6a2e5ebff041383dac8154bde6abb53c9b977f3f000080bf308b223fe086b03e9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be4eba8f3ed677a4be5689673f000080bf0288033f7e70b23e9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf4dfa113f97aa12bf72b7163f000080bf1d30003f94feb63e9899193ecbcc4cbe999919be9e97583d7e487fbf9f9758bdf903e43dd96d3fbd7f207e3f000080bf2f68093fba50a53e9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe47c97c3eebbcf0be0feb583f000080bf931c033f8eaba73e9999193ecbcc4cbecbcc4cbda297583d7e487fbfa397583d0e04e4bdd96d3f3d7d207e3f000080bf5161223fba50a53e9899193eb9f545bea011cdbcf341383d692e5ebf084afd3e78c97cbee6bcf03e0ceb583f000080bf148e283f8eaba73ecfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3eff567bbeb0b0fa3e0e30563f000080bf9ba8273f5b32843ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583dadf606be8d8b733d504f7d3f000080bfd87b213f86d7813ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdbef6063e8c8b73bd4e4f7d3f000080bfb682083f86d7813ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe0e577b3ea9b0fabe0e30563f000080bf1937023f5b32843e0ad7233e1877b4bb06d723bdc8fb813e448c6e3f19c5843e44d526bfef7b08bd05fc413f000080bf3471773fd9a1343f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133ff5043fbfc8c06dbeb2bb1f3f000080bffe677a3f7792323f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3e9a443fbf91be343e870b243f000080bf0c50783f2464303f0ad7233e77562fbbcecc4cbd474b843efd3c773fcf21ba3cbd1527bf74f4203e3bbc3d3f000080bf1865753f520a363f992a333e60e2dabbcfcc4cbd8af80f3f9c80533fb8b20a3dacb121bf253bce3e2095293f000080bf6c44733fac95333f992a333e60e2dabb989919be2eea0f3f9789533f8ae40bbd0c702bbfd346f53e8646113f000080bf1002603f3482433fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e7d8816bf5e35093f50141b3f000080bfaee1763f1be32e3fb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d4bf9dfbee7de373feb830a3f000080bf0a3c713fc572313f0ad7233e6d562fbb989919bea053843e984c773fe77b9ebb862b36bf836a463ecae22c3f000080bfbc22623fdaf6453fb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd701fddbe36d44b3f1bf1d83e000080bfaef95d3f4d5f413f0ad7233efc4775bb87751dbeb1467f3e7c896e3f621a87be3c4c2fbf677cb93e82e1213f000080bfa274613f43a2463f72a5203e465c78bb71a520bec1e2723e83d4713f631b68be21cf2fbfd9f9a73e400d263f000080bf5a56613fd3b2473f87751d3e0e4875bb0ad723be6aa6823e1f686e3f322185be170f2fbfbb56ba3effe4213f000080bf7736613fc9c1483f9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabeead21abfeedc243f9de1ef3e000080bfefd75b3f1dee473fc9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5beeda3abbe0220683f99fa823e000080bf91695a3f146d463f9999193e77562fbb0ad723be5362a83cf43f773fdc4c84be6b1231bffe294d3e16a0313f000080bff7be613f185f493f9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf793c31bf05b6d93e7c3e153f000080bff7085f3ff4034c3fcecc4c3d6d562fbb0ad723be8c29e0bc412d773fcd8584be292f2ebf89d22f3e3162363f000080bf9e1b713f01855b3fcfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbfcc9435bf66ccc03ebf8c183f000080bf9e656e3fdc295e3f80b9d53c40c057bc9c1532be9cf1ccbe0231423f0fa003bf0c9e34bfb2d7d23df07e333f000080bf3b8d723fc0c1623f5cb0d03c3ae719bc0ad723bea59706bf1696503f9b347abec6081cbfe55224be10c0463f000080bfd429753f5968603fcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfe3da3abf03af133f2fbbbb3e000080bf20a66b3fc947623f80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf586241bf3a3eac3e3ef30f3f000080bff49d703fbea7653f3ae7193c5cb0d0bc0ad723befa4f48bf4a54133fcd7973be89320bbf1f0ce4be6218363f000080bfb252783f625f643f40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bfce4227bf08c89ebed4cb303f000080bf2517753f50f1653f1877b43b06d723bd0ad723be448c6ebf19c5843ecafb81be06b3b9beab5024bf02f62c3f000080bfe68a793fec05663f77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beead556be2b7927bf89053a3f000080bffe677a3f1730673f60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf8a08e6be7f5324bf94121f3f000080bf94e8763f31d8683fb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbe566dc7bcdea77d3fe4fe07be000080bff266393f00000000c9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5be19b5693e5b965f3f1d48dcbe000080bf546c333f20aecf3b9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf8439b83b2be3633fbe3fe9be000080bf546c333fa84f9b3c992a333e989919beb9f545be044afd3eea4138bd6a2e5ebf051025bdec137f3f12d098bd000080bff266393f48db923c992a333ecfcc4cbdb9f545be064afd3eed41383d6a2e5ebf4a10253dec137f3f28d0983d000080bf5c68523f48db923cb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe806dc73cdea77d3fecfe073e000080bf5c68523f00000000c9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be6da913be3558533f9faa0b3f000080bffa62583f40aecf3b9c15323e80b9d5bcc9503fbe4e25d53e5a25d53e54ee4ebf3952863c49ac623fedcded3e000080bffa62583fb84f9b3c9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabe0ba1cebd7d4e0e3fa33a533f000080bf1b9e5b3fb84f9b3c9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf8cabd2bbbb18103f8596533f000080bf773d5d3fb8512d3d9899193ecbcc4cbdcbcc4cbe9997583da697583d7e487fbf16558b3baea27f3f97d0593d000080bf5c68523fb8512d3d9999193e989919becbcc4cbe9d97583d9d9758bd7e487fbf3f528bbbaea27f3f89d059bd000080bff266393fb4512d3d9899193ea011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000032685e3f338bfd3e000080bf9da6583fb8512d3dcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfd3147e3b496d5e3f6177fd3e000080bf9da6583f175a0f3ecfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbf8eabd23bba18103f8596533f000080bf773d5d3f175a0f3ecbcc4c3dcbcc4cbdcbcc4cbea09758bda297583d7e487fbf01548bbbaea27f3f8ed0593d000080bf5c68523f175a0f3e80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf18a6923dd8b9663f1cc6da3e000080bffa62583f8d44273e9899193e992a33beb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bfb028333fb4512d3d9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be56faf53d7db3003f59265bbf000080bf3331303fb04f9b3c9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe8fa3493ceac5fd3ebf515ebf000080bfd6912e3fb4512d3dcbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bfd6912e3f175a0f3ecbcc4c3d992a33beb9f545beeb4138bd064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bfb028333f175a0f3ecbcc4c3d999919becbcc4cbe9e9758bda09758bd7e487fbf50558b3baea27f3f91d059bd000080bff266393f175a0f3e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf0535b8bb28e3633fcb3fe9be000080bf546c333f8e44273e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5be5bfaf5bd78b3003f5c265bbf000080bf3231303f8e44273ea011cd3ccfcc4cbdb9f545be084afdbefb41383d692e5ebf3c1025bdec137f3f2dd0983d000080bf5c68523f1a53283e9811cd3c989919beb9f545be064afdbed54138bd6a2e5ebf4310253dec137f3f16d098bd000080bff266393f1b53283e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbefaf274be28e55a3fb98cebbe000080bf546c333f1331343e40e2da3b989919be992a33be205f53bf673708bd0c2c10bf43fd273d08f97d3fc71ff3bd000080bff266393f84ae3a3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbfa9a425bd34f77d3fba00f43d000080bf5c68523f83ae3a3e40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bf1679343e1650623feda7dd3e000080bffa62583f1231343ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583deb207f3f609765bd179c77bd000080bf0fb87d3f57cd063dcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e486b7b3f752c04bed36e0cbe000080bf41087c3f5138173c80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53e3c0b5b3f86ce00bf2d77f8bd000080bfccb0763fe2ef3a3ca011cd3cb9f545becbcc4cbd084afdbe692e5ebff341383d81835d3f7f51febed3278abd000080bfae22783f59b20b3d9811cd3cb9f545be989919be084afdbe692e5ebfdb4138bd194b5e3f68a7fbbe6e0e88bd000080bfba2f7a3f287f063ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdd47d7f3f7cb950bda6b417bd000080bf1bc57f3fe845053e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5bed18e643f6b6ce6be9e4b9bbc000080bfecb8793f72df1e3ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbed6c97e3ff72fa7bd95eb573d000080bf7a1b7f3fa7be1e3e40e2da3b992a33be989919be9c8053bf89f80fbf94b20abd491e103f365852bfaf9db6bd000080bfd6b7733f4ca0083e40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3e85e9063fdc6a58bff78fb2bd000080bf0023723f9fec523c80b9d53c9c1532be20c057bc682bcfbe499105bfe443403ff67b2f3f4d7637bfeba103be000080bf4427743f0000000060e2da3b992a33becbcc4cbd9c8053bf8af80fbfc5b20a3d91b30e3f921d53bfb95fc4bd000080bfcaaa713fec36143d6d562f3b0ad723becbcc4cbd432d77bfc28584beb129e03c26b0823e065376bf5b66c2bd000080bff7536e3fd7151a3d38e7193c0ad723be54b0d0bc189650bf87347abea197063fab38703edfde77bfc400b1bd000080bfe4026f3f2cfa5e3c5d562f3b0ad723be999919be3a3f77bf6e4c84bef7f4acbcc2b8843e540d76bfe16bc2bd000080bf0361703f08180a3e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbe1b5a0f3ffa6d52bf8781d4bd000080bf222b753f405f203e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf06ba413fedc526bf7d1a5ebd000080bf14b7773fc2eb2c3e5572893b0ad723becd171fbe71666ebf0cfa84be78da82be21f4943ea0c873bff918bdbd000080bfdac1703fdf650f3e40e2da3b989919be992a33be205f53bf673708bd0c2c10bffac5fc3d03177cbfc680fbbd000080bfefd66f3f67c5233e05678b3bb9e522be073320be75c073bfd60153bed11c67beeb5d6d3e0add77bfe360c0bd000080bfc7a0703f788e103e65e8893bda6c21bedb6c21be783571bfaf2171bedcf973be43f7863ee4c775bf8aa3bfbd000080bf4864703f97e1113e5062843bc9881ebe0ad723be7a896ebf721a87beab467fbe5ed7963e736f73bf6cd1c1bd000080bff3e96f3fe47d143e54562f3b989919be0ad723be234c77bf65a4c9bb575384be176c253d71b47dbf956902be000080bf54d36e3f54f7143e77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beb3fe363b9cc47ebf6699c8bd000080bf773d5d3faf1d1e3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf6c67ba3cb9d07ebfa533bfbd000080bf12415e3fc2eb2c3e + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: -0.09999999} + m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1.6879306 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: +--- !u!1001 &1006305323 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2121825122} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalPosition.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalPosition.y + value: 1.95 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: d586649e59c967444a1607a4aed46c01, type: 2} + - target: {fileID: 919132149155446097, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + propertyPath: m_Name + value: Shield + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + insertIndex: -1 + addedObject: {fileID: 1854500747} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + insertIndex: -1 + addedObject: {fileID: 1831340547} + m_SourcePrefab: {fileID: 100100000, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} +--- !u!1 &1106929323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1106929324} + - component: {fileID: 1106929327} + - component: {fileID: 1106929326} + - component: {fileID: 1106929325} + m_Layer: 0 + m_Name: SnapPoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1106929324 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106929323} + 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: 597715543} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1106929325 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106929323} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, 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 &1106929326 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106929323} + m_Mesh: {fileID: 524671518} +--- !u!114 &1106929327 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1106929323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 88ea78c93b844cc1b7f98cca70e8679c, type: 3} + m_Name: + m_EditorClassIdentifier: + parent: {fileID: 597715544} +--- !u!1 &1178468341 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1178468342} + - component: {fileID: 1178468344} + - component: {fileID: 1178468343} + m_Layer: 8 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1178468342 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1178468341} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 1, y: 0.1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 513126030} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1178468343 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1178468341} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a16db0f18ace882458e325d3243cb6da, 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 &1178468344 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1178468341} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1192304053 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1192304054} + m_Layer: 0 + m_Name: Transformation Machine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1192304054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1192304053} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1471223338} + - {fileID: 1583804101} + - {fileID: 2011926244} + - {fileID: 535679137} + m_Father: {fileID: 1527860102} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1204090590 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1756511964} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalPosition.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalPosition.z + value: 0.75 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: -7511558181221131132, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} + - target: {fileID: 919132149155446097, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_Name + value: Table + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + insertIndex: -1 + addedObject: {fileID: 1520088451} + m_SourcePrefab: {fileID: 100100000, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} +--- !u!4 &1204090591 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + m_PrefabInstance: {fileID: 1204090590} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1216574280 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -4570,71 +5465,145 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 518602151} - - component: {fileID: 518602152} - - component: {fileID: 518602154} - - component: {fileID: 518602153} - m_Layer: 8 - m_Name: Teleportation area + - component: {fileID: 1216574281} + - component: {fileID: 1216574282} + m_Layer: 0 + m_Name: LightSabre Origin m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &518602151 + m_IsActive: 1 +--- !u!4 &1216574281 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 518602150} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.5, y: 0, z: 1.5} + m_GameObject: {fileID: 1216574280} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0.4000002, y: 1.18, z: 0.6000003} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 33704422} - m_RootOrder: 4 + m_Father: {fileID: 1756511964} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &518602152 +--- !u!114 &1216574282 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 518602150} + m_GameObject: {fileID: 1216574280} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: serializedGuid: - serializedGuid: b83ed1c9b1876e46820d20bbcae66652 - uniqueName: Teleportation area + serializedGuid: c4a99b4c0ca9cb45a73a8f0d59cbc130 + uniqueName: LightSabre Origin + guids: [] tags: [] ---- !u!114 &518602153 +--- !u!1 &1241623309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1241623310} + - component: {fileID: 1241623318} + - component: {fileID: 1241623317} + - component: {fileID: 1241623316} + - component: {fileID: 1241623315} + - component: {fileID: 1241623314} + - component: {fileID: 1241623313} + - component: {fileID: 1241623312} + - component: {fileID: 1241623311} + - component: {fileID: 1241623319} + m_Layer: 0 + m_Name: Ball + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1241623310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.5, y: 2.125, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 813701130} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1241623311 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 518602150} + m_GameObject: {fileID: 1241623309} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} + m_Script: {fileID: 11500000, guid: 428efa2c1665b6745bfa9c1ec2026c93, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + grabStarted: + m_PersistentCalls: + m_Calls: [] + grabEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1241623312 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + touchStarted: + m_PersistentCalls: + m_Calls: [] + touchEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1241623313 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: - m_Bits: 2 + m_Bits: 1 m_DistanceCalculationMode: 1 - m_SelectMode: 1 + m_SelectMode: 0 m_FocusMode: 1 - m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} + m_CustomReticle: {fileID: 0} m_AllowGazeInteraction: 0 m_AllowGazeSelect: 0 m_OverrideGazeTimeToSelect: 0 @@ -4678,230 +5647,210 @@ MonoBehaviour: m_FocusExited: m_PersistentCalls: m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_TeleportationProvider: {fileID: 0} - m_MatchOrientation: 0 - m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 - m_FilterSelectionByHitNormal: 0 - m_UpNormalToleranceDegrees: 30 - m_Teleporting: + m_Activated: m_PersistentCalls: m_Calls: [] ---- !u!64 &518602154 -MeshCollider: + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_AttachTransform: {fileID: 0} + m_SecondaryAttachTransform: {fileID: 0} + m_UseDynamicAttach: 1 + m_MatchAttachPosition: 1 + m_MatchAttachRotation: 1 + m_SnapToColliderVolume: 0 + m_ReinitializeDynamicAttachEverySingleGrab: 1 + m_AttachEaseInTime: 0.15 + m_MovementType: 1 + m_VelocityDamping: 1 + m_VelocityScale: 1 + m_AngularVelocityDamping: 1 + m_AngularVelocityScale: 1 + m_TrackPosition: 1 + m_SmoothPosition: 0 + m_SmoothPositionAmount: 5 + m_TightenPosition: 0.5 + m_TrackRotation: 1 + m_SmoothRotation: 0 + m_SmoothRotationAmount: 5 + m_TightenRotation: 0.5 + m_TrackScale: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + m_ThrowSmoothingDuration: 0.25 + m_ThrowSmoothingCurve: + serializedVersion: 2 + m_Curve: + - 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: 4 + m_ThrowVelocityScale: 1.5 + m_ThrowAngularVelocityScale: 1 + m_ForceGravityOnDetach: 0 + m_RetainTransformParent: 1 + m_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + isTouchable: 1 + isGrabbable: 1 + isUsable: 0 +--- !u!114 &1241623314 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 518602150} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 1241623309} m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: -8378139086155444565, guid: 3d993d7375e6eec4d971b7d72f65da14, type: 3} ---- !u!43 &524671518 -Mesh: + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 0e1969c09cdcd146a3bba4ccd6b6b3bd + uniqueName: Ball + guids: [] + tags: [] +--- !u!54 &1241623315 +Rigidbody: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 960 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 205 - localAABB: - m_Center: {x: -0.000000029802322, y: 0.000000029802322, z: 0.000000007450581} - m_Extent: {x: 0.2, y: 0.2, z: 0.19999999} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 0 - m_KeepVertices: 1 - m_KeepIndices: 1 - m_IndexFormat: 0 - m_IndexBuffer: 00000100020001000300020001000400030002000300050004000600030004000700060003000800050003000600080005000800090007000a00060007000b000a0006000c00080006000a000c0008000d00090008000c000d0009000d000e000b000f000a000b0010000f000a0011000c000f0011000a000c0012000d00110012000c00100013000f001000140013000f00150011000f00130015001400160013001400170016000d0018000e00120018000d0011001900120015001900110013001a001500130016001a0017001b00160017001c001b001c001d001b0016001b001e0016001e001a001d001f001b001b001f001e001d0020001f0015001a0021001500210019001900220012001200220018001a001e0023001a0023002100200024001f002000250024001f0026001e001e00260023001f0024002600250027002400250028002700240027002900240029002600260029002a0026002a00230023002a002b00210023002b0021002b002c0021002c00190019002c0022002c002b002d002b002e002d0022002c002f002c002d002f002e0030002d002e003100300022002f0032001800220032002f002d0033002d0030003300310034003000310035003400350036003400350037003600340036003800300034003900340038003900300039003300390038003a0039003a003b00330039003b003b003a003c002f0033003d003d0033003b0032002f003d003d003b003e003e003b003c0032003d003f003f003d003e00400032003f001800320040000e00180040000e00400041000e004100420040003f0043004000430041003f003e0044003f00440043003e003c0045003e004500440041004600420042004600470041004300480041004800460043004400490043004900480046004a00470047004a004b0048004c00460046004c004a004a004d004b004b004d004e004a004f004d004c004f004a004c0050004f00480051004c00510050004c0048004900510051005200500044005300490044004500530049005400510051005400520049005300540053004500550054005300560053005500560052005400570054005600570045005800550045003c0058003c005900580059005a00580059005b005a00550058005c0058005a005c00560055005d0055005c005d005b005e005a005b005f005e005a0060005c005a005e0060005f0061005e005f00620061005e00610063005e00630060006000630064005c00600065006000640065005d005c00650065006400660056005d0067005700560067005d006500680068006500660067005d006800570067006900670068006a0067006a006900680066006b0068006b006a00570069006c00520057006c006d0052006c006d006c006e006f006d006e006c00690070006e006c00700069006a0071006900710070006f006e00720073006f0072006e007000740072006e007400730072007500760073007500750072007700720074007700770074007800740070007900740079007800700071007900780079007a006a007b0071006a006b007b0071007c00790079007c007a0071007b007c007b006b007d007c007b007e007b007d007e007a007c007f007c007e007f006b0080007d006b00660080006600810080008100820080008100830082007d00800084008000820084007e007d0085007d008400850083008600820083008700860082008800840082008600880087008900860087008a008900860089008b0086008b00880088008b008c00840088008d0088008c008d00850084008d008d008c008e007e0085008f007f007e008f0085008d00900090008d008e008f00850090007f008f0091008f00900092008f009200910090008e0093009000930092007f00910094007a007f00940095007a009400950094009600970095009600940091009800960094009800910092009900910099009800970096009a009b0097009a00960098009c009a0096009c009b009a009d009e009b009d009d009a009f009a009c009f009f009c00a0009c009800a1009c00a100a00098009900a100a000a100a2009200a300990092009300a3009900a400a100a100a400a2009900a300a400a3009300a500a400a300a600a300a500a600a200a400a700a400a600a7009300a800a50093008e00a8008e00a900a800a900aa00a800a900ab00aa00a500a800ac00a800aa00ac00a600a500ad00a500ac00ad00ab00ae00aa00ab00af00ae00aa00b000ac00aa00ae00b000af00b100ae00af00b200b100ae00b100b300ae00b300b000b000b300b400ac00b000b500b000b400b500ad00ac00b500b500b400b600b700b500b600ad00b500b700b700b600b800b900ad00b700a600ad00b900a700a600b900b700b800ba00b900b700ba00ba00b800bb00a700b900bc00b900ba00bc00ba00bb00bd00bc00ba00bd00bd00bb00be00a700bc00bf00a200a700bf00c000a200bf00bc00bd00c100bf00bc00c100bd00be00c200c100bd00c200c200be00c300c400c200c300c000bf00c500c500bf00c100c600c000c500c700c200c400c700c100c200c500c100c700c800c700c400c600c500c900c900c500c700c900c700c800ca00c600c900cb00c900c800ca00c900cb00cc00ca00cb00 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 205 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 24 - format: 0 - dimension: 4 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 40 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 9840 - _typelessdata: 4d14cbb2cbcc4cbe7d3fd83200000000000080bf00000000587873bf000000000d389ebe000080bfc32e3a3e00000000134d7e3c6f3c46be10ab433da2b6ab3d936576bfb91e843e0d2974bf7c301cbeba9e84be000080bff3e8223e753d213d267226bd6f3c46be77dbf13cbdc660be936576bff74e233e52816cbf1e301c3e80bdb3be000080bf9274513e753d213dc76ce2bcd82d37be1d36ae3ddb8112bed7e862bf5472e13e587873bf0000000013389ebe000080bfc22e3a3e753da13d6115053dc9362ebe53cccc3d0e5b263e73c459bf73ffff3ed65b74bfb71887bede190ebe000080bf23a30b3e753da13d5436aebdc6362ebe6b247d3df3c3d9be6dc459bfe8369e3e0e925abf9a18873ebfc8e5be000080bf61ba683e753da13ddcfb2cbc183214bebcf00c3e4f5a86bd643e3bbf75c32d3fe0b378bf0829debd5ad857be000080bff2e8223e2edcf13d30ba3e3df1a806be8cc0123e1b026a3e0c522cbf9e0d343f8a5274bf085298bed8d4cf3c000080bfa6bae83d30dcf13d043294bd0c3214be1ec1f03d061ab1be593e3bbfb172163fd4eb68bf132ade3d9d0fcdbe000080bf9274513e30dcf13d9dabf9bdeba806bee164b53daf2919bf01522cbf7d8ede3e90d741bfdd51983e91dd14bf000080bf1900803e30dcf13d413ec23b2bbecdbd25fc303e44aa133c416401bf93e15c3fa2967cbfab2714be457898bd000080bf22a30b3e743d213ebd6a623d662eb7bd86362e3ee5828d3ef2f9e4be24c4593fe97f75bfd0c53ebe28c55a3e000080bf062fba3d753d213e9d5757bd9457d7bd82af253ebf9686bea29606bf761b4f3f587873bf0000000017389ebe000080bfc22e3a3e743d213e0fe2d9bd25becdbd5e9d0b3e07b303bf356401bfce56313f9f8c57bfd427143e1c0d05bf000080bf63ba683e753d213edf3114be5d2eb7bd4f56d73d573e39bfc0f9e4be0196063fe27816bf00000000e41b4fbf000080bf01a38b3e753d213ee24dfe3c47be4dbda5ab433ee426143e0db96fbe641d763f2d307dbf18e282bd6f79083e000080bfa5bae83dc18c493e9d96b23d65be4dbd57fc303e0765e53e54b96fbec3e15c3f3dd463bfce4accbc2d25e93e000080bf44a38b3dc28c493ef36ce2bcc16c62bdabc6423e8eb81dbeaa6f89be916e733f3a047cbfcbb526bd4b0c2fbe000080bff2e8223ec08c493ef92db7bdcb6c62bd79362e3ee25fdebeb26f89beca1d5c3f8c9b65bff9b4263d2575e1be000080bf9274513ec18c493e93257d3d330b18b4c1c6423e2a319e3ea722913ca66e733f707873bf0000000087379e3e000080bfe42eba3d0edc713ec6c1f03d0a11a632c9af253e2679163f00000000b21b4f3f3d074fbf268be33c496a163f000080bf052f3a3d0edc713e4d14cbb2c4c05332cccc4c3e00000000000000000000803fb6e67fbf828ee3bc00000000000080bf22a30b3e0ddc713ef42db73da16c623d7c362e3ee45fde3ea46f893eca1d5c3f8a9b65bfe8b3263d3475e13e000080bf22a38b3dad158d3ee4ba0c3e61be4d3d859d0b3ecea02e3f1ab96f3eec56313f6fbe3abf19fb1b3ee7b52a3f000080bf052fba3cad158d3ee9ba0cbe5dbe4dbd859d0b3ec9a02ebf25b96fbef056313f33c738bfc5e2823d816c30bf000080bf1900803ec28c493ea2257dbdb6f88732c1c6423e2b319ebefc2391bca56e733f6e7873bf0000000087379ebe000080bfc22e3a3e0edc713eeb6ce23c9e6c623dafc6423e9fb81d3e9b6f893e916e733f3c047cbf1fb426bd400c2f3e000080bf84bae83dad158d3e07e2d93d2abecd3d5f9d0b3e04b3033f3664013fd056313fa28c57bff527143e150d053f000080bfc22e3a3d533da13edb31143e5e2eb73d4f56d73d593e393fb6f9e43e0396063fc9ba2bbfca838d3e4d2d303f000080bf00000000533da13e97abf93defa8063ee164b53db429193ffe512c3f758ede3e9dd741bf4152983e64dd143f000080bf052fba3c0265b53e8f57573d9957d73d84af253ec696863e9e96063f771b4f3f567873bf000000001f389e3e000080bfc22eba3d533da13edb31943d2232143e0bc1f03deb19b13e663e3b3faa72163fe1eb68bf8f2ade3d620fcd3e000080bf23a38b3d0265b53e4d36ae3dca362e3e6b247d3df5c3d93e6fc4593fe1369e3e27925abfec18873e2fc8e53e000080bf052f3a3db08cc93efc4dfebc4fbe4d3da5ab433ef32614be06b96f3e641d763f2d307dbf12e282bd7e7908be000080bff3e8223ead158d3ecec1f0bd0a11a632c7af253e247916bf00000000b31b4f3f3f074fbf5c8ae33c476a16bf000080bf62ba683e0edc713ea63ec2bb2fbecd3d25fc303e32aa13bc3d64013f96e15c3fa0967cbfbc2714be5778983d000080bf12a30b3e533da13e186ce23ce52d373e0036ae3da381123ee1e8623f3672e13e587873bf0000000017389e3e000080bfe42eba3db08cc93e1972263d733c463e77dbf13cc4c6603e9365763ffc4e233e5b816cbf3d301c3e4cbdb33e000080bf44a38b3d5fb4dd3e01fb2c3c2332143eb7f00c3e0a5a863d673e3b3f72c32d3fd7b378bf312adebdc9d8573e000080bf84bae83d0265b53e454d7ebc733c463e13ab433da6b6abbd9365763faf1e843e042974bf97301cbef79e843e000080bfa6bae83d5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f00000000587873bf0000000011389e3e000080bf062fba3d0edcf13e6d1505bdcb362e3e53cccc3d135b26be75c4593f71ffff3ec25b74bffe1887bee61a0e3e000080bf23a30b3eb08cc93e3dba3ebdf4a8063e8cc0123e27026abe03522c3fa60d343f7f5274bf465298bec3d1cfbc000080bff3e8223e0265b53ecb6a62bd672eb73d86362e3ee4828dbef0f9e43e24c4593f877873bf00000000e8369ebe000080bfc32e3a3e533da13ea596b2bd6abe4d3d57fc303e1065e5be4fb96f3ec1e15c3f73e360bf8fe1823d056ff2be000080bf9274513ead158d3e183cc6bd2abecd3da0c0123efdecffbe3564013fc50d343fc52541bfb526143e85e223bf000080bf62ba683e533da13e3dba3ebdf4a8063e8cc0123e27026abe03522c3fa60d343fe57a49bfc451983e4f5a0abf000080bf9274513e0265b53e516209be7d6c623df8f00c3e27fc2ebf866f893ebac32d3ff32932bf41af263df78837bf000080bf1900803ead158d3e4d2db7bd1a32143e9c56d73d4f71e7be603e3b3f10b5023f2d7d29bf1d28de3d72d63dbf000080bf1800803e0265b53e6d1505bdcb362e3e53cccc3d135b26be75c4593f71ffff3e93cf30bf8118873e925e2cbf000080bf62ba683eb08cc93ee2af25be39c2c3b486c1f03d7f134fbf3d20913cf272163ffc7816bf00000000d11b4fbf000080bf00a38b3e0edc713ef4f00cbe7357d73d7ecccc3d332d30bf8796063fc4ffff3e3a7916bf00000000a51b4fbf000080bf01a38b3e533da13e873194bddc2d373e6556573dd4c6bfbed7e8623f7b558b3e887916bf000000006d1b4fbf000080bf00a38b3eb08cc93e454d7ebc733c463e13ab433da6b6abbd9365763faf1e843e738e1ebfb02f1c3e6a2845bf000080bf1900803e5fb4dd3e5dbd4dbd673c463e7d3fd83294eb8abe8865763f00000000fd830abf33311cbee9b753bf000080bfe845973e5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f00000000a07916bf00000000591b4fbf000080bf01a38b3e0edcf13ec756d7bda7362e3e7d3fd8323a9606bf4fc4593f00000000de98dabe991987be866b5dbf000080bfd0e8a23eb08cc93ebbb302be0432143ea156573ded1120bf4b3e3b3f9d558b3e832c00bffe2cdebddada5bbf000080bfe845973e0265b53e0d4e1abeb8a8063e7d3fd832dd513dbfcd512c3f0000000040a58abedb5298bef55e6abf000080bfb98bae3e0265b53efe322abed8bdcd3d38ab433dc9c852bf0e64013ff71e843ea55bc0bef72814be2a566abf000080bfd1e8a23e533da13eb42d37bef52db73d7d3fd8321bf964bf7cf9e43e000000000000000000000000000080bf000080bfa12eba3e533da13e5d7f30be216c623d6436ae3d61555bbf596f893ec172e13e3cfeeebee8b526bdc52862bf000080bfe845973ead158d3ec1ea43bedebd4d3dafdbf13cc18375bfb9b86f3e834f233ee82837be80e282bdf3567bbf000080bfb98bae3ead158d3ed4c642bed9c05332ae247d3d7c7873bf0000000031379e3e93279ebe0f8be3bc716073bf000080bfd0e8a23e0ddc713e5b4530be25be4dbdfe64b53db49f5ebfddb86fbeb48ede3e5260ddbef7e082bdcb4066bf000080bfe845973ec18c493e6d7226be07becdbddedb713d865b51bf256401bfece68c3e71b76fbe562714be791d76bf000080bfd0e8a23e743d213e9dabf9bdeba806bee164b53daf2919bf01522cbf7d8ede3ede5aa3bea75198be7d5b66bf000080bfe845973e30dcf13d45fd41be706c62bdd815053dbbb373bf916f89befee5163ee40711bed9b426bd82347dbf000080bfb88bae3ec08c493ecfcc4cbeb3f887327d3fd832b6f57fbf1c2491bc000000000000000000000000000080bf000080bfa02eba3e0edc713ec1ea43bedebd4d3d94dbf1bcc38375bfabb86f3e744f23bef928373eb4e3823def567bbf000080bf88d1c53ead158d3e2b6209be013214bee215053de3722abf4c3e3bbf02e6163ef545ccbd8429debd82347dbf000080bfb88bae3e2edcf13d5436aebdc6362ebe6b247d3df3c3d9be6dc459bfe8369e3ebde626be7b1887be7a6073bf000080bfd0e8a23e753da13d74362ebe6657d7bd7d3fd8321bc459bf8c9606bf000000000000000000000000000080bf000080bfa02eba3e743d213e45fd41be706c62bdcc1505bdbbb373bf916f89be02e616beee07113e8fb4263d82347dbf000080bf88d1c53ec18c493e7c2db7bdcf2d37be79813934a90cedbed1e862bf000000000000000000000000000080bf000080bfa02eba3e743da13d267226bd6f3c46be77dbf13cbdc660be936576bff74e233e8c2d46bd0c301cbe86b37cbf000080bfb98bae3e753d213d246209be093214bea21505bddc722abf533e3bbfe2e516be1446cc3d1229de3d82347dbf000080bf88d1c53e2edcf13d267226bd6f3c46be5ddbf1bcd7c660be8f6576bf194f23beb32d463d2e301c3e84b37cbf000080bf89d1c53e753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf000000000000000000000000000080bf000080bfa12eba3e000000005436aebdc6362ebe59247dbde6c3d9be72c459bfe8369ebe8de6263e8618873e7a6073bf000080bf7074d13e753da13d9dabf9bdeba806bed864b5bdaf2919bf04522cbf768edebeaa5aa33ece51983e815b66bf000080bf5817dd3e30dcf13d6d7226be07becdbdcedb71bd835b51bf2d6401bfe7e68cbe5bb76f3e6827143e791d76bf000080bf7174d13e753d213edf3114be5d2eb7bd4756d7bd5a3e39bfc0f9e4befe9506bfdc78163f00000000e91b4fbf000080bf41bae83e753d213ed4c642bef910a6329c247dbd7c7873bf000000002f379ebe8e279e3e6391e33c6f6073bf000080bf7074d13e0edc713e5b4530be25be4dbdf564b5bdb19f5ebfdab86fbec38edebe5560dd3eb9e1823dca4066bf000080bf5917dd3ec28c493e5d7f30be816c623d3936aebd64555bbf7b6f893e9e72e1be35feee3ec6b8263dc52862bf000080bf5817dd3ead158d3eebaf25beb3f887326ac1f0bd85134fbfeb22913ce87216bff678163f00000000d71b4fbf000080bf40bae83e0edc713ee7ba0cbe5cbe4dbd839d0bbed5a02ebf01b96fbee95631bf2cc7383f34e382bd886c30bf000080bf285df43ec18c493efe322abed8bdcd3d2aab43bdc5c852bf1764013fe81e84beb05bc03e3d29143e27566abf000080bf7074d13e533da13e0d4e1abeb8a8063e7d3fd832dd513dbfcd512c3f0000000041a58a3edc52983ef45e6abf000080bf89d1c53e0265b53ebbb302be0432143e935657bdec1120bf4b3e3b3fa1558bbe852c003ff42cde3ddada5bbf000080bf5817dd3e0265b53ec756d7bda7362e3e7d3fd8323a9606bf4fc4593f00000000e098da3e9b19873e856b5dbf000080bf7074d13eb08cc93ef4f00cbe7357d73d75ccccbd2f2d30bf9196063fbdffffbe3679163f00000000a81b4fbf000080bf40bae83e533da13e536209bec16c623deef00cbe29fc2ebf996f893eb4c32dbfe329323f55b226bd058937bf000080bf285df43ead158d3e873194bddc2d373e535657bdd4c6bfbed7e8623f80558bbe8a79163f000000006a1b4fbf000080bf40bae83eb08cc93e5dbd4dbd673c463e7d3fd83294eb8abe8865763f00000000fd830a3f34311c3ee9b753bf000080bf5817dd3e5fb4dd3e4b2db7bd1932143e9556d7bd4f71e7be613e3b3f0fb502bf2d7d293f2428debd72d63dbf000080bf285df43e0265b53e454d7ebc733c463e06ab43bdaab6abbd9365763fb11e84be738e1e3fb32f1cbe6a2845bf000080bf295df43e5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f00000000a079163f00000000591b4fbf000080bf41bae83e0edcf13e6d1505bdcb362e3e4accccbd185b26be76c4593f6affffbe90cf303f7c1887be945e2cbf000080bf0800003fb08cc93e3dba3ebdf4a8063e8ac012be2e026abe07522c3fa30d34bfe37a493fbe5198be535a0abf000080bf7cd1053f0265b53e183cc6bd2abecd3d9ec012bef9ecffbe3964013fc30d34bfbf25413fdc2614be87e223bf000080bf0800003f533da13ecb6a62bd672eb73d84362ebee4828dbee9f9e43e25c459bf8778733f00000000e8369ebe000080bff0a20b3f533da13ecec1f0bdb8c05332c6af25be2b7916bf00000000af1b4fbf39074f3f1a90e3bc4e6a16bf000080bf0800003f0ddc713ea596b2bd6abe4d3d54fc30be1065e5be49b96f3ec1e15cbf6ee3603f53e282bd0e6ff2be000080bf7cd1053fad158d3ef82db7bdcb6c62bd79362ebee85fdebead6f89bec91d5cbf8a9b653f4eb526bd2b75e1be000080bf7cd1053fc08c493ea2257dbdb0f88732bec642be2a319ebe252391bca66e73bf6e78733f0000000087379ebe000080bff0a20b3f0edc713efc4dfebc4fbe4d3da1ab43be0a2714be05b96f3e621d76bf2b307d3f4fe2823d917908be000080bf6474113fad158d3e0fe2d9bd25becdbd5d9d0bbe08b303bf3d6401bfc65631bf9c8c573fe12714be1e0d05bf000080bf0800003f743d213e9dabf9bdeba806bed864b5bdaf2919bf04522cbf768edebe92d7413ff35198be87dd14bf000080bf285df43e30dcf13ddc3194bd153214be1dc1f0bde619b1be663e3bbfab7216bfd6eb683f6829debda60fcdbe000080bf7cd1053f2edcf13d5436aebdc6362ebe59247dbde6c3d9be72c459bfe8369ebe10925a3f911887beb9c8e5be000080bf0800003f753da13d9d5757bd9457d7bd82af25bec69686bea29606bf751b4fbf5478733f0000000025389ebe000080bff0a20b3f743d213ef36ce2bcc16c62bdabc642be7cb81dbea46f89be936e73bf3a047c3f7ab5263d320c2fbe000080bf6474113fc18c493efd6be2bcd72d37be2736aebd9d8112bed7e862bf5d72e1be5878733f0000000015389ebe000080bff0a20b3f753da13d267226bd6f3c46be5ddbf1bcd7c660be8f6576bf194f23be50816c3f28301cbe89bdb3be000080bf7cd1053f753d213dcefa2cbc0c3214bec7f00cbed05986bd5e3e3bbf7cc32dbfe0b3783f8729de3d37d857be000080bf6474113f30dcf13d134d7e3c6f3c46be06ab43bd9fb6ab3d936576bfb61e84be0f29743f77301c3eb49e84be000080bf6474113f753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf000000005878733f000000000f389ebe000080bff0a20b3f000000006115053dc9362ebe47ccccbd395b263e75c459bf6cffffbed95b743fb318873e81190ebe000080bfd845173f753da13d30ba3e3df1a806be8ac012be5a026a3e0f522cbf960d34bf8e52743feb51983e56d9cf3c000080bf4c171d3f30dcf13d413ec23b2bbecdbd24fc30bef7ab133c396401bf99e15cbfa4967c3f9327143edb7798bd000080bfd845173f753d213ebd6a623d662eb7bd84362ebee4828d3eebf9e4be24c459bf8978733f00000000e5369e3e000080bfc0e8223f753d213e4d14cbb20411a632cbcc4cbe0000000000000000000080bfb6e67f3f8a8fe33c00000000000080bfd845173f0edc713ee24dfe3c47be4dbda1ab43bef826143e14b96fbe621d76bf2d307d3f52e2823d7d79083e000080bf4c171d3fc28c493e9d6ce23caf6c623dadc642be75b81d3ea36f893e936e73bf3c047c3ff1b4263d230c2f3e000080bf4c171d3fad158d3e6b257d3dc44eb1b3c2c642be23319e3ee122913ca66e73bf7078733f000000007f379e3e000080bfc0e8223f0edc713e9d96b23d65be4dbd54fc30be0365e53e42b96fbec4e15cbf75e3603f0be282bdff6ef23e000080bf34ba283fc18c493ea63ec2bb2fbecd3d24fc30bef2aa13bc3d64013f96e15cbfa0967c3fc927143e4978983d000080bfd845173f533da13e3dba3ebdf4a8063e8ac012be2e026abe07522c3fa30d34bf7f52743f4652983eded1cfbc000080bf6474113f0265b53e01fb2c3c2332143eb5f00cbefd59863d6a3e3b3f6fc32dbfd7b3783f342ade3dc8d8573e000080bf4c171d3f0265b53e6d1505bdcb362e3e4accccbd185b26be76c4593f6affffbec25b743f0019873ee61a0e3e000080bfd845173fb08cc93e8f57573d9957d73d82af25bec496863ea096063f771b4fbf5678733f000000001e389e3e000080bfc0e8223f533da13ee22db73db86c623d7d362ebed85fde3ea46f893ecf1d5cbf8f9b653f3eb426bd2275e13e000080bf34ba283fad158d3e156ce23ce52d373ef735aebda281123ee2e8623f3472e1be5878733f0000000017389e3e000080bfc0e8223fb08cc93e454d7ebc733c463e06ab43bdaab6abbd9365763fb11e84be0429743f99301c3ef59e843e000080bf4c171d3f5fb4dd3edb31943d2232143e07c1f0bded19b13e683e3b3fa77216bfe0eb683f852adebd690fcd3e000080bf34ba283f0265b53e1972263d733c463e5ddbf1bcc6c6603e9365763ffe4e23be5b816c3f3e301cbe4cbdb33e000080bf34ba283f5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f000000005878733f0000000011389e3e000080bfc0e8223f0edcf13e4d36ae3dca362e3e59247dbdf5c3d93e6fc4593fe1369ebe26925a3fe91887be36c8e53e000080bfa88b2e3fb08cc93e97abf93defa8063ed864b5bdb429193ffe512c3f738edebe9cd7413f3b5298be69dd143f000080bf1c5d343f0265b53e07e2d93d2abecd3d5c9d0bbe07b3033f3764013fcc5631bf9f8c573ffe2714be170d053f000080bfa88b2e3f533da13edb31143e5e2eb73d4756d7bd593e393fbdf9e43efe9506bfe078163f00000000e51b4f3f000080bf902e3a3f533da13ec6c1f03db8c05332c6af25be2379163f00000000b51b4fbf3f074f3f3f8ee3bc466a163f000080bfa88b2e3f0ddc713ee5ba0c3e65be4d3d839d0bbecda02e3f20b96f3eeb5631bf2fc7383f19e382bd836c303f000080bf1c5d343fad158d3e3a62093eb36c62bd02f10cbe17fc2e3f9d6f89bec4c32dbff229323fd2b226bdf488373f000080bf1c5d343fc08c493edcaf253eaaf887328ac1f0bd80134f3f442391bcef7216bffb78163f00000000d11b4f3f000080bf902e3a3f0edc713e5745303e2abe4d3df564b5bdb49f5e3fc3b86f3ec18edebe5460dd3ea6e1823dca40663f000080bf0400403fad158d3e103cc63d25becdbd9ec012bef1ecff3e416401bfc10d34bfc325413fbc2614be86e2233f000080bfa88b2e3f743d213e30ba3e3df1a806be8ac012be5a026a3e0f522cbf960d34bff07a493f835198be525a0a3f000080bf34ba283f30dcf13d6b2db73d143214be7956d7bd6271e73e643e3bbf02b502bf2e7d293f6627debd74d63d3f000080bf1c5d343f2edcf13d6115053dc9362ebe47ccccbd395b263e75c459bf6cffffbea9cf303f531887be825e2c3f000080bfa88b2e3f753da13df1f00c3e6f57d7bd75ccccbd312d303f8f9606bfc3ffffbe3679163f00000000a81b4f3f000080bf902e3a3f743d213e4b7f303e816c62bd6e36aebd5a555b3f716f89becd72e1be5dfeee3e16b8263dba28623f000080bf0400403fc18c493e9831943dd42d37be3d5657bde8c6bf3ed4e862bf7c558bbe8479163f000000006f1b4f3f000080bf902e3a3f753da13d134d7e3c6f3c46be06ab43bd9fb6ab3d936576bfb61e84be7b8e1e3fb52f1cbe6228453f000080bf1c5d343f753d213dc7b3023ef93114be4c5657bdf911203f473e3bbf7f558bbe6c2c003f172dde3de7da5b3f000080bf0400403f30dcf13d4fbd4d3d653c46be7d3fd83299eb8a3e886576bf00000000f0830a3f2e311c3ef1b7533f000080bf0400403f753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf00000000a079163f00000000591b4f3f000080bf902e3a3f00000000be56d73da4362ebe7d3fd8323696063f50c459bf00000000ba98da3e7b19873e946b5d3f000080bf78d1453f753da13d0a4e1a3eb4a806be7d3fd832dd513d3fcd512cbf0000000029a58a3ec052983efc5e6a3f000080bfeca24b3f30dcf13dfb322a3ed3bdcdbd2bab43bdcdc8523f0a6401bfee1e84bea45bc03e1f29143e29566a3f000080bf78d1453f753d213eb02d373ef42db7bd7d3fd8321bf9643f81f9e4be0000000000000000000000000000803f000080bf6074513f753d213ed0c6423ef910a6329c247dbd7a78733f000000003e379ebe9c279e3ec792e33c6d60733f000080bf78d1453f0edc713ebdea433ed9bd4dbd94dbf1bcc183753fa3b86fbea54f23be2c29373eb7e3823ded567b3f000080bfeca24b3fc28c493e41fd413e6f6c623dd01505bdbdb3733f8e6f893ef4e516beca07113ec0b5263d82347d3f000080bfeca24b3fad158d3ecbcc4c3ee1d11634f303d133b6f57f3f3e25913c0000000000000000000000000000803f000080bf6074513f0edc713ebdea433ed9bd4dbdafdbf13cc183753fadb86fbe9a4f233e1c2937be8de382bded567b3f000080bfd445573fc18c493e6a72263e0bbecd3dcedb71bd855b513f2c64013fe2e68cbe3db76f3e7f27143e7a1d763f000080bf78d1453f533da13e97abf93defa8063ed864b5bdb429193ffe512c3f738edebe885aa33eeb51983e825b663f000080bf0400403f0265b53e1a62093e0f32143eb01505bddc722a3f533e3b3fd8e516be2e45cc3dce29de3d84347d3f000080bfeca24b3f0265b53e4d36ae3dca362e3e59247dbdf5c3d93e6fc4593fe1369ebec1e5263eb218873e7c60733f000080bf78d1453fb08cc93e70362e3e6b57d73d7d3fd83219c4593f9096063f0000000000000000000000000000803f000080bf6074513f533da13e3cfd413e936c623dea15053db9b3733f996f893e05e6163ee90711be21b526bd82347d3f000080bfd445573fad158d3e582db73ddb2d373e7d3fd8329f0ced3ed3e8623f0000000000000000000000000000803f000080bf6074513fb08cc93e1972263d733c463e5ddbf1bcc6c6603e9365763ffe4e23be372c463d2a301c3e86b37c3f000080bfeca24b3f5fb4dd3e1a62093e0f32143ebc15053ddc722a3f553e3b3fd5e5163e2745ccbdc629debd84347d3f000080bfd445573f0265b53e1972263d733c463e77dbf13cc4c6603e9365763ffc4e233e322c46bd26301cbe86b37c3f000080bfd445573f5fb4dd3e4d14cbb2cfcc4c3e7d3fd832000000000000803f0000000000000000000000000000803f000080bf6074513f0edcf13e4d36ae3dca362e3e6b247d3df5c3d93e6fc4593fe1369e3ec2e526beb21887be7c60733f000080bf48175d3fb08cc93e97abf93defa8063ee164b53db429193ffe512c3f758ede3e8a5aa3beeb5198be825b663f000080bfbce8623f0265b53e6a72263e0bbecd3ddedb713d835b513f2e64013fe4e68c3e31b76fbe982714be7a1d763f000080bf48175d3f533da13edb31143e5e2eb73d4f56d73d593e393fb6f9e43e0396063f4ec2ffbe25c53ebe4995583f000080bf30ba683f533da13e5745303e2abe4d3dfe64b53db29f5e3fbdb86f3ec68ede3e5160ddbe26e282bdca40663f000080bfbce8623fad158d3ee4ba0c3e61be4d3d859d0b3ecea02e3f1ab96f3eec56313f164535bfab46ccbcdca7343f000080bfa48b6e3fad158d3ed0c6423ed9c05332ae247d3d7a78733f000000003d379e3e9c279ebe8293e3bc6b60733f000080bf48175d3f0ddc713edcaf253ebbf887328ec1f03d7d134f3fd12291bcf172163ffc7816bf00000000d01b4f3f000080bf30ba683f0edc713ec6c1f03d0a11a632c9af253e2679163f00000000b21b4f3f3c074fbf388fe33c496a163f000080bf185d743f0edc713e4d7f303e816c62bd7836ae3d5a555b3f716f89becd72e13e5ffeeebe69b826bdba28623f000080bfbce8623fc08c493e3b62093eb36c62bd04f10c3e15fc2e3f9c6f89bec7c32d3ff62932bf81b2263df188373f000080bfa48b6e3fc18c493e9d96b23d65be4dbd57fc303e0765e53e54b96fbec3e15c3feb0f5cbfd5fa1b3e39b4f93e000080bf8c2e7a3fc28c493efb322a3ed3bdcdbd38ab433dcbc8523f0b6401bfe71e843e995bc0be112914be2c566a3f000080bf48175d3f743d213e0a4e1a3eb4a806be7d3fd832dd513d3fcd512cbf000000000ba58abea25298be065f6a3f000080bfd445573f30dcf13df1f00c3e6f57d7bd7dcccc3d312d303f8d9606bfc4ffff3e377916bf00000000a81b4f3f000080bf30ba683f743d213e103cc63d25becdbda0c0123ef1ecff3e396401bfc70d343fcc2541bf9e26143e7de2233f000080bf185d743f753d213ebd6a623d662eb7bd86362e3ee5828d3ef2f9e4be24c4593f379f5cbf49838d3e10c4d93e000080bf0000803f753d213e30ba3e3df1a806be8cc0123e1b026a3e0c522cbf9e0d343f0f7b49bf5a51983e305a0a3f000080bf8c2e7a3f30dcf13dc5b3023ef63114be8b56573df611203f483e3bbf8d558b3e5d2c00bf3f2cdebdf3da5b3f000080bfbce8623f2edcf13dbe56d73da4362ebe7d3fd8323696063f50c459bf000000006498dabe471987beb26b5d3f000080bf48175d3f753da13d692db73d063214bea756d73d6471e73e573e3bbf13b5023f437d29bf2c27de3d61d63d3f000080bfa48b6e3f30dcf13d6115053dc9362ebe53cccc3d0e5b263e73c459bf73ffff3ed9cf30bf2c18873e5c5e2c3f000080bf185d743f753da13d9b31943dcd2d37beaf56573df4c6bf3ecce862bf9c558b3e847916bf000000006f1b4f3f000080bf30ba683f753da13d4fbd4d3d653c46be7d3fd83299eb8a3e886576bf00000000e0830abf1a311cbefeb7533f000080bfbce8623f753d213d134d7e3c6f3c46be10ab433da2b6ab3d936576bfb91e843e8c8e1ebfa12f1c3e5528453f000080bfa48b6e3f753d213d4d14cbb2cbcc4cbe7d3fd83200000000000080bf00000000a07916bf00000000591b4f3f000080bf30ba683f00000000 - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: -0.000000029802322, y: 0.000000029802322, z: 0.000000007450581} - m_Extent: {x: 0.2, y: 0.2, z: 0.19999999} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1.8829471 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: + m_GameObject: {fileID: 1241623309} + serializedVersion: 4 + m_Mass: 0.01 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: serializedVersion: 2 - offset: 0 - size: 0 - path: ---- !u!1 &535679136 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!135 &1241623316 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + m_Material: {fileID: 13400000, guid: fb001adfa2edbb64887889d74d6fe41e, type: 2} + 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: 3 + m_Radius: 0.12 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1241623317 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a2e88723e4cd77a4690d0637321940aa, type: 2} + - {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, 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 &1241623318 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + m_Mesh: {fileID: 6935877506589290101, guid: 1eef6eb71f126ba4aa31d33bb2f810c5, type: 3} +--- !u!114 &1241623319 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1241623309} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 1241623313} + m_PokeCollider: {fileID: 0} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 0 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 0 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} +--- !u!1 &1243447983 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -4909,232 +5858,157 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 535679137} - - component: {fileID: 535679138} - m_Layer: 0 - m_Name: TransformerEnabled + - component: {fileID: 1243447984} + - component: {fileID: 1243447986} + - component: {fileID: 1243447985} + m_Layer: 8 + m_Name: Plane m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &535679137 + m_IsActive: 1 +--- !u!4 &1243447984 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 535679136} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 1243447983} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1507460097} - m_Father: {fileID: 1192304054} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &535679138 -MonoBehaviour: + - {fileID: 2035264206} + m_Father: {fileID: 2016722928} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &1243447985 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 535679136} + m_GameObject: {fileID: 1243447983} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 0b02258065237248bdd586d9a5633b28 - uniqueName: TransformerEnabled - tags: [] ---- !u!21 &539108941 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Standard - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHAPREMULTIPLY_ON - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - 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_Ints: [] - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 3 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 0.4, g: 0.5882353, b: 1, a: 0.19607843} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] ---- !u!1001 &561255719 -PrefabInstance: + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ab885650ca87af54d8a0e2e50e88b644, 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 &1243447986 +MeshFilter: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 248065651} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, type: 2} - - target: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_Name - value: MagicSphere - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} ---- !u!4 &561255720 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - m_PrefabInstance: {fileID: 561255719} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!1 &561255721 stripped + m_GameObject: {fileID: 1243447983} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1352938875 GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} - m_PrefabInstance: {fileID: 561255719} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!135 &561255722 -SphereCollider: + serializedVersion: 6 + m_Component: + - component: {fileID: 1352938876} + - component: {fileID: 1352938878} + - component: {fileID: 1352938877} + m_Layer: 8 + m_Name: Snap Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1352938876 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 561255721} + m_GameObject: {fileID: 1352938875} + 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: 232339300} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1352938877 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1352938875} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.2 - m_Center: {x: -0.000000029802322, y: 0.000000029802322, z: 0.000000007450581} ---- !u!114 &561255723 + serializedVersion: 3 + m_Size: {x: 1.25, y: 0.6, z: 1.25} + m_Center: {x: 0, y: 0.3, z: 0} +--- !u!114 &1352938878 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 561255721} + m_GameObject: {fileID: 1352938875} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: 87996e81a5026dc429bfd6a9271548b6, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: d67820fd904d9f46873f098e03179ac0 - uniqueName: Sphere - tags: [] ---- !u!1 &576643108 + m_InteractionManager: {fileID: 0} + m_InteractableObject: {fileID: 232339303} + m_SnapCollider: {fileID: 1352938877} + m_DisableSnapColliderWhenSelected: 0 + m_SnapToCollider: {fileID: 0} +--- !u!1 &1359767050 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5142,262 +6016,283 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 576643109} - - component: {fileID: 576643110} + - component: {fileID: 1359767051} + - component: {fileID: 1359767052} m_Layer: 0 - m_Name: Collider (2) + m_Name: Collider (1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &576643109 +--- !u!4 &1359767051 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 576643108} - m_LocalRotation: {x: -0.27059805, y: -0.27059805, z: 0.6532815, w: 0.6532815} - m_LocalPosition: {x: -0.1617, y: 0, z: 0.17999974} + m_GameObject: {fileID: 1359767050} + serializedVersion: 2 + m_LocalRotation: {x: 0.27059805, y: 0.27059805, z: 0.6532815, w: 0.6532815} + m_LocalPosition: {x: 0.1617, y: 0, z: 0.18} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 660021081} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: -45, z: 90} ---- !u!136 &576643110 + m_LocalEulerAnglesHint: {x: 0, y: 45, z: 90} +--- !u!136 &1359767052 CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 576643108} + m_GameObject: {fileID: 1359767050} 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: 2 m_Radius: 0.02 m_Height: 0.2 m_Direction: 1 m_Center: {x: 0, y: 0, z: 0} ---- !u!1001 &586564669 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 813701130} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_Name - value: Podium Teleportation Area - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_Layer - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: - - {fileID: -7511558181221131132, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - m_SourcePrefab: {fileID: 100100000, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} ---- !u!4 &586564670 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - m_PrefabInstance: {fileID: 586564669} - m_PrefabAsset: {fileID: 0} ---- !u!1 &586564671 stripped +--- !u!1 &1364604469 GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} - m_PrefabInstance: {fileID: 586564669} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!114 &586564672 + serializedVersion: 6 + m_Component: + - component: {fileID: 1364604472} + - component: {fileID: 1364604471} + - component: {fileID: 1364604470} + m_Layer: 0 + m_Name: PROCESS_CONFIGURATION + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1364604470 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586564671} + m_GameObject: {fileID: 1364604469} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: 215a8bb6dc630a44299469418bc73e6f, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: b1b2d19d99f7c74a9759a753b5c92766 - uniqueName: Podium Teleportation Area - tags: [] ---- !u!64 &586564674 -MeshCollider: + extensionAssembliesWhitelist: [] + defaultConfettiPrefab: Confetti/Prefabs/MindPortConfettiMachine +--- !u!114 &1364604471 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586564671} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 1364604469} m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2ef5789d95ab46e095b834b7c4789068, type: 3} + m_Name: + m_EditorClassIdentifier: + runtimeConfigurationName: VRBuilder.Core.Configuration.DefaultRuntimeConfiguration, + VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + selectedProcessStreamingAssetsPath: Processes/Demo - Core Features/Demo - Core + Features.json + processStringLocalizationTable: +--- !u!4 &1364604472 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1364604469} + 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!43 &1390574009 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + serializedVersion: 11 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 2532 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 779 + localAABB: + m_Center: {x: 0, y: 0, z: -0.09999999} + m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 0 + m_KeepVertices: 0 + m_KeepIndices: 0 + m_IndexFormat: 0 + m_IndexBuffer: 00000100020003000400050006000700080009000a000b000b000c0009000b000d000c000e000c000d000d000f000e0010000e000f00110010000f001200100011001200110013001400120013001400130015001600140015001600150017001800160017001800170019001a0011000f001b00180019001b0019001c000f001d001a001e001d000f001f001e000f000f0020001f001b001c00210022001b00210023002200210024002300210024002500230021002600240027002800290029002a00270029002b002a0029002c002b002c002d002b002e002a002b002b002f002e002f0030002e00300031002e0032002e00310033003200310033003100340034003500330035003400360037003500360036003800370034003900360034003a00390030003b003c003b003d003c003b003e003d003e003f003d003e0040003f00400041003f0040004200410042004300410042004400430044004500430044004600450046004700450046004800470048004900470048004a00490049004a004b004b004c0049004a004d004b004d004a00480048004e004d0048004f004e0050005100520052005300500052005400530050005300550055005300540054005600550056005700550055005800500055005900580059005a00580059005b005a005b005c005a005c005d005a005c005e005d005e005f005d005e0060005f00600061005f0060006200610062006300610062006400630064003200630065006600670067006600680068006900670066006a0068006a006b0068006b006c0068006b006d006c006b006e006d006e006f006d006f0070006d006f00710070006f00720071007200730071007200740073007400750073007400760075007700760078007800790077007a00780076007a0076007b007b007c007a007d007a007c007d007c007e007e007f007d007d007f008000800081007d0080008200810082008300810082008400830084008500830083008600810086008700810085008800830088008900830085008a0088008a008b0088008b008c0088008b008d008c008d008e008c008e008f008c008d0090008e00900091008e0091009000920093008e0091009100940093009500960097009700980095009800990095009a009900980098009b009a009b009c009a009b009d009c009d009e009c009d009f009e009b00a0009d009b00a100a0009d00a2009f009d00a300a200a200a4009f00a200a500a400a200a600a500a600a700a500a600a800a700a600a900a800a800aa00a700a800ab00aa00ac00aa00ab00ad00a700aa00aa00ae00ad00af00b000b100b100b200af00b200b300af00b200b400b300b400b500b300b400b600b500b700b800b900ba00bb00bc00bd00be00bf00c000c100c200c300c400c500c600c700c800c900ca00cb00cc00cd00ce00cf00d000d100cf00d100d200d200d300cf00d300d200d400d300d400d500d500d400d600d500d600d700d500d700d800d900cf00d300d500d900d300da00d500d800da00d800db00db00dc00da00db00dd00dc00db00de00dd00d500da00df00da00e000df00d500df00e100d500e100d900d900e200cf00cf00e200e300e400e200d900e100e400d900e400e500e200e600e100df00e100e600e400e600df00e700e800e600e700e800e900e600e400e600e900e900e800ea00e900ea00eb00ec00e900eb00e500e400ed00e400e900ed00ec00ed00e900e500ed00ee00ed00ec00ef00ed00ef00ee00f000f100f200f000f300f100f300f000f400f500f300f400f400f000f600f400f600f700f400f800f500f400f700f900fa00f800f400f400f900fa00fa00fb00f800f900fc00fa00fb00fa00fc00f900fd00fc00fe00fb00fc00ff00fe00fc000001ff00fc00fc00fd00010102010001fc000301fc000101fc000301020103010101040105010301040106010201030105010701030106010301070108010601070108010701090109010a0108010b010a0109010b0109010c010d010e010f010d010f01100111010d011001110112010d01110113011201110114011301150113011401160115011401170111011001170114011101180110010f01170110011801160114011901170119011401160119011a0116011a011b01190117011c0119011c011a0118011c0117011c011d011a0118010f011e011e010f011f011e011f01200121011e012001220118011e01210122011e01180123011c012201230118012101240122012301220124012101250124011c0126011d0126011c0123012301240127012601230127012701240128012701280129012a01270129012a01260127012a011d0126012a012b011d012c012d012e012c012e012f0130012c012f01300131012c01300132013101300133013201340133013001340130012f0134013501330136012f012e0134012f01360136012e01370136013701380139013501340139013a0135013b0134013601360138013b013b01390134013b0138013c013d013c0138013d013e013c013c013e013f0140013c013f013b013c0140013b01410139013b014001410140014201410140014301420140013f014301390141014401390144013a014201440141013a01440145013a014501460144014701450142014701440148014701420149014801420142014a0149014b014a0142014b01420143014b0143013f014c014b013f014d014c013f014e014d013f014f014e013f013f0150014f0151015201530153015401510151015401550151015501560151015601570156015501580158015901560158015a0159015a015b0159015a015c015b015d015e015f015f0160015d01600161015d0160016201610160016301620162016301640164016501620165016401660165016601670165016701680165016801690169016a01650169016b016a0169016c016b016b016c016d016e016b016d016d016f016e016f0170016e01700171016e016f0172017001700172017301730174017001730175017401730176017501770178017901770179017a017b0177017a017b017c0177017b017d017c017b017e017d017f017d017e0180017f017e0181017b017a0181017e017b0182017a01790181017a01820180017e018301810183017e01800183018401800184018501830181018601830186018401820186018101860187018401820179018801880179018901880189018a018b0188018a018c01820188018b018c01880182018d0186018c018d0182018b018e018c018d018c018e018b018f018e01860190018701900186018d018d018e01910190018d01910191018e0192019101920193019401910193019401900191019401870190019401950187019601970198019601980199019a01960199019a019b0196019a019c019b019a019d019c019e019d019a019e019a0199019e019f019d01a001990198019e019901a001a0019801a101a001a101a201a3019f019e01a301a4019f01a5019e01a001a001a201a501a501a3019e01a501a201a601a701a601a201a701a801a601a601a801a901a501a601aa01aa01a601a901a501ab01a301a501aa01ab01a301ac01a401a301ab01ac01aa01ad01ab01ad01ac01ab01a401ac01ae01a401ae01af01ac01b001ae01ad01b001ac01aa01a901b101aa01b101ad01b201b001ad01b101b201ad01b201b301b001b101b401b201b401b101a901b401a901b501b601b701b801b901b601b801b801ba01b901bb01b901ba01bb01bc01b901bd01bc01bb01be01bd01bb01bf01be01bb01bb01c001bf01c101bf01c001c001c201c101c301c001bb01ba01c301bb01ba01b801c401b801c501c401ba01c401c601ba01c601c301c301c701c001c001c701c801c901c701c301c601c901c301c901ca01c701cb01c601c401c601cb01c901cb01c401cc01cd01cb01cc01cd01ce01cb01c901cb01ce01c901ce01cf01cf01ca01c901cf01d001ca01d101d201d301d101d301d401d501d101d401d501d601d101d501d701d601d501d801d701d401d901d501d801d501d901d401da01d901da01d401d301d901db01d801d301dc01da01dd01dc01d301dd01d301de01df01d801db01db01e001df01e001e101df01e101e201df01e201e301df01e401df01e301e401e301e501e201e601e301e301e701e501e801e301e601e301e801e701e601e901e801e801ea01e701e901eb01e801e801ec01ea01e801eb01ec01ed01ee01ef01ed01ef01f001ed01f001f101ed01f101f201f101f301f201f101f401f301f001ef01f501f501f601f001f601f101f001ef01f701f501f801f701ef01f801f901f701f601fa01f101f101fa01fb01f101fb01fc01f101fc01fd01f401f101fd01f401fd01fe01fe01ff01f401fe010002ff01fe01010200020202f401ff0100020202ff0102020302f401000204020202000205020402000206020502060200020102010207020602080209020a020a020b0208020b020a020c020c020a020d020e0208020b020e020f0208020f020e021002100211020f0212020e020b02120210020e020b020c02130212020b021302100214021102140215021102140216021502140217021602180217021402180214021902180219021a021a021b0218021a021c021b021d0213020c021d020c021e021d021e021f021d021f022002210213021d0221021d022002210212021302210220022202220223022102220224022302210223022502210225021202120225021002250226021002270228022902270229022a022b0227022a022b022c0227022b022d022c022b022e022d022f022d022e0230022f022e0231022b022a0231022e022b0232022a02290231022a02320230022e023302310233022e02300233023402300234023502330231023602330236023402320236023102360237023402320229023802380229023902380239023a023b0238023a023c02320238023b023c02380232023d0236023c023d0232023b023e023c023d023c023e023b023f023e02360240023702400236023d023d023e02410240023d02410241023e0242024102420243024402410243024402400241024402370240024402450237024602470248024602480249024a024602490249024b024a024c024a024b024c024b024d024c024d024e024f024e024d024f0250024e024e0251024c024e02500252024e025302510253024e025202530254025102530255025402530256025502570256025302530252025802590258025202590252025a02580259025b02530258025c0258025b025c02570253025d0253025c025d0257025d025e025c025e025d025e025f0257025e0260025f02610260025e0261025e0262025e02630262025c0263025e025b0263025c025b0264026302650266026702650267026802650268026902650269026a026a0269026b026a026b026c026d026b02690268026d026902680267026e0267026f026e0268026e027002680270026d026d0271026b026b0271027202730271026d02700273026d02730274027102750270026e0270027502730275026e02760277027502760277027802750273027502780273027802790279027402730279027a0274027b027c027d027b027d027e027b027e027f027b027f0280027f02810280027f02820281027e027d028302830284027e0284027f027e02840285027f027f028502860282027f0286028602870282028702880282028702890288027d028a0283027d028b028a028b027d028c028c027d028d028c028d028e028c028f028b028c028e02900291028f028c028c0290029102910292028f0290029302910292029102930290029402930295029202930293029402960293029702950296029702930296029802970299029a029b029c029a0299029d029a029c029d029e029a029e029d029f029e029f02a0029f02a102a0029f02a202a102a2029f02a3029d02a3029f02a202a302a402a302a502a402a302a602a502a602a302a7029d02a702a302a602a702a802a702a902a802aa02a7029d02aa029d029c02a702aa02a902ab02aa029c02ab02a902aa02ab029c02ac029c029902ac02ab02ad02a902ad02ae02a902af02ad02ab02af02ab02ac02af02b002ad02b102ac029902af02ac02b102b1029902b202b102b202b302b102b302b402af02b102b402af02b402b502b502b002af02b502b602b002b702b802b902ba02b702b902b902bb02ba02bc02ba02bb02bb02b902bd02bb02bd02be02bc02bf02ba02bb02be02c002bb02c002bc02c102bf02bc02c202c102bc02c302c202bc02c002c402bc02bc02c402c302c002c502c402c602c302c402c402c702c602c802c602c702c802c702c902c802c902ca02ca02cb02c802cc02ca02c902cc02cd02ca02ce02cb02ca02ca02cd02cf02ce02ca02cf02d002ce02cf02d102d002cf02cf02d202d102d302d402d502d302d502d602d702d302d602d702d802d302d702d902d802d702da02d902db02d902da02dc02db02da02dd02d702d602dd02da02d702de02d602d502dd02d602de02dc02da02df02dd02df02da02dc02df02e002dc02e002e102df02dd02e202df02e202e002de02e202dd02e202e302e002de02d502e402e402d502e502e402e502e602e702e402e602e802de02e402e702e802e402de02e902e202e802e902de02e702ea02e802e902e802ea02e702eb02ea02e202ec02e302ec02e202e902e902ea02ed02ec02e902ed02ed02ea02ee02ed02ee02ef02f002ed02ef02f002ec02ed02f002e302ec02f002f102e302f202f302f402f202f402f502f202f502f602f202f602f702f702f602f802f702f802f902fa02f802f602f502fa02f602f502f402fb02f402fc02fb02f502fb02fd02f502fd02fa02fe02fd02fb02fe02fa02fd02fb02ff02fe02fe020003fa02fa020103f8020103fa020003f80201030203000303030103040301030303030305030403050306030403060307030403070308030403040308030903040309030a03 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 779 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 37392 + _typelessdata: 77562f3bcecc4cbd0ad723be000000000000803f00000000000000000000803f00000000000080bf0b98ec3e00ab133f54562f3b989919be0ad723be000000000000803f000000000000803f0000000000000000000080bf5005083f5a07023f54562f3bcecc4c3d0ad723be000000000000803f000000000000803f0000000000000000000080bf7325c93ea64e253f6b562fbbcccc4c3d0ad723be000000000000803f00000000000000000000803f000000000000803f3242c73ede5b243f60562fbb9999193e0ad723be000000000000803f00000000000080bf00000000000000000000803f9bcfa33e84ff353f60562fbbcecc4cbd0ad723be000000000000803f00000000000080bf00000000000000000000803fcab4ea3e37b8123fcecc4c3d0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf4247a33ef3efa83e999919be0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf0ae0a63e36e2ef3ececc4cbd0ad723be6d562fbb000000000000803f00000000eea07ebf00000000e8b2d3bd000080bfa613a53e1469cc3e235b21be235b213e37b088bb54e524bf496a423f4a4bbbbdb877acbcc9b6d03d2f9c7e3f000080bfdd683c3e6d37253f0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd1663ecbbcb97c73d50c67e3f000080bfb6443c3eeff3253f0ad723be78c31f3e000000001b807dbff0b80d3e248888bcec4b3bbb5386cb3d50bb7e3f000080bf6085403ef8ec253f27731ebe0ad7233e639e83bbf8b9babecaff6d3f341754bdaf66afbb69335b3d25a17f3f000080bfa2a73c3ec05a243fa7081fbe0ad7233e00000000b1527bbd08827f3f2bbb0ebce17549bb5be70b3c4efd7f3f000080bf6aab403e6f80243f999919be0ad7233e74562fbb000000000000803f000000006f0b473c000000002afb7f3f000080bfd4fe3d3e753b233f672c1d3e0ad7233e00000000668ee83d1c587e3f000000002639873c8047f7baf4f67f3f000080bf6aab403eb228b63ecccc4cbd0ad7233e74562fbb000000000000803f000000004015473c000000002afb7f3f000080bfd4fe3d3e91740b3fcbcc4c3d0ad7233e74562fbb000000000000803f000000005ce4463c000000002cfb7f3f000080bfd4fe3d3e5a5be73e07d723bd0ad7233e0e77b4bb000000000000803f000000009424473c000000002afb7f3f000080bf342a3b3ec811093f06d7233d0ad7233e0e77b4bb000000000000803f000000004202473c000000002afb7f3f000080bf342a3b3e8b18ec3e54b0d0bc0ad7233e3ae719bc000000000000803f00000000610c473c000000002afb7f3f000080bfd247373ec59a053f54b0d03c0ad7233e3ae719bc000000000000803f00000000a833473c0000000028fb7f3f000080bfd247373e11fbf23e2de719bc0ad7233e5cb0d0bc000000000000803f000000005c17473c000000002afb7f3f000080bffc34273e07bc013f23e7193c0ad7233e5cb0d0bc000000000000803f000000003814473c000000002afb7f3f000080bffc34273ef888fa3efd76b4bb0ad7233e07d723bd000000000000803f00000000e20b473c000000002afb7f3f000080bf49b0183ebdc4003ff376b43b0ad7233e07d723bd000000000000803f000000000b0c473c000000002afb7f3f000080bf49b0183e934cfc3e9999193e0ad7233e74562fbb000000000000803f0000000010f6463c000000002cfb7f3f000080bfd4fe3d3e92cdb73e66562fbb0ad7233ececc4cbd000000000000803f00000000f510473c000000002afb7f3f000080bf80b10e3ef810003f59562f3b0ad7233ececc4cbd000000000000803f000000008c16473c000000002afb7f3f000080bf80b10e3e8896fd3e672c1d3e0ad7233eb01a70bbee55fd3e5f775e3f00000000a6048b3ced4e1ebc81f37f3f000080bff5013d3e4723b63ef558203ef558203e62d46dbb67733d3fec2c2c3f000000004cff9a3c8a8caabc11e67f3f000080bf3eea3c3e1531b53e0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f00000000f9b77d3c3159bdbca3e67f3f000080bfd5ec3c3ec126b43e0ad7233e2b811c3e00000000b2887d3f46ca0d3e00000000f9d7523b0b81bcbc4fee7f3f000080bff666403ee62bb43e74562f3b0ad7233e989919be000000000000803f000000008615473c000000002afb7f3f000080bfb0f62a3d9a02fd3e66562fbb0ad7233e999919be000000000000803f00000000b421473c000000002afb7f3f000080bfb0f62a3d018eff3e9e7289bb0ad7233ed4171fbed13ca5bc263d7e3f793aecbdf7aad0bd5ddde63d03077d3f000080bf3484153d801f003f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bea064d2bcfa47e53e4acd643f000080bf20c7123d2461fe3e24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf4d974fbe9069333f16152f3f000080bf880f113d9034003fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9be291402bcdf1ae93e72eb633f000080bfb000113d2319fc3e6fe889bbdb6c213edb6c21be72ac91bd2c0f233f828244bfb02a173fe1e417bfb60b0cbf000080bfad8fa03e0713373f24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf9421163f3dca0dbf414d17bf000080bf1209a03ee451373f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bebe721b3f03ccaabed89a38bf000080bfb61ca13ee22f383f606284bbca881e3e0ad723bef1d71abdc954ad3e81b070bfc0a02c3f968a2fbf1d4c8cbe000080bf169fa13e329b363fdb078d3b0a7d1f3e0ad723bee4b63fbd7e9bd63efb1d68bf58fe293f5b402abf81f5aebe000080bf1a3ca43edc3f383fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9bef9371b3f24bcadbeaa1c38bf000080bf79cda23e4d09393f33d2913bcddf213eccdf21bebebb91bd1f0f233f5f8244bf554b173f15d017bf03ff0bbf000080bfe175a33eb3af383f60562fbb9999193e0ad723be0000000000000000000080bf0f96343f947335bf00000000000080bf9bcfa33e84ff353f77562f3b9999193e0ad723be0000000000000000000080bf0a96343f987335bf00000000000080bfdcb2a53e4df2363f54562f3bcecc4c3d0ad723be0000000000000000000080bf8495343f207435bf00000000000080bf7325c93ea64e253f54562f3b989919be0ad723be0000000000000000000080bf1596343f8f7335bf00000000000080bf5005083f5a07023f60562fbbcecc4cbd0ad723be0000000000000000000080bfdf95343fc27335bf00000000000080bfcab4ea3e37b8123f6b562fbb999919be0ad723be0000000000000000000080bf1396343f917335bf00000000000080bfb013073f9114013f5062843bc9881ebe0ad723be76a3293d53e4bdbe68816dbfa2622c3fc4f52cbf48ad993e000080bf931d093fac6b013fc3078dbb097d1fbe0ad723be97b1233d003db7be22d36ebf019d2a3f67a32fbf4860953e000080bf11cf073f058eff3e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2bedbaa1b3f9690a8becbee383f000080bfb45e093fd9adff3e1cd291bbcddf21beccdf21be1eab913d010f23bfaa8244bf542b173faee417bf3b0b0c3f000080bf2e32083f56aefe3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894befac2233fc56953bebc893d3f000080bf6286083f22fbfd3e05678b3bb9e522be073320be14319f3dda5928bff7d33fbfe4b2163fe38913bf511d113f000080bf92e8093ffdb4003f65e8893bda6c21bedb6c21be37c3913dec0e23bf738244bff001173fbffc17bfc51d0c3f000080bf48a5093fd7f3003feb76b43b0ad7233d0ad723be0000000000000000000080bf9095343f117435bf00000000000080bfaab0cd3e940b243f77562f3bcecc4cbd0ad723be0000000000000000000080bff695343fac7335bf00000000000080bf0b98ec3e00ab133f1877b43b06d723bd0ad723be0000000000000000000080bfff95343fa47335bf00000000000080bf570cea3e0fef153f21e7193c57b0d03c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bfbf35d43efe2b223f3ae7193c5cb0d0bc0ad723be0000000000000000000080bfb295343ff17335bf00000000000080bf3345e63e4c2f193f54b0d03c2de7193c0ad723be0000000000000000000080bffc95343fa87335bf00000000000080bf6495df3e792f223f5cb0d03c3ae719bc0ad723be0000000000000000000080bfea95343fb87335bf00000000000080bf3d3ee63e1fdf1e3f04d7233d0677b43b0ad723be0000000000000000000080bf1096343f927335bf00000000000080bfde15e63e0b13243f07d7233d0e77b4bb0ad723be0000000000000000000080bf1f96343f837335bf00000000000080bf68fde93ea821223fcbcc4c3d6b562f3b0ad723be0000000000000000000080bfdf95343fc47335bf00000000000080bffc9dea3ee558253fcecc4c3d6d562fbb0ad723be0000000000000000000080bfc195343fe17335bf00000000000080bf8e83ec3e4567243f9899193e60562f3b0ad723be0000000000000000000080bfd795343fcb7335bf00000000000080bfa4f2063f3012373f9999193e77562fbb0ad723be0000000000000000000080bfb195343ff17335bf00000000000080bf6de5073f9020363fd18d1d3e2600773b0ad723beb7e1e93ece0f503db15b63bfdca62a3f9d3d2ebfe19d9b3e000080bf646f073fc4f2373f87751d3e0e4875bb0ad723be3a6ddc3eba1d71bd969166bf2ba1273fc9992abf7e8eb63e000080bf08c0083f5e9b363faefb1d3e151886320ad723be3103293f320a38bca44140bf50c3093fcac130bf8f80f73e000080bf522d083f985b373f0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf0ab9cc3efb980cbf87db3b3f000080bf6ad9093f19b6373f72a5203e465c78bb71a520be9f2e343f45c2c4bd8c2e34bf18e10c3f96830dbf3732203f000080bfb64e093f7726373f0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be539f063e7a0527bf86113f3f000080bf992f093f1b5f383f0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bfc4c9e23e9e9e1fbf1dec243f000080bf9784083f4c09393fbeb1203ef00d7a3bc0b120be1576343f51bba03df17534bf7216193f2ba719bf38fb073f000080bfc2f7073f0580383fd38d1dbe530077bb0ad723bec716ddbeacae44bd319366bf78dc2c3f9ae32dbf5f3593be000080bf75fba43e1914003fc1b120be1b0e7abbc1b120bead7734bf7bd69fbd877734bf6202193ff8b819bfaffd07bf000080bfb8eaa33eb10dff3e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bfd880df3e79ea1fbf16c125bf000080bf0ed1a23e23fbfd3eb1fb1dbe151886320ad723beb5f228bf1aefd13bd55340bfbe4c0a3f5add30bf11fef5be000080bf967fa33e46ab003f0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33be9708063e5ae926bfb7303fbf000080bf0a7ba13e864fff3e8b751dbe2048753b0ad723be68ece6beab987c3debef63bf3d57253f187d2abfa31fbfbe000080bf2c5aa23e806b013f0ad723be0f48753b89751dbee0e058bfe968933d87c206bf526cd03eab7b0cbf76ec3abf000080bf6827a03ec450003f73a520be555c783b72a520be092e34bf820fc53dd42d34bfb3e80c3ff26d0dbfa43e20bf000080bfd03ca13e67e0003f999919be6d562fbb0ad723be0000000000000000000080bf2796343f7c7335bf00000000000080bff4f4a53eadf4003f999919be6b562f3b0ad723be0000000000000000000080bf1896343f8b7335bf00000000000080bf620fa43e4ee6013fcccc4cbd77562fbb0ad723be0000000000000000000080bfdf95343fc37335bf00000000000080bf413cc93ef9ad123fcecc4cbd60562f3b0ad723be0000000000000000000080bfd595343fcd7335bf00000000000080bfaf56c73e999f133f09d723bdfd76b43b0ad723be0000000000000000000080bfd095343fd17335bf00000000000080bfd4dcc93e35e5153f05d723bd1877b4bb0ad723be0000000000000000000080bfe895343fba7335bf00000000000080bf5fc4cd3ed3f3133f57b0d0bc2de7193c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bf009ccd3ec027193f54b0d0bc3ae719bc0ad723be0000000000000000000080bf0996343f9a7335bf00000000000080bfd844d43e65d7153f2de719bc54b0d03c0ad723be0000000000000000000080bfbf95343fe27335bf00000000000080bf0a95cd3e92d71e3f2be719bc5cb0d0bc0ad723be0000000000000000000080bf1d96343f857335bf00000000000080bf7da4df3ee0da153f0677b4bb05d7233d0ad723be0000000000000000000080bff195343fb27335bf00000000000080bfe6cdc93ecf17223ff576b4bb0ad723bd0ad723be0000000000000000000080bf3596343f6e7335bf00000000000080bf9229e63e4afb133f6b562fbbcccc4c3d0ad723be0000000000000000000080bffc95343fa77335bf00000000000080bf3242c73ede5b243f05678b3bb9e522be073320be14319f3dda5928bff7d33fbfae3e06bf5bbd1c3f8f7b17bf000080bf74ebf03efcd3b83e5572893b0ad723becd171fbe824ea53cc53c7ebf4154ecbdbec494be8e3ed63d997c73bf000080bf575df03e802cb93e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2be03d390bda132e13e993165bf000080bffec6f03e5290ba3e60562fbb0ad723be989919be00000000000080bf000000000000000000000000000080bf000080bf15cfed3e7b9cbb3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894be7e2809bc9368943e130075bf000080bfce15f13e5743bc3e5d562f3b0ad723be999919be00000000000080bf000000000000000000000000000080bf000080bf74b6ed3e90b6b93e6d562f3b0ad723becbcc4cbd00000000000080bf000000000000000000000000000080bf000080bf2ec4bb3e97b8b93e6b562fbb0ad723bececc4cbd00000000000080bf000000000000000000000000000080bf000080bfd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd00000000000080bf000000000000000000000000000080bf000080bf3aebb63ee39fbc3e0677b43b0ad723be07d723bd00000000000080bf000000000000000000000000000080bf000080bf84b8b63ea0b7b83e38e7193c0ad723be54b0d0bc00000000000080bf000000000000000000000000000080bf000080bf6265af3e0357b73e2de719bc0ad723be5cb0d0bc00000000000080bf000000000000000000000000000080bf000080bfe1bbaf3e1601be3e57b0d0bc0ad723be38e719bc00000000000080bf000000000000000000000000000080bf000080bfbafda73ec4b5c33e5cb0d03c0ad723be23e719bc00000000000080bf000000000000000000000000000080bf000080bf2913a73efda2b13e0ad723bd0ad723be0677b4bb00000000000080bf000000000000000000000000000080bf000080bfb54fa63ee8dcc83e06d7233d0ad723befd76b4bb00000000000080bf000000000000000000000000000080bf000080bf65dfa43e027cac3ececc4cbd0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfa613a53e1469cc3ececc4c3d0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf4247a33ef3efa83e999919be0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf0ae0a63e36e2ef3e6c2c1dbe0ad723be00000000835d95bd77517fbf000000000000000000000000000080bf000080bf059aa53e2c1ff13e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf000000000000000000000000000080bf000080bf786ea73e191ff13e9e081f3e0ad723be000000004e4f0f3ef56d7dbfc2c5a2bc334405bd13467d3c77d57fbf000080bf5a0ca03e0195833e9899193e0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfde7aa13ed376853e20731e3e0ad723be1d9e83bb38bbba3e88ff6dbfde1754bd256915bd022d293d6d9c7fbf000080bf8e10a23eb6c8833e0ad7233e71c31fbe00000000ba917f3f18cf6bbd5f2be3bb56c7a4bb5dca073d25db7fbf000080bf1209a03e7d83803e1e5b213e205b21befaaf88bb5ae5243f446a42bfac4bbbbd7eac84bd4e0e853d96eb7ebf000080bf7022a23e0dec813e0ad7233ebd3d1fbe37ca8abbf27e733f32ed9cbe5b2d17bd2a47eabc8246013d88c47fbf000080bffc28a23e6055803e0ad7233e999919be77562fbb0000803f00000000000000000000000000000000000080bf000080bfde7aa13e78c87c3e0ad7233e2b811c3e00000000b2887d3f46ca0d3e000000000000000000000000000080bf000080bf0297a53e08111d3d0ad7233ececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bf4247a33e0647363e0ad7233ecccc4c3d77562fbb0000803f00000000000000000000000000000000000080bf000080bfa613a53e248bdf3d0ad7233e07d723bd0e77b4bb0000803f00000000000000000000000000000000000080bf000080bf65dfa43ef6392f3e0ad7233e5cb0d0bc3ae719bc0000803f00000000000000000000000000000000000080bf000080bf2913a73e12fc243e0ad7233e9999193e6d562fbb0000803f00000000000000000000000000000000000080bf000080bf0ae0a63e7810253d0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f000000000000000000000000000080bf000080bfce53a73e74101d3d0ad7233e54b0d03c3ae719bc0000803f00000000000000000000000000000000000080bf000080bfbafda73efb0f013e0ad7233e05d7233d1877b4bb0000803f00000000000000000000000000000000000080bf000080bfb54fa63ecca4ed3d0ad7233e3ae719bc5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bf6265af3edaa4193e0ad7233e1877b4bb06d723bd0000803f00000000000000000000000000000000000080bf000080bf84b8b63ed4e6163e0ad7233e2de7193c5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bfe1bbaf3ee5650c3e0ad7233e77562fbbcecc4cbd0000803f00000000000000000000000000000000000080bf000080bf2ec4bb3e46e7143e0ad7233e60562f3bcecc4cbd0000803f00000000000000000000000000000000000080bf000080bfd1dcbb3e7921113e0ad7233efd76b43b07d723bd0000803f00000000000000000000000000000000000080bf000080bf3aebb63ebc220f3e0ad7233e6d562fbb989919be0000803f00000000000000000000000000000000000080bf000080bf72b6ed3e36e3143e0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be6f1c33be00000000b00d7cbf000080bf12e6ef3e2200133e0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf100e04bfae492e3d6d0a5bbf000080bf6893ef3eb1a3153e0ad7233e6b562f3b999919be0000803f00000000000000000000000000000000000080bf000080bf16cfed3e681d113e0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bf567506bffd9315bd3fa559bf000080bfd6c1ef3ee257103ef85820bef75820be9ed46dbb78733dbfdc2c2cbf0000000075cb01bd75d10e3d39b77f3f000080bf789b2d3faae97e3e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf0000000022701fbd188fb53c39be7f3f000080bf018c2d3f73c1813e6c2c1dbe0ad723be00000000835d95bd77517fbf00000000268f0bbd094a233bbed97f3f000080bf02762e3f87d7813e0ad723be2e811cbe00000000a6cd7fbfe58620bd00000000ea5f03bb3459513d37aa7f3f000080bfd6912e3f98057a3e0ad723be2e811cbe52fb63bb4efc5ebfc680fbbe000000009abacdbcd366363d4daa7f3f000080bfa5b32d3fa9db793e0ad723be989919be59562fbb000080bf0000000000000000000000006ea7873d13707f3f000080bff4e62d3f3fe2773e0ad723be78c31f3e000000001b807dbff0b80d3e248888bc262bf2bb21c4893dc2697f3f000080bfd6912e3fd87ff73c0ad723bececc4cbd6d562fbb000080bf00000000000000000000000096a5873d17707f3f000080bff4e62d3f16f3303e0ad723bececc4c3d59562fbb000080bf000000000000000000000000a2ab873d0b707f3f000080bff4e62d3fd407d43d0ad723be0ad723bd0677b4bb000080bf000000000000000000000000e6a2873d1d707f3f000080bf13322d3f09b9293e0ad723be5cb0d0bc36e719bc000080bf0000000000000000000000001da6873d17707f3f000080bfdc392c3f853c1f3e0ad723be9999193e6d562fbb000080bf000000000000000000000000bfa5873d17707f3f000080bff4e62d3f00530c3d0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd50cb80bc370a923d0c517f3f000080bf4e832d3f60ccf83c0ad723be57b0d03c23e719bc000080bf0000000000000000000000002ea4873d1b707f3f000080bfdc392c3f0e31f63d0ad723be09d7233df376b4bb000080bf0000000000000000000000006c0f873d56717f3f000080bf13322d3f68f3e13d0ad723be36e719bc5cb0d0bc000080bf0000000000000000000000005ca5873d17707f3f000080bfbb36283f7712133e0ad723be0677b4bb0ad723bd000080bf000000000000000000000000bba5873d17707f3f000080bffc96243fafa10f3e0ad723be2de7193c54b0d0bc000080bf00000000000000000000000031bd873de56f7f3f000080bfbc36283fe6be053e0ad723be6d562fbbcecc4cbd000080bf0000000000000000000000005fa5873d17707f3f000080bf4518223fe4260d3e0ad723be66562f3bcbcc4cbd000080bf00000000000000000000000025a5873d19707f3f000080bf4518223f385b093e0ad723befd76b43b06d723bd000080bf000000000000000000000000cc95873d39707f3f000080bffc96243f82d1073e0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33bed3bd32bef7d88a3dbe787b3f000080bfbe13083f0f58063e0ad723be60562f3b989919be000080bf00000000000000000000000003a6873d17707f3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbee0e058bfe968933d87c206bf083304bf7cb8f83d3602593f000080bf6e34083f97b6033e0ad723be74562fbb999919be000080bf0000000000000000000000009fa5873d17707f3f000080bf2425093f8071083e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bf0f8d05bf1e602d3d77225a3f000080bf832e083f8609093ea7081fbe0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e203a963b0ad723be78c31f3e0000000000000000000000000000803f000000000000803f00000000000080bf670b9e3e000000000ad723be2e811cbe0000000000000000000000000000803f000000000000803f00000000000080bf0048e53b000000006c2c1dbe0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf00000000a05fd03b672c1d3e0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e91c79c3e9e081f3e0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf0000000025b09d3e0ad7233e2b811c3e0000000000000000000000000000803f000000000000803f00000000000080bfef739c3e1209a03e0ad7233e71c31fbe0000000000000000000000000000803f000000000000803f00000000000080bf40d77e3b1209a03ecbcc4c3d6b562f3b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803fde755b3e12efe43e04d7233d0677b43b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f53b35b3e9666e03e54b0d03c2de7193c0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f8a0e5c3e91e5d93e57b0d0bc2de7193c0ad723be00000000000000000000803ff3672e3f3f663bbf000000000000803f03f3863e79973b3f09d723bdfd76b43b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fd1488a3e90c9383fcecc4cbd60562f3b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fce9c8c3e8dd5363f0ad723be57b0d03c23e719bc0000803f000000000000000000000000000000000000803f0000803fb837793f62e9d53e0ad723be09d7233df376b4bb0000803f000000000000000000000000000000000000803f0000803f3ca6763f69c6d03e0ad723bececc4c3d59562fbb0000803f000000000000000000000000000000000000803f0000803f96e1743f1c3dcd3e6b562fbb0ad723bececc4cbd000000000000803f000000000000000000000000000080bf0000803fd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd000000000000803f000000000000000000000000000080bf0000803f3aebb63ee39fbc3e2de719bc0ad723be5cb0d0bc000000000000803f000000000000000000000000000080bf0000803fe1bbaf3e1601be3ecccc4cbd77562fbb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803fe199563fb2edf83e05d723bd1877b4bb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803f3623583f47e5f53e54b0d0bc3ae719bc0ad723be00000000000000000000803fa02f8cbea337763f000000000000803f28625a3f0c78f13e0ad723bececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bff2f8773f3ae3fb3e0ad723be0ad723bd0677b4bb0000803f00000000000000000000000000000000000080bf000080bf5dd6793f588ef83e0ad723be5cb0d0bc36e719bc0000803f00000000000000000000000000000000000080bf000080bfd48b7c3f81b7f33e38e7193c0ad723be54b0d0bc000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803fe4026f3f2cfa5e3c0677b43b0ad723be07d723bd000000000000803f0000000046ec7f3f00000000b4fcc8bc0000803f7b9f6e3ff6f4e33c6d562f3b0ad723becbcc4cbd000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803ff7536e3fd7151a3d5cb0d03c3ae719bc0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803fd429753f5968603f07d7233d0e77b4bb0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803ff5c3723fc6845d3fcecc4c3d6d562fbb0ad723be00000000000000000000803ff3b4acbefbfe703f000000000000803f9e1b713f01855b3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3e96198f3e264199be648c69bf000080bfd0dbaf3e1cbcff3d0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fd0d0993e781301bff0444fbf000080bfe1bbaf3ee5650c3e0ad7233efd76b43b07d723bdc1fb813e458c6ebf10c5843e9f71553e6e1c56be949674bf000080bf3aebb63ebc220f3e0ad7233e60562f3bcecc4cbd3a4b843efd3c77bfab21ba3c0cf7a03debf61ebb11357fbf000080bfd1dcbb3e7921113e992a333e4fe2da3bcfcc4cbd88f80f3f9c8053bfb5b20a3d13e0203dafe468bccfc67fbf000080bf58aabb3e53b0033e0ad7233e6b562f3b999919be9053843e8f4c77bf484fa2bbf0f498bd489d73bcb4417fbf000080bf16cfed3e681d113e992a333e4fe2da3b989919bef1ed0f3f2b8753bf9aae0bbdfb0f22bdae826a3cf7c57fbf000080bf9c9ced3e43ac033e0ad7233e1300773bd08d1dbea8467f3e7a896ebf6d1a87be414759be9d6b5a3e7d2374bf000080bfd6c1ef3ee257103ebeb1203ef00d7a3bc0b120be0ba6723e94dc71bf5ad467befe863cbe9c953d3eab1e77bf000080bf5158f13e497d123ed18d1d3e2600773b0ad723be7ca8823e80686ebf691c85be8a2b50bec243583efac074bf000080bf02eff23e90b2143eb9f5453e9911cd3ccfcc4cbd6a2e5e3f064afdbeed41383d3084b13c4f2358bd49957fbf000080bf58aabb3ec874d33d9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe5fc29bbee90ab33e38d762bf000080bf9eb0f93e1ab0ff3d9899193e60562f3b0ad723be4fa6a83ceb3f77bfcd4c84beeebb66bee2417d3e1e3f71bf000080bfc0fbf23e3b35183e9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbfb2b77fbe8ab1093f3f214ebf000080bfee87fa3edb61153ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf3be980be69360d3fc4914bbf000080bf5254fc3e1d545c3ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584bee0be7ebed1c4833ecc096fbf000080bf24c8f43e7c275f3ec9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5bebef7a3be929a903e247d67bf000080bf9eb0f93e3c22db3d9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebfcc0012bf19a4123f75b716bf000080bf1d30003fb076ed3db9f5453e9711cd3c989919be6a2e5e3f064afdbeeb4138bda5dab2bc03f8563d0a967fbf000080bf9c9ced3eac6cd33dc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e08e4a33e1dbd90be3c7b67bf000080bfd0dbaf3e402edb3d9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd790c3f26db05bf04fd26bf000080bf2ea3a93ecc84ed3dcbcc4c3ececc4c3dcbcc4cbd7e487f3fa09758bda697583de3133f3d4600e7bdf9157ebf000080bf8afebb3e7cc5a63db9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3eee81f03ef48e7fbe6fc758bf000080bfeba4af3eee41b03dcbcc4c3ecccc4c3d989919be7e487f3fa39758bd9e9758bdeb2b3fbd0334e63dcc187ebf000080bfcdf0ed3e5cbda63db9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe188af0be002d7f3e62cc58bf000080bfee87fa3ec035b03db9f5453e9899193e992a33be6a2e5e3fea41383d064afdbebd6ff8be4e7a943e852c53bf000080bf5254fc3e70cb8c3ccbcc4c3e9999193e999919be7e487f3fa297583d9f9758bd1d4378bd9a19213ede557cbf000080bf32bdef3ec0d34d3cc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be18740abf05937b3e7cf04dbf000080bf2d59fc3ec006ab3bb9f5453e982a333e989919be692e5e3f064afd3ef04138bde24223bed73e443ee1ea77bf000080bfe44ef03e00000000b9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d8f86233eccb844be0de277bf000080bfa15cbe3e00408237cbcc4c3e9999193ecbcc4cbd7e487f3fa397583da397583d575a783d4b9c21be8e507cbf000080bfedcabd3eb0144e3cb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e3869f83e17b594be192453bf000080bf4f71b13e30fc8c3cc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e327c0a3fd00c7cbebae14dbf000080bf5e84b23e00c7ab3b9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd9e29bf1d373fbfd636633d000080bf05e1d83e2a523b3f0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fac9029bf366110bf307efcbe000080bfd0b3e33e16d43a3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3ead4e1ebf2fc829bf21dcd7be000080bfc272dd3e4c09393f0ad7233e54b0d03c3ae719bcdb87753e013e0bbf0ddd4d3fa1b133bfa25a2bbfba4879be000080bffc03de3e00ac3d3f992a333ececc4c3d60e2dabbbe09113f0c62f7bcf6ce523fe5a01cbf87502fbf56aaca3e000080bfbe0cd03ea65c3f3f0ad7233e05d7233d1877b4bb5bf4783ec51c82be4aa56f3f20ff34bf8a0735bf74c308bc000080bf05e1d83e7c3d403fc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e9a2e15bfb1992abfc920ee3e000080bf474fd43e4c09393fb9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3e2999cfbe92b523bf2937273f000080bf408fc93ee71d3c3f0ad7233ecccc4c3d77562fbb6451843eec474cbc6948773f29352fbf4c4235bfe424323e000080bfb857d53e2202423fb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e974bc8be16460dbfcf8a3c3f000080bf4932a63e63cc4d3f992a333e9899193e60e2dabb8bf80f3fb7b20a3d9c80533f604f21bf322221bf5cd1e83e000080bfc6afac3e220b513f0ad7233e9999193e6d562fbb154d843eccb3a53c6140773fd69233bf1ef92ebf3cd54e3e000080bfc0fab13e9fb0533f9c15323e9c15323e40c057bcf473ef3e2e75ef3eb801403fe7c407bff3c407bf0b52293f000080bfd09aa43e4575553fc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53ea47b86bee772c1be3e49633f000080bf1309a03e662c533f0ad7233e2b811c3e1cfb63bb9c467f3e7c1a873e7a896e3f54ae28bfe3ad28bfcbcbb93e000080bff6f9b03e0331543ff558203ef558203e62d46dbb0e14833e4ead833eb38c6e3f1bae28bf1bae28bfd0cbb93e000080bffcdab03e4575553f672c1d3e0ad7233eb01a70bb731a873eb6467f3e78896e3f16ae28bf1fae28bfd0cbb93e000080bfd4beb03ef59b563f9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53ea572c1bed47b86be4449633f000080bf1409a03e23be573f9999193e0ad7233e74562fbb0595a73cf64c843e1440773f98f92ebf8e8f33bf63fc4e3e000080bfc0fab13eeb39573f9899193e982a333e60e2dabbb0b20a3d8bf80f3f9c80533f2d2221bf644f21bf5dd1e83e000080bfc8afac3e68df593f9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e0d460dbfa44bc8bed38a3c3f000080bf4932a63e271e5d3fcbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e3ec018bf664dd7be3bf82e3f000080bf408fc93ea2cc6e3fcbcc4c3d0ad7233e74562fbbc3474cbc6a51843e6748773f754235bf01352fbfc524323e000080bfb857d53e67e8683fcbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533fa80933bffd0a1abfd681c53e000080bfbf0cd03ee48d6b3f06d7233d0ad7233e0e77b4bb2ea785bee218813e838b6e3faaf434bf341335bf170dd9bb000080bf04e1d83e0dad6a3f78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403f214e52bfd57411bf551344bd000080bf05e1d83e5f986f3f54b0d03c0ad7233e3ae719bc485413bfc979733efe4f483f618926bfb38136bfcf0e86be000080bffc03de3e893e6d3f23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f89cf0abf9fbb2bbf178501bf000080bfd0b3e33e7316703f20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e1f4827bf200b20bfd787dabe000080bfc272dd3e3ee1713fb9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe216dc7bce0a77d3fdbfe07be000080bfaebd143f1ce32e3fc9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5be22b5693e5b965f3f1748dcbe000080bf10c30e3f7882303f9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebf6c3cb83b2be3633fc03fe9be000080bf10c30e3f99bd333f992a333ececc4c3db9f545be064afd3eeb4138bd6a2e5ebff60f25bdec137f3f0dd098bd000080bfaebd143ff679333f992a333e9899193eb9f545be064afd3eea41383d6a2e5ebf8a10253dec137f3f36d0983d000080bf18bf2d3ff679333fb9f5453e9899193e992a33be6a2e5e3fea41383d064afdbed76cc73ce0a77d3fc9fe073e000080bf18bf2d3f1ce32e3fc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be67a913be3558533fa1aa0b3f000080bfb6b9333f7882303f9c15323e9c15323ec9503fbe5125d53e5725d53e55ee4ebf7e53863c48ac623ff1cded3e000080bfb6b9333f9abd333f9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be40faf5bd7fb3003f57265b3f000080bfd7f4363f9abd333f9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea2a349bcf1c5fd3ebc515e3f000080bf3394383f37b8393f9899193e9999193ecbcc4cbe9e97583da297583d7e487fbf42558b3baea27f3f93d0593d000080bf18bf2d3f37b8393f9999193ececc4c3dcbcc4cbe9f97583d9e9758bd7e487fbf17528bbbaea27f3f89d059bd000080bfaebd143f37b8393f9899193e982a333eb9f545bef241383d064afd3e692e5ebf0000000034685e3f328bfd3e000080bf59fd333f37b8393fcfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf75fc7d3b496d5e3f6177fd3e000080bf59fd333fa1b9523fcfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf3394383fa1b9523fcbcc4c3d9999193ecbcc4cbea39758bd9f97583d7e487fbf7e5a8bbbaea27f3f9ad0593d000080bf18bf2d3fa2b9523f80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf14a6923dd8b9663f20c6da3e000080bfb6b9333f3fb4583f9899193e9911cd3cb9f545beed41383d064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bf6c7f0e3f37b8393f9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe8f7fce3d8f580e3f5d3453bf000080bfef870b3f99bd333f9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbf8babd23bb918103f869653bf000080bf92e8093f37b8393fcbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf83abd2bbb618103f879653bf000080bf92e8093fa1b9523fcbcc4c3d9711cd3cb9f545beea4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf6c7f0e3fa1b9523fcbcc4c3dcccc4c3dcbcc4cbea09758bda39758bd7e487fbf355c8b3baea27f3f9fd059bd000080bfaebd143fa2b9523f78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebfde34b8bb29e3633fc73fe9be000080bf10c30e3f3fb4583f78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfbfd58fbd61b6153f09e14ebf000080bfef870b3f3fb4583fa011cd3c9899193eb9f545be064afdbefa41383d692e5ebfeb0f25bdec137f3f15d0983d000080bf18bf2d3fe2f7583f9811cd3ccecc4c3db9f545be064afdbed54138bd6a2e5ebf3a10253dec137f3f14d098bd000080bfaebd143fe2f7583f20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf96ce34bec96f623fd614ddbe000080bf10c30e3f60ef5b3f40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfceb32e3deefd7d3f38a6f0bd000080bfaebd143fbd8e5d3f60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf7fa425bd36f77d3f9900f43d000080bf18bf2d3fbc8e5d3f40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe444d763e55ec593f9ec7ee3e000080bfb6b9333f60ef5b3fb9f5453e982a333e989919be692e5e3f064afd3ef04138bd2bb866bdf67e403eaf057b3f000080bfd0322d3d1209a03ec9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be3bfd063eeba80f3fbb2f513f000080bf30e39a3c7425a33e9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be089229bd67cff23ed521613f000080bf08bf9e3ca24aa73e992a333eb9f5453e989919be104afd3e672e5e3ffb4138bd39edaebd47f0cc3d57c67d3f000080bf58f02f3d5ceca53e992a333eb9f5453ecfcc4cbd0e4afd3e672e5e3ffa41383d7ce9ed3d684ef0bd797c7c3f000080bfe9ef0f3e4a80a63eb9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d4581a03d673567beaa94783f000080bf86400f3e009da03ec9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e35a2dabd7a7c17bf038d4c3f000080bfa11c273e2200a43e9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53eb6a4923dc49ef8be550a5f3f000080bf1a98273e4e25a83e9899193ecbcc4c3ecbcc4cbda097583d7e487f3fa997583d92827f3dbcfb65bdc8187f3f000080bfc02f103e2757b13e9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e6bc3bb3df84ffebec7f15c3f000080bf79e4283eae84b23e9999193ecbcc4c3e989919bea497583d7e487f3fa09758bd1a0a18bd17c9603d01707f3f000080bfb0ef303d38c3b03e9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea47688bde450fe3edf875d3f000080bf203c983ce1a6b13ecfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbe30b8f7bdff41f93eeb755d3f000080bf283c983ca834e13ecbcc4c3dcbcc4c3ecbcc4cbda69758bd7e487f3fa897583dd34b473d84194ebd435f7f3f000080bfbf2f103eefe4e03ecbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e1374113ef01ff8be21f55c3f000080bf79e4283e7512e23ecbcc4c3dcbcc4c3e999919bea79758bd7e487f3fa79758bd9d4ad0bc8451533d82937f3f000080bfacef303d0051e03e80b9d53cc7503f3e9c1532be5f25d5be51ee4e3f5525d5bea96aecbd4d78d03e84f1673f000080bf10bf9e3c0e96ed3ecfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf31446abe9e30573fe063fb3e000080bf0000000078f0e33e80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf724ca1bea995443fbac70e3f000080bf2046ce3bbf82ef3e40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe688670be4047f23e425c593f000080bf40e39a3cd7baf53ea011cd3cb9f5453e989919be104afdbe672e5e3f024238bd897a273c8ece6b3de18f7f3f000080bf58f02f3d0a39ed3e9811cd3cb9f5453ecfcc4cbd104afdbe672e5e3fe341383d3e82273cb3323cbd5db77f3f000080bfe9ef0f3ef9cced3e40e2da3b982a333ecfcc4cbdf9ce52bfbb09113fc761f73c6a7defbc2ba3c3bd2ab87e3f000080bf86400f3e325ef93e60e2da3b982a333e989919be9c8053bf8af80f3fccb20abd1af8363d7b4e003e93b97d3f000080bfd0322d3d43caf83e78b9d53cc7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53ef988093e97dccbbe1e4d683f000080bf1b98273eba70ee3e78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403ff6728d3e3f9136bf17ef243f000080bfd706343ea683f03ecbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533f60ca6f3ec3354cbff0440e3f000080bf398d3a3e9204e53e20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e215b403ea575d5beb8aa633f000080bfa11c273e8495f63e23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f7babc43ef336fabe0989483f000080bffc34273ef888fa3ef376b43b0ad7233e07d723bd4ba56fbf61f4783eb81c823e1a99103e1acccdbe009b673f000080bf49b0183e934cfc3e59562f3b0ad7233ececc4cbd694877bf6451843e47474c3c5cf506bd84c22ebe6d1a7c3f000080bf80b10e3e8896fd3e74562f3b0ad7233e989919beb03e77bf2f4c843ecb2eb0bc32bf0c3dbccc563e5a267a3f000080bfb0f62a3d9a02fd3ea9ec933b0ad7233ec73f20be7a896ebfb1467f3e6f1a87be833108be2042e23ee91b633f000080bfb000113d2319fc3e33d2913bcddf213eccdf21bea38c6ebf5df9833eebc782be4a5102beada7da3e4d2d653f000080bf045f0a3da46afc3edb078d3b0a7d1f3e0ad723be78896ebf701a873ec5467fbe45b1fdbd1e2bd43e2bd1663f000080bf1859023de3d5fc3e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4c7f67bee17ad63ec622613f000080bf507d013de87ffe3e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbfc16ef8be8ad7ed3e5ca43d3f000080bf604c8b3c4982fc3e78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfe7e4a7be838acfbe4c735a3f000080bf03034e3ee8c6d83ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbfba676abe2a950abf831d4f3f000080bf625f4c3e1084e33ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584be111e53be95dc7dbec453723f000080bfde755b3e12efe43e54b0d03c2de7193c0ad723bea39706bf179650bf81347abe2c4937be3c0b33be45db773f000080bf8a0e5c3e91e5d93e21e7193c57b0d03c0ad723befd4f48bf4a5413bfb87973bef13e2cbe536d30beca77783f000080bf8a0e5c3eea85ce3e20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf308ed2be13c1a9befe5d593f000080bf01034e3e6ea3cf3e78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebf818212bf7b2212bf7bb7163f000080bf6bab403e2e33d43eeb76b43b0ad7233d0ad723be888b6ebf1ca785beca1881beb2684fbe544c4fbe4e47753f000080bf52b35b3e6101c83e40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfd97c0abf3ebc7fbe86984d3f000080bf635f4c3e8ce0c43e54562f3bcecc4c3d0ad723be694877bf31474cbc595184beb20c7fbe5b0367bea01c713f000080bfde755b3e8776c33e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf2b320dbf003181be57894b3f000080bf0306493e1873a13e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4dc482bee55c7fbe78226f3f000080bf7d1c583e1209a03e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eca56e73c44f222bf0150453f000080bf29ac9b3e6c1a673f2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133fd7d35abe9bfb43bfd1591b3f000080bf7b1c9e3e1fc4653ffd76b4bb0ad7233e07d723bd478c6e3fc6fb813e0bc5843e7ca7dfbc01db29bff1673f3f000080bf6e4e973e2c6c643f66562fbb0ad7233ececc4cbdfd3c773f454b843eb021ba3c5865313e792e35bfcd552f3f000080bf1898923e9185633f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d84f9b83e782f13bfa9ee3b3f000080bf2f3d903eca0e653f4fe2dabb982a333e989919beb628533f3e80103fd94e03bd0771fa3e111e2fbfd3860a3f000080bfe5244c3e56ac573f66562fbb0ad7233e999919beda4b773f3953843ea3e8dfbb0de0623ef95c50bfaf7d093f000080bfb8da503e1d23563f9e7289bb0ad7233ed4171fbe7c896e3fb9467f3e5a1a87bef412b33eb6a84fbf4af9ef3e000080bfb1dc4c3e342f553f2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe2662233f8e1532bf88daa83e000080bf83ae3a3e6651533f24678bbbcde5223ef83220be7d896e3f95467f3e601a87beeb12b33eada84fbf6df9ef3e000080bf0c594c3eebe5543f6fe889bbdb6c213edb6c21be458c6e3f2acb843e91f581be75a2b43ef3b04fbf78b0ee3e000080bfc3e84b3eb289543f606284bbca881e3e0ad723be7c896e3f681a873e97467fbe1c4fb53e28d14fbfecbced3e000080bfa8034b3e82d7533f60562fbb9999193e0ad723be793f773f5065ab3c904c84be29e32f3e33574cbf02cf133f000080bf1e814c3ee55b533f4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbf120aba3e627d4bbf93ccf83e000080bf8c48413e9fbc503f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bfa60faf3e319944bf13a60a3f000080bf001e6a3ee056423f6b562fbbcccc4c3d0ad723be6b48773fd7474cbc585184be88ca2b3e21f03abfa38b293f000080bf9356753e26f6443f0677b4bb05d7233d0ad723be858b6e3f24a785bed01881be005bb73bf62f2fbfe9a93a3f000080bfa4697a3e8815433f2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bf75d89c3d3f433bbfc3722d3f000080bfef0a773e16093e3f2de719bc54b0d03c0ad723befa4f483f4a5413bfca7973be60a130bee83511bfc0274e3f000080bf1ada803e6a64403f7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bf569745be48461ebf250d433f000080bfa46b803ea52d3a3f7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebfbd44173e5fa358bf790c033f000080bfffaa703e264f3a3f57b0d0bc2de7193c0ad723bea397063f179650bf8f347abe5537a1bec310e8be7f7b553f000080bf03f3863e79973b3fcecc4cbd60562f3b0ad723be6c29e03c432d77bfc18584be150aeebe3a4f77bee90d5a3f000080bfce9c8c3e8dd5363fcecc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbfe551f0be3b8b02bfd98a383f000080bfd67b853e4c68353f999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbfab530abfed9eeabe53aa343f000080bf84fb963eeff3253f999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84bef6fd02bf2ef658beb027553f000080bf7b1c9e3e2f61273f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bf6ab32ebdf0fd7d3f1ca6f0bd000080bfbf63363f87d7813e2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bfb3ce343ec86f623fd314ddbe000080bf2169303f3f16853e7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebf0135b83b28e3633fc93fe9be000080bf2169303f828c8b3e9711cdbccecc4c3db9f545be064afd3ee94138bd692e5ebf621025bdec137f3f2dd098bd000080bfbf63363f3b058b3e9911cdbc9899193eb9f545be064afd3ee641383d6a2e5ebf8a10253dec137f3f34d0983d000080bf29654f3f3b058b3e4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbff0a4253d34f77d3fcd00f43d000080bf29654f3f87d7813e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe16471cbeb5854f3f7eb8103f000080bfc75f553f4016853e7db9d5bc9c15323ec9503fbe5325d53e5525d53e54ee4ebf0353863c48ac623ff1cded3e000080bfc75f553f828c8b3e7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be3cfaf5bd7eb3003f59265b3f000080bfe89a583f828c8b3ececc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbea4a349bcf1c5fd3ebc515e3f000080bf443a5a3fbe81973ececc4cbd9999193ecbcc4cbea297583da797583d7e487fbf34558b3baea27f3f97d0593d000080bf29654f3fbe81973ecccc4cbdcecc4c3dcbcc4cbea497583da09758bd7e487fbfda548bbbaea27f3f93d059bd000080bfbf63363fbe81973ececc4cbd982a333eb9f545bef441383d064afd3e6a2e5ebf0000000035685e3f308bfd3e000080bf6aa3553fbe81973e989919be982a333eb9f545bef04138bd064afd3e692e5ebf86127e3b496d5e3f5d77fd3e000080bf6aa3553f9384c93e989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf443a5a3f9384c93e999919be9999193ecbcc4cbea39758bda497583d7e487fbf04548bbbaea27f3f96d0593d000080bf29654f3f9384c93e9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf61a6923ddab9663f19c6da3e000080bfc65f553fce79d53ececc4cbd9911cd3cb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bf7d25303fbe81973e7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bfc4d58f3d62b6153f07e14ebf000080bf002e2d3f828c8b3ececc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbf8fabd23bb918103f869653bf000080bfa38e2b3fbe81973e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf7fabd2bbb718103f869653bf000080bfa38e2b3f9384c93e999919be9711cd3cb9f545beeb4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf7d25303f9384c93e999919becccc4c3dcbcc4cbea29758bda39758bd7e487fbf83558b3baea27f3f96d059bd000080bfbe63363f9384c93e9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfea32b8bb28e3633fc93fe9be000080bf2169303fce79d53e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe23a1cebd7c4e0e3fa33a53bf000080bfff2d2d3fce79d53e982a33be9899193eb9f545be064afdbefb41383d692e5ebf0f1025bdec137f3f1fd0983d000080bf29654f3f1401d63e992a33bececc4c3db9f545be064afdbed84138bd6a2e5ebf7a10253dec137f3f27d098bd000080bfbe63363f1501d63eca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5beecb469be5a965f3f3448dcbe000080bf2169303f11f0db3eb9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe7c6dc73cdea77d3fddfe07be000080bfbe63363fca2edf3eb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe976dc7bcdea77d3ffcfe073e000080bf29654f3fc92edf3ec7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be18b5693e5a965f3f2948dc3e000080bfc65f553f10f0db3e4fe2dabb982a333e989919beb628533f3e80103fd94e03bdeaaebcbd84b4423e7a387a3f000080bf1257143f23fbfd3e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe843be93d27e81a3fa8b7493f000080bfb35f0e3f739d003f7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be4ad068bd09d0f53e2c18603f000080bfb4840e3fa5af023f9711cdbcb9f5453e989919be104afd3e672e5e3ff74138bdb9c2cebdbad4de3d142a7d3f000080bfa08b143fa8ee013f9911cdbcb9f5453ecfcc4cbd0e4afd3e672e5e3ff441383d4cc2ce3d78d4debd152a7d3f000080bf02892d3fa7ee013f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d79d6b83d570744be6b337a3f000080bf74542d3f23fbfd3e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eec1d48bd321411bf088d523f000080bf6450333f729d003f7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3cf683d09d0f5be2c18603f000080bf6475333fa4af023fcecc4cbdcbcc4c3ecbcc4cbda397583d7e487f3fa997583d8d184c3d086b63bd61497f3f000080bf02a92d3fcf59073fcecc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e5a71a23d9455febe5f405d3f000080bfd4d7333f47de073fcccc4cbdcbcc4c3e989919bea797583d7e487f3fa39758bdb5194cbd106b633d5f497f3f000080bfa0ab143fcf59073fcecc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbe7c72a2bd9155fe3e5c405d3f000080bff35f0e3f48de073f989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbe56d606be40b2f83eb4375d3f000080bf53a60e3fc3a41f3f999919becbcc4c3ecbcc4cbda79758bd7e487f3fab97583d76f8173dcbb550bdb07d7f3f000080bf63ef2d3f4b201f3f999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e20d6063e43b2f8beb5375d3f000080bf341e343fc3a41f3f999919becbcc4c3e999919bea89758bd7e487f3fa79758bdadf817bdc5b5503dae7d7f3f000080bf00f2143f4b201f3f9c1532bec7503f3e9c1532be5f25d5be51ee4e3f5a25d5be8e0b00be3323ce3e5d23683f000080bfbcec0e3fc1d4253f989919be982a333eb9f545bef04138bd064afd3e692e5ebfdf3573be60ac563f7808fb3e000080bf92e8093fbb10213f9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf4155a5be3d6c433f82380f3f000080bf38960b3f00d5263fc7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be69b062be036ee13e2dc15e3f000080bfecd90e3f6fe7293f982a33beb9f5453e989919be0e4afdbe672e5e3f054238bd00000000f1ea533d3aa87f3f000080bf25f5143f6394253f992a33beb9f5453ecfcc4cbd104afdbe672e5e3fe441383d00000000feea53bd3aa87f3f000080bf88f22d3f6394253f9d1532bec7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53e360b003e4723cebe5b23683f000080bf6cdd333fc1d4253fb9f545be982a333ecfcc4cbd692e5ebf0a4afd3ed241383dfdc4a6bc0ded00becce87d3f000080bfced72d3f685d2b3f9d1532be9c15323e40c057bc787debbedd46eb3e0382423fe8f1963e3c653abf4f6b1e3f000080bf20fc363fffd4263f999919be982a333e60e2dabb4ed907bd5532103f125b533fb329683ea7df4cbf171b0e3f000080bfad8c383fba10213fca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e40b0623e276ee1be27c15e3f000080bf9cca333f6fe7293fb9f545be982a333e989919be692e5ebf0d4afd3e044238bd6ac4a63c04ed003ecce87d3f000080bf6cda143f685d2b3fcbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583d72bf273db06a52be4c517a3f000080bf94a62d3f1be32e3fb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e4089d93e1ec3e5be0044493f000080bf20df333f8a4c2d3fcbcc4cbe9999193e989919be7e487fbfa697583da39758bd78bf27bd9d6a523e4c517a3f000080bf32a9143f1be32e3fb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe4089d9be14c3e53e0244493f000080bf3e670e3f8a4c2d3f0ad723befd76b43b06d723bdc3fb81be478c6ebf0cc5843ef7a9253ea2c6643e7511763f000080bffc96243f82d1073e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133fefce803e8fcd053fbf87503f000080bfbc36283fe6be053e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ed4947a3ee924a63e28e7693f000080bfee4a283fca80f23d0ad723be66562f3bcbcc4cbd414b84befd3c77bfb321ba3c3d09e53cc059833cf5dd7f3f000080bf4518223f385b093e982a33be4fe2da3bcbcc4cbd87f80fbf9d8053bfb8b20a3d000000003be6273deac87f3f000080bf3e58223f40f8f73d992a33be4fe2da3b989919be2dea0fbf978953bf64e40bbdf7a1a4bd811a5d3cec257f3f000080bf1e65093f788dee3d0ad723be60562f3b989919be9b5384be984c77bf0e7c9ebb583802be3c0dee3c05d07d3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbe9a467fbe7f896ebf551a87be553d86be09194abe9cd2713f000080bf6e34083f97b6033e73a520be555c783b72a520be82e272be8fd471bfd41a68bea15e71be297a2ebed6ee743f000080bf4d60073f51ba053e8b751dbe2048753b0ad723be59a682be21686ebf2a2185be61b081bea8d347be728f723f000080bfca8b063fe0cd073e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe2607b0beab73a5be4eb6613f000080bf6669033f2095e43d999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84beff6980bea6177bbe39bc6f3f000080bfae7b063f83360b3e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf517f90becc2a08bf70634c3f000080bfb5bf023ff1aa073eb9f545be9911cd3c989919be692e5ebf0a4afdbed04138bdf60c3ebd7a7c1abc7fb67f3f000080bf90b3093f60b0ba3dc7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53ede06993e045aa33e9c3d663f000080bf2882283f58fdcd3d9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f23e5063f94e70c3f62c9253f000080bf36842b3f9463e13db9f545be9711cd3ccbcc4cbd692e5ebf0d4afdbefc41383d9d44f7ba882fc03db0de7e3f000080bfb1a6223f2c1bc43dca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5be41ccafbe5ed776beea61683f000080bfa0a0033fac11c03d9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfd4fa19bfbe640abfbb93163f000080bf1d30003fec08d13dcbcc4cbececc4c3d999919be7e487fbf999758bd9b9758bdd2134dbd1eaf59bd14517f3f000080bf1cd0093f56de8d3db9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe4c17f5be5ddf42be866b5b3f000080bfdf78033fceea943dcbcc4cbecccc4c3dcbcc4cbd7e487fbfa79758bda697583d4d65313d231e2c3e371d7c3f000080bf3ec3223f2049973db9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3ec1c5eb3e60ea993e54d0553f000080bf61e1283f6609a33db9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3ebf9ff73e71889b3eee23523f000080bf60e1283fa058293ccbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583db0ba7e3d4058463e8ba57a3f000080bf3ec3223fc0ac963bcbcc4cbe9999193e989919be7e487fbfa697583da39758bd611b67bd4d208bbdf7ff7e3f000080bf1dd0093f00000000b9f545be9899193e992a33be692e5ebf0342383d0a4afdbe16e9fcbef3c83bbe8394593f000080bfdf78033f808f613bb9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3e3299cf3e8eb523bf2a37273f000080bf5afd6e3f9405d93ec7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53e9a2e153fb9992abfb420ee3e000080bf5e5d743fca2edf3e9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f27bd293f151c3fbf2149633d000080bf3ca6763f0d9dda3e982a33bececc4c3d40e2dabb89f80fbf9fb20abd9c80533f0c791d3fc7512fbf9603c83e000080bf1a3c723f1688d23e992a33be9899193e60e2dabb8af80fbfb1b20a3d9c80533f604f213f332221bf58d1e83e000080bf9d8d603f1e2baf3eb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e9a4bc83e15460dbfcf8a3c3f000080bfde4e5d3f9ca8b53eca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e0728803ecf44cbbed60d623f000080bf443a5a3f96e8aa3e9d1532be9c15323e40c057bc787debbedd46eb3e0382423fb087093fb08b09bff570263f000080bf22835c3fd956a63e0ad723be9999193e6d562fbb6d4c84be5a5fad3c273f773fa885333fd2fa2ebf0a754f3e000080bf1a33633f24e0a93e0ad723bececc4c3d59562fbbc78584be4329e0bc432d773f61d62f3f224135bf6400283e000080bf96e1743f1c3dcd3e0ad723bec33d1f3e6eca8abb8dbd84be21bb823e2b736e3f959b283fd69c28bf994dba3e000080bfbc39623f69eda73e0ad723be57b0d03c23e719bc86347abea39706bf1796503f86f2323f73882dbf383e69be000080bfb837793f62e9d53e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133f8790293f3f6110bf787efcbe000080bfa20f7c3f3599db3e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ea34e1e3f2ec829bf40dcd7be000080bf1bef783fca2edf3e999919be982a333e60e2dabb4ed907bd5532103f125b533fcc5c273f59d31cbf0c6fe33e000080bf9d8d603f93829d3e235b21be235b213e37b088bbfeed6cbe7587723e5e8f713f43cf2a3f76cf2abffa83a93e000080bf0e4a623fd856a63e27731ebe0ad7233e639e83bb661a87bebe467f3e7a896e3f61ae283fd6ad28bfc9cbb93e000080bfb85c623f507aa43e999919be0ad7233e74562fbb0a45c6bb6e53843e2a4c773f0bd92e3f975b34bf2f65453e000080bf1a33633f8ccda23ececc4cbd982a333e60e2dabbb2b20a3d8af80f3f9a80533fc0512f3f10791dbf9d03c83e000080bf1a3c723f364b743e999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e3471153f6f0fc2beccd0373f000080bfde4e5d3f1505973ececc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e90b5233f3399cfbe2837273f000080bf5afd6e3f3a50673ecccc4cbd0ad7233e74562fbbbf21ba3c4f4b843efb3c773f6855353fa5952fbf82d72a3e000080bf96e1743f28e17e3e7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3be403f002b10bf0a5eae3e000080bf5e5d743fcffd5a3e7cb9d5bc9c15323e40c057bc7efdcf3e046c063f4d723f3f8e7c3f3fa34229bf9a3c6d3d000080bf3ca6763f4821643e07d723bd0ad7233e0e77b4bb18c5843ecffb813e448c6e3f511e353fb2ea34bf8a6c8ebb000080bf3ca6763f90ce773e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3e43b7263fc5f732bff02897be000080bf1bef783fcefd5a3e54b0d0bc0ad7233e3ae719bc4754133fd679733efd4f483f5289263fc78136bfa80e86be000080bfb837793f9e886d3e2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133f3c61103f999029bf4f7efcbe000080bfa20f7c3ff728623ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3eb3aa173f6f03d83e31b12f3f000080bf6e916f3ffe542a3f7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53eada0203f6d36163fb509033f000080bfdac2743fd4b52d3f7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f5e37363fc6ff313f8be3cb3d000080bfba2b773fd28e2b3fcecc4cbd992a33be60e2dabbeaf8003d13ab10bfcf0c533fc711243f55f4243f079cd53e000080bfa2fd723f5846273f989919be992a33be40e2dabbbc2a0ebd8cc10fbfb3a3533ffbd7163ffb19283f2408f13e000080bf3855623f28a0143f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e5ce8023f8191cf3ebdfa413f000080bf03e95e3fceae173f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53e38c6b73e82948c3e455e643f000080bf24235c3f9224123f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433f99db013ffe6c123fc905253f000080bf048c5e3f90fd0f3f0ad723bd0ad723be0677b4bb2ca7853ed91881be838b6e3fb3742a3f8ff53e3f24e67a3c000080bfa472773f80a5263fcecc4cbd0ad723be6d562fbb18484c3c5a5184be6948773f876c2a3f4b13393f75433d3e000080bf32c8753f15c8243f57b0d0bc0ad723be38e719bc4754133fcb7973befd4f483fbd211e3f7fe0403fa4c866be000080bf0fde793ff75a293f2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3e8ed2253fb369293fc244c1be000080bfbc52793fb2f72d3f2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f4cf2033fd172383f2a87edbe000080bfd48b7c3fb65a2c3f999919be0ad723be5d562fbb2ef292bba35384beb24c773f906d243fb05a3d3ff2b14d3e000080bfc81f653fe421123f6c2c1dbe0ad723bede1a70bb651a87be98467fbe7d896e3fbffb1e3fa8fb313f1648b93e000080bff68a643f487b113ff85820bef75820be9ed46dbb791864be538972be2817723ff446213f198f343f3b6ca63e000080bf9ca9643fdc55103f0ad723be2e811cbe52fb63bb316485be1f9782beda606e3fe4d31e3f8ada313f4c4fba3e000080bf56cb643ffe120f3f0ad723be989919be59562fbb124d84be8fb3a5bc6140773f3b0c2a3fafe2383f0a78453e000080bfc252653f089a0e3f982a33be989919be40e2dabb89f80fbf9fb20abd9c80533f290d1a3fcf222b3f70c1df3e000080bf7ed4623f78cf0b3f992a33becfcc4cbd60e2dabb8af80fbfb3b20a3d9c80533f4bb2143fae303a3fb82cbb3e000080bfae7a753f1a4ef63e0ad723bececc4cbd6d562fbbc98584beb529e03c432d773fc360253f23803f3fd39f1b3e000080bff2f8773f3ae3fb3eb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e3252c03eaa9d173fde7c363f000080bfd8c55f3f4363083fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e4e2e663e58e0de3e3a2c5f3f000080bf02655c3fb0940d3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ee915c63e77942f3fabca1d3f000080bf086c723fb075ef3eca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e1286133f5249343f0251d43e000080bf45f6773ff2e9e93e9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423ff0b6363fb8ac303fa3f0f43d000080bf471d7a3fb2bbee3e0ad723be5cb0d0bc36e719bc96347abea397063f1696503f438e3c3fd9ab253f056d49be000080bfd48b7c3f81b7f33e6b562fbb0ad723bececc4cbd432d773fc08584be8329e03cc825df3bb4c9a3bd8f2c7fbf000080bfd2dcbb3e839ebb3e2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f1fede93eae4393be407c57bf000080bfe1bbaf3e1601be3e2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3ed7b1963e702e8ebebd1a6abf000080bfd0dbaf3e443fc43e4fe2dabb992a33becfcc4cbd9d80533f87f80fbfb5b20a3ddbc75d3cfcf224bdd4c47fbf000080bf59aabb3ee750c23e7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53e67a98f3e7881a4be408a67bf000080bfd0dbaf3ebc62cd3e7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f3b30043fc8260cbfeb9428bf000080bf2fa3a93ee9d4c83e4fe2dabb992a33be989919be9c80533f88f80fbfaab20abd3fce60bc04d7233d5fc57fbf000080bf9c9ced3edf4ec23e60562fbb0ad723be989919beb23e773f254c84be7b2eb0bc00000000ee7da23d65317fbf000080bf15cfed3e7b9cbb3e2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbe426eb3be687c9d3e377762bf000080bf9fb0f93e443cc43e93ec93bb0ad723bec73f20beea776e3f129284bea5c482beb67151be12b5543e75e174bf000080bfce15f13e5743bc3e9911cdbcb9f545be989919be064afd3e6a2e5ebfe64138bd1c1855bda6ffb43c3b977fbf000080bf9c9ced3ed749cf3e9711cdbcb9f545becfcc4cbd064afd3e6a2e5ebfe841383d4eed533d8d55b6bcf6977fbf000080bf59aabb3edf4bcf3e4fe2dabb989919be992a33be9644533fefe305bd195510bf23fe09bfff20813e41bb4dbf000080bfef87fa3e2581b93e1cd291bbcddf21beccdf21be57bb713f82106cbe7da070be4cee44be2fa9453e395076bf000080bf43e9f13e3b90bb3ec3078dbb097d1fbe0ad723be7f896e3f501a87bea7467fbe2f874cbe74964d3e058575bf000080bfc6e8f23ea6b0ba3e6b562fbb999919be0ad723bea54b773f9a97efbb125384be380c80be9496683ea7f270bf000080bfc0fbf23ece15b83e60562fbbcecc4cbd0ad723befd3c773fa121ba3c3a4b84be1bd281be6cd8953e2e076cbf000080bf24c8f43e14d5943e4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbfcfbb0bbfb144973e42b948bf000080bf5254fc3e6c40963e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf61a622bfaa91553eaf573ebf000080bf2e59fc3ecf1f903ef576b4bb0ad723bd0ad723be478c6e3f0dc5843ebbfb81bea49caabe5b2fab3ed9ae61bf000080bf3803f53ec74f923e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be81e1e7bef420873edc025abf000080bffc57f53ed2918e3ecccc4cbdcbcc4cbecbcc4cbda397583d7e487fbfa397583dd79ee33dc4793fbde0217ebf000080bf8afebb3e0182da3ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3e18997c3ee8c0f0be76ed58bf000080bfeca4af3eaf27d83e989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e9b227b3eedb2fabe3c3356bf000080bf5071b13ecea0fb3e999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583d8dbf063e718173bd2e517dbf000080bfeecabd3e22fbfd3ececc4cbdcbcc4cbe999919be9e97583d7e487fbfa39758bd526ae4bdd3613f3d181f7ebf000080bfcef0ed3efa7fda3e999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd7b2e07bec295733d694d7dbf000080bf32bdef3e1af9fd3ececc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbefffa7cbecdb8f03e94e858bf000080bfee87fa3ea324d83e999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe9a8c7bbe59aefa3ece2c56bf000080bf5254fc3ec49dfb3e7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be09cc8fbeb46da43e648867bf000080bf9eb0f93eba5fcd3e7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfd90012bf0ea4123f73b716bf000080bf1d30003f60d1c83e4fe2dabb989919be992a33be9644533fefe305bd195510bfce262abda0fa7d3f2655f2bd000080bfb8512d3deff3253f2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbede2f753e8fbd5a3fde0fecbe000080bfb04f9b3c4c93273f7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfbf2bb83b24e3633fd73fe9be000080bfb84f9b3c6dce2a3f9711cdbc989919beb9f545be064afd3ee94138bd692e5ebf171125bdeb137f3f5ed098bd000080bfb8512d3dc98a2a3f9911cdbccfcc4cbdb9f545be044afd3ee541383d6a2e5ebf8110253dec137f3f31d0983d000080bf175a0f3eca8a2a3f4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbf50a5253d34f77d3f1101f43d000080bf175a0f3eeff3253f2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bff598b2bdcb1c583f4466073f000080bf8e44273e4c93273f7db9d5bc80b9d5bcc9503fbe4f25d53e5625d53e55ee4ebfb651863c4bac623fe8cded3e000080bf8e44273e6dce2a3f7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bfa2d58fbd5eb6153f0ae14e3f000080bf1231343e6dce2a3fcecc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbf8fabd2bbbc18103f8596533f000080bf84ae3a3e0bc9303fcecc4cbdcbcc4cbdcbcc4cbe9e97583da797583d7e487fbf29558b3baea27f3f99d0593d000080bf185a0f3e0bc9303fcccc4cbd989919becbcc4cbea097583d9e9758bd7e487fbf425b8bbbaea27f3f9ad059bd000080bfb8512d3d0ac9303fcecc4cbda011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000034685e3f348bfd3e000080bf1b53283e0bc9303f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf06f97d3b486d5e3f6377fd3e000080bf1a53283e75ca493f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8aabd23bba18103f8596533f000080bf84ae3a3e75ca493f999919becbcc4cbdcbcc4cbea39758bda797583d7e487fbfa65b8bbbaea27f3fa5d0593d000080bf175a0f3e76ca493f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebf1ca6923dd8b9663f20c6da3e000080bf8e44273e13c54f3fcecc4cbd992a33beb9f545bef141383d064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c0bc9303f7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be6bfaf53d7ab3003f5a265bbf000080bf20aecf3b6dce2a3fcecc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbe8ba3493cecc5fd3ebf515ebf000080bf000000000bc9303f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bf0000000075ca493f999919be992a33beb9f545bee94138bd064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c75ca493f999919be999919becbcc4cbe9f9758bda39758bd7e487fbf755b8b3baea27f3fa1d059bd000080bfb4512d3d76ca493f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebfe834b8bb28e3633fcb3fe9be000080bfa84f9b3c13c54f3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be57faf5bd78b3003f5c265bbf000080bf20aecf3b13c54f3f982a33becfcc4cbdb9f545be064afdbefa41383d692e5ebfd50f25bdec137f3f0fd0983d000080bf175a0f3eb608503f992a33be989919beb9f545be064afdbed34138bd6a2e5ebf3210253dec137f3f10d098bd000080bfb4512d3db608503fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5beefb469be5b965f3f2f48dcbe000080bfb04f9b3c3400533fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbed76dc73cdea77d3feffe07be000080bfb4512d3d919f543fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbeec6cc7bce0a77d3fd6fe073e000080bf175a0f3e909f543fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5be2cb5693e5b965f3f1b48dc3e000080bf8e44273e3400533f54b0d0bc3ae719bc0ad723bea397063f1696503f9b347abe9ae73b3f582894be414a1d3f000080bf28625a3f0c78f13e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be8a791a3f22461bbf0f87043f000080bf24235c3f8aaced3e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf0b98283f6bc50dbf1b6f023f000080bffc11593ff2e9e93e7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bf7aef5d3f44c906beb721f63e000080bf3aa9573f8af6ec3ecccc4cbd77562fbb0ad723be9629e03c432d773fca8584becd833b3fe598203e2198293f000080bfe199563fb2edf83ececc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbfefa3463f8874aa3e442a093f000080bfecc9533f56dbf33e999919be6d562fbb0ad723be6da6a8bce93f773fd54c84bed91c2e3f11d64f3efc55343f000080bfa679453f43f50c3f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8d5e1d3f69faeb3eaddb233f000080bfb2a9423f156c0a3f9c1532be40c057bc9c1532be6830eabe5427433f526feabebb17f53e151f253f8b7d183f000080bf6a583e3fe4dc0e3f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf65d5d93e26a84b3f60e1dc3e000080bfd5603e3f9af1073f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebfe3828e3ee199673f4829a53e000080bf31543b3f331e0d3fd38d1dbe530077bb0ad723be91a882be7d686e3f771c85be895f243f9480ba3e87b02c3f000080bff3be443f72a50d3fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5bea2955c3e4e015e3f94dbe53e000080bf31543b3fc199113f982a33be60e2dabb989919bef2ed0fbf2b87533fa7ae0bbd31331b3f9334e13eb69d293f000080bfb2a9423f7d15133fc1b120be1b0e7abbc1b120be95a672be7bdc713f61d567bebd12283ff0ada73efaf22d3f000080bf6fbe443f9db60e3f0ad723be410077bbd28d1dbebc467fbe7f896e3f431a87bec653243f29dcb93e00e82c3f000080bff4be443fa3c60f3f0ad723be74562fbb999919bea15384be8d4c773fbf4fa2bb8b8b333f1bc0433e1acc2f3f000080bfa679453f646d103f0ad723be6d562fbbcecc4cbd4b4b84befb3c773fb121ba3caff5343faf22313e9f942f3f000080bfe199563f42a0223fb9f545bea011cdbc989919be672e5ebf0e4afd3e004238bde048cd3e2548403ff544063f000080bfd6603e3ffef8163fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bd4ce2df3ca1776a3fb10ecd3e000080bf70ae3b3f183f193fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbe4e3fb9bda805773f6b587c3e000080bfae8c383fdb99133fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583de31b943d03a55c3ff77c003f000080bfabce4c3ff7712b3fb9f545bea011cdbccfcc4cbd692e5ebf0f4afd3ed041383daf5ad93eb80e313ffa95153f000080bf10814f3fdd2b293f992a33be60e2dabbcfcc4cbd8bf80fbf9c80533f98b20a3dfdf71b3f42cec53e8747313f000080bfecc9533f5c48253f9d1532be40c057bc80b9d5bc026c06bf50723f3f80fdcf3ea5c3303faa34c33de08f373f000080bf3aa9573fb0c3293f0ad723be0677b4bb0ad723bdc7fb81be448c6e3f18c5843ef7293d3f0fe7623c43742c3f000080bf3623583f2e94243f0ad723be36e719bc5cb0d0bccc7973befb4f483f4954133f6584453fd6c554be43ed193f000080bf28625a3f9967273f0ad723be5cb0d0bc36e719bc96347abea397063f1696503fc3ea443f1826d0bef869fc3e000080bf24235c3f10162b3f9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423f27ac413f10f551bea3f81e3f000080bffc11593ff2b82c3fca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e6b7c153fac14f43ee236283f000080bf01a5543f8d802c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3e6aaaaf3e6d43463f0610083f000080bf253a523f1ae32e3f999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583da6a07fbf68fb553d1af05abc000080bf000040325fd1763f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e07317ebf2c05bf3dd134963d000080bfe074973b8aff7c3f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53ea01861bf28ebf23ed2d42b3d000080bf77afd13c71e17c3f982a33beb9f545becbcc4cbd064afdbe6a2e5ebff641383d0d765ebf0245fd3e491151bc000080bf72dfb23cb1f8763f992a33beb9f545be989919be064afdbe692e5ebfdd4138bd28515ebf14c7fd3eba134ebc000080bf70dfb23c76fe5d3f999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd46747fbf3e70603d5a3a11bd000080bf0000000023d75d3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be080960bfe9f9f53e6e4d6cbd000080bf76afd13c68f5573f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbece8f7cbfbf75ee3d4a9eeabd000080bfd074973b628c573fb9f545be992a33be989919be692e5ebf0a4afdbed54138bd62c6fdbe82515e3f39614b3c000080bf8a47413d9afe5d3fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e9ff3f2bed315613f9d842cbd000080bf80f3313d8be17c3f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433fddfd34bf090c353f00000000000080bfb9760d3d0000803fb9f545be992a33becbcc4cbd692e5ebf0b4afdbefe41383d0746fdbeec755e3ffc4e4e3c000080bf8b47413dd6f8763fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5bef0f1f5beea0b603f18a46b3d000080bf8af3313d82f5573f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebf470135bf9f08353f00000000000080bfb7760d3d909f543fcbcc4cbe989919be999919be7e487fbf969758bd999758bda2eb5fbd4c7a7f3fff15073d000080bfd6738d3d86d75d3fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbe9eb7b1bdf38a7e3fa0397d3d000080bf5e05843db88c573fcbcc4cbe999919becbcc4cbd7e487fbfa49758bda397583d636c53bd33947f3f706acc3c000080bfd4738d3dc3d1763fb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e16b370bdc3897f3f91f449bc000080bf6105843de1ff7c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ea19d643d2c987f3f6fa9e93b000080bfacdd083eed297c3fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583d70805f3ddb7e7f3fcbcdfd3c000080bfe7940d3ecffb753fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bdd9e4503d837f7f3f169e143d000080bfe7940d3e93015d3fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbec645b93c8d997f3fff5b513d000080bfabdd083ec5b6563f9899193eb9f545bea011cdbcf341383d692e5ebf084afd3ef6450dbfaf4bc83ee18a3c3f000080bfcea83b3f32a6433f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53ead44cbbe2528803ed90d623f000080bf3494383f3506493f9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f8b2f08bf732f083f8aa6283f000080bf12dd3a3f144f4b3f9899193e992a33be60e2dabb35eb033d0e7510bffa2f533f4c2121bf8934213f261ee93e000080bf8de73e3ff0e4463fcfcc4c3d992a33be40e2dabbbdf800bd12ab10bfd00c533fd3632fbf57de1c3fd5a8c93e000080bf0996503f7536353fcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e91b523bf2999cf3e2b37273f000080bf4a574d3fb6f7313f80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53ec9992abf942e153f9220ee3e000080bf4eb7523f1be32e3f80b9d53c9c1532be20c057bc682bcfbe499105bfe443403f47833fbf3e44293fca92663d000080bf2c00553ffa2b313f20731e3e0ad723be1d9e83bb6d1a873eb7467fbe7a896e3f0aae28bf2eae283fcbcbb93e000080bfaab6403fce604a3f9899193e0ad723be6d562fbba344c63b5c5384be2e4c773f0dd92ebf975b343f1065453e000080bf0a8d413f6d8a493fcecc4c3d0ad723be5d562fbb6b474cbc595184be6b48773f5a4235bf1c352f3fcf24323e000080bf863b533ff2db373f06d7233d0ad723befd76b4bb20a785bec91881be868b6e3f7ff434bf5f13353f3103d9bb000080bf2c00553f4b17363f5cb0d03c0ad723be23e719bc4d5413bfb57973bef94f483f498926bfce81363faf0e86be000080bfa891573fcf85333f40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3ebf9f26bf997d203f513adbbe000080bf0a49573f1be32e3f38e7193c0ad723be54b0d0bc189650bf87347abea197063f8d3508bf45e22c3fb2be02bf000080bf92695a3fe6ad303f1e5b213e205b21befaaf88bb5edf833ee7e182beaa8c6e3f1cae28bf1cae283fc7cbb93e000080bf00a4403f144f4b3f0ad7233ebd3d1fbe37ca8abbb7467f3e6d1a87be7a896e3f1eae28bf1aae283fcacbb93e000080bfad93403f5d1a4c3f992a333e989919be60e2dabba482103f852d03bd2627533f923121bf4121213f7c26e93e000080bf8de73e3f37b94f3fc9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53e322880be9f44cb3edb0d623f000080bf3494383ff2974d3fb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ea14bc8be0c460d3fd48a3c3f000080bfcea83b3ff6f7523f0ad7233e999919be77562fbb2f53843e70cae5bbc54b773fd44d34bfaedb2e3fc808463e000080bf0a8d413fba134d3fb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e2299cfbe9fb5233f1f37273f000080bf4a574d3f72a6643f992a333ecfcc4cbd60e2dabb8af80f3fb7b20a3d9c80533f09791dbfcc512f3f9203c83e000080bf0996503fb367613f0ad7233ececc4cbd6d562fbb464b843ec021ba3cfd3c773f9c952fbf7255353f69d72a3e000080bf863b533f36c25e3f9c15323e80b9d5bc40c057bc026c063f82fdcf3e4e723f3f964229bf9b7c3f3f5e3b6d3d000080bf2c00553f2e72653fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53efd2a10bfb9be403ff35dae3e000080bf4eb7523f0cbb673f0ad7233e07d723bd0e77b4bbcdfb813e1bc5843e428c6e3fa5ea34bf5e1e353f01718ebb000080bf2c00553fdc86603f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3ec6f732bf40b7263fff2897be000080bf0b49573f0cbb673f0ad7233e5cb0d0bc3ae719bcd179733e4a54133ffa4f483fb18136bf6189263fd30e86be000080bfa891573f5818633f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133fac9029bf3661103f317efcbe000080bf92695a3f42f0653f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53e78ba8fbec377a43e5589673f000080bf6a72283f7e70b23ec9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53ebeeda3be2dac903e2a7c673f000080bf3a72283ff593bb3e9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f84d907bf5b85083f78a6283f000080bfa38e2b3f93feb63eb9f5453e992a33becfcc4cbd692e5e3f064afdbef541383ddb2db2bc218f573da8957f3f000080bfec8a223fd881bd3ecbcc4c3e989919becbcc4cbd7e487f3f9b9758bda697583dd11f3fbd0f9be63d60177e3f000080bf9a60223fa8adc83eb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ef485f0bef35e7f3edbc9583f000080bf758d283f0c4fc63ecbcc4c3ecbcc4cbdcbcc4cbd7e487f3fa297583da297583de14e78bdb55b213e30537c3f000080bfb079213f4eeeeb3eb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e6f6cf8be5598943e3728533f000080bf8ba6273fb28fe93ec9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e45780abfbad17b3ee3e84d3f000080bfe41c273f4db0ef3eb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d456523bed07c443e65e6773f000080bfb530213fe65cf23ecbcc4c3ecbcc4cbd999919be7e487f3fa397583da09758bdd44e783d8d5b21be30537c3f000080bf8e80083f4eeeeb3eb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd2365233e8a7c44be6be6773f000080bf9337083fe65cf23ec9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be3b780a3f51d17bbef1e84d3f000080bf7c32023f4eb0ef3eb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe696cf83e3f9894be3b28533f000080bf0a35023fb28fe93ecbcc4c3e999919be989919be7e487f3f9e9758bd9b9758bdc61f3f3d029be6bd60177e3f000080bf7767093fa8adc83eb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbeed85f03ed75e7fbedec9583f000080bff41b033f0c4fc63ec9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5beb6eda33e1dac90be2d7c673f000080bfd387033ff693bb3eb9f5453e992a33be989919be692e5e3f064afdbeed4138bd802eb23c828e57bdaa957f3f000080bfca91093fd881bd3e992a333eb9f545be989919be064afd3e692e5ebfed4138bda981543de4abb5bc9b977f3f000080bf0e92093fe186b03e992a333eb9f545becfcc4cbd064afd3e6a2e5ebff041383dac8154bde6abb53c9b977f3f000080bf308b223fe086b03e9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be4eba8f3ed677a4be5689673f000080bf0288033f7e70b23e9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf4dfa113f97aa12bf72b7163f000080bf1d30003f94feb63e9899193ecbcc4cbe999919be9e97583d7e487fbf9f9758bdf903e43dd96d3fbd7f207e3f000080bf2f68093fba50a53e9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe47c97c3eebbcf0be0feb583f000080bf931c033f8eaba73e9999193ecbcc4cbecbcc4cbda297583d7e487fbfa397583d0e04e4bdd96d3f3d7d207e3f000080bf5161223fba50a53e9899193eb9f545bea011cdbcf341383d692e5ebf084afd3e78c97cbee6bcf03e0ceb583f000080bf148e283f8eaba73ecfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3eff567bbeb0b0fa3e0e30563f000080bf9ba8273f5b32843ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583dadf606be8d8b733d504f7d3f000080bfd87b213f86d7813ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdbef6063e8c8b73bd4e4f7d3f000080bfb682083f86d7813ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe0e577b3ea9b0fabe0e30563f000080bf1937023f5b32843e0ad7233e1877b4bb06d723bdc8fb813e448c6e3f19c5843e44d526bfef7b08bd05fc413f000080bf3471773fd9a1343f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133ff5043fbfc8c06dbeb2bb1f3f000080bffe677a3f7792323f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3e9a443fbf91be343e870b243f000080bf0c50783f2464303f0ad7233e77562fbbcecc4cbd474b843efd3c773fcf21ba3cbd1527bf74f4203e3bbc3d3f000080bf1865753f520a363f992a333e60e2dabbcfcc4cbd8af80f3f9c80533fb8b20a3dacb121bf253bce3e2095293f000080bf6c44733fac95333f992a333e60e2dabb989919be2eea0f3f9789533f8ae40bbd0c702bbfd346f53e8646113f000080bf1002603f3482433fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e7d8816bf5e35093f50141b3f000080bfaee1763f1be32e3fb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d4bf9dfbee7de373feb830a3f000080bf0a3c713fc572313f0ad7233e6d562fbb989919bea053843e984c773fe77b9ebb862b36bf836a463ecae22c3f000080bfbc22623fdaf6453fb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd701fddbe36d44b3f1bf1d83e000080bfaef95d3f4d5f413f0ad7233efc4775bb87751dbeb1467f3e7c896e3f621a87be3c4c2fbf677cb93e82e1213f000080bfa274613f43a2463f72a5203e465c78bb71a520bec1e2723e83d4713f631b68be21cf2fbfd9f9a73e400d263f000080bf5a56613fd3b2473f87751d3e0e4875bb0ad723be6aa6823e1f686e3f322185be170f2fbfbb56ba3effe4213f000080bf7736613fc9c1483f9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabeead21abfeedc243f9de1ef3e000080bfefd75b3f1dee473fc9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5beeda3abbe0220683f99fa823e000080bf91695a3f146d463f9999193e77562fbb0ad723be5362a83cf43f773fdc4c84be6b1231bffe294d3e16a0313f000080bff7be613f185f493f9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf793c31bf05b6d93e7c3e153f000080bff7085f3ff4034c3fcecc4c3d6d562fbb0ad723be8c29e0bc412d773fcd8584be292f2ebf89d22f3e3162363f000080bf9e1b713f01855b3fcfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbfcc9435bf66ccc03ebf8c183f000080bf9e656e3fdc295e3f80b9d53c40c057bc9c1532be9cf1ccbe0231423f0fa003bf0c9e34bfb2d7d23df07e333f000080bf3b8d723fc0c1623f5cb0d03c3ae719bc0ad723bea59706bf1696503f9b347abec6081cbfe55224be10c0463f000080bfd429753f5968603fcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfe3da3abf03af133f2fbbbb3e000080bf20a66b3fc947623f80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf586241bf3a3eac3e3ef30f3f000080bff49d703fbea7653f3ae7193c5cb0d0bc0ad723befa4f48bf4a54133fcd7973be89320bbf1f0ce4be6218363f000080bfb252783f625f643f40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bfce4227bf08c89ebed4cb303f000080bf2517753f50f1653f1877b43b06d723bd0ad723be448c6ebf19c5843ecafb81be06b3b9beab5024bf02f62c3f000080bfe68a793fec05663f77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beead556be2b7927bf89053a3f000080bffe677a3f1730673f60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf8a08e6be7f5324bf94121f3f000080bf94e8763f31d8683fb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbe566dc7bcdea77d3fe4fe07be000080bff266393f00000000c9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5be19b5693e5b965f3f1d48dcbe000080bf546c333f20aecf3b9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf8439b83b2be3633fbe3fe9be000080bf546c333fa84f9b3c992a333e989919beb9f545be044afd3eea4138bd6a2e5ebf051025bdec137f3f12d098bd000080bff266393f48db923c992a333ecfcc4cbdb9f545be064afd3eed41383d6a2e5ebf4a10253dec137f3f28d0983d000080bf5c68523f48db923cb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe806dc73cdea77d3fecfe073e000080bf5c68523f00000000c9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be6da913be3558533f9faa0b3f000080bffa62583f40aecf3b9c15323e80b9d5bcc9503fbe4e25d53e5a25d53e54ee4ebf3952863c49ac623fedcded3e000080bffa62583fb84f9b3c9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabe0ba1cebd7d4e0e3fa33a533f000080bf1b9e5b3fb84f9b3c9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf8cabd2bbbb18103f8596533f000080bf773d5d3fb8512d3d9899193ecbcc4cbdcbcc4cbe9997583da697583d7e487fbf16558b3baea27f3f97d0593d000080bf5c68523fb8512d3d9999193e989919becbcc4cbe9d97583d9d9758bd7e487fbf3f528bbbaea27f3f89d059bd000080bff266393fb4512d3d9899193ea011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000032685e3f338bfd3e000080bf9da6583fb8512d3dcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfd3147e3b496d5e3f6177fd3e000080bf9da6583f175a0f3ecfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbf8eabd23bba18103f8596533f000080bf773d5d3f175a0f3ecbcc4c3dcbcc4cbdcbcc4cbea09758bda297583d7e487fbf01548bbbaea27f3f8ed0593d000080bf5c68523f175a0f3e80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf18a6923dd8b9663f1cc6da3e000080bffa62583f8d44273e9899193e992a33beb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bfb028333fb4512d3d9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be56faf53d7db3003f59265bbf000080bf3331303fb04f9b3c9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe8fa3493ceac5fd3ebf515ebf000080bfd6912e3fb4512d3dcbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bfd6912e3f175a0f3ecbcc4c3d992a33beb9f545beeb4138bd064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bfb028333f175a0f3ecbcc4c3d999919becbcc4cbe9e9758bda09758bd7e487fbf50558b3baea27f3f91d059bd000080bff266393f175a0f3e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf0535b8bb28e3633fcb3fe9be000080bf546c333f8e44273e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5be5bfaf5bd78b3003f5c265bbf000080bf3231303f8e44273ea011cd3ccfcc4cbdb9f545be084afdbefb41383d692e5ebf3c1025bdec137f3f2dd0983d000080bf5c68523f1a53283e9811cd3c989919beb9f545be064afdbed54138bd6a2e5ebf4310253dec137f3f16d098bd000080bff266393f1b53283e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbefaf274be28e55a3fb98cebbe000080bf546c333f1331343e40e2da3b989919be992a33be205f53bf673708bd0c2c10bf43fd273d08f97d3fc71ff3bd000080bff266393f84ae3a3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbfa9a425bd34f77d3fba00f43d000080bf5c68523f83ae3a3e40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bf1679343e1650623feda7dd3e000080bffa62583f1231343ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583deb207f3f609765bd179c77bd000080bf0fb87d3f57cd063dcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e486b7b3f752c04bed36e0cbe000080bf41087c3f5138173c80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53e3c0b5b3f86ce00bf2d77f8bd000080bfccb0763fe2ef3a3ca011cd3cb9f545becbcc4cbd084afdbe692e5ebff341383d81835d3f7f51febed3278abd000080bfae22783f59b20b3d9811cd3cb9f545be989919be084afdbe692e5ebfdb4138bd194b5e3f68a7fbbe6e0e88bd000080bfba2f7a3f287f063ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdd47d7f3f7cb950bda6b417bd000080bf1bc57f3fe845053e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5bed18e643f6b6ce6be9e4b9bbc000080bfecb8793f72df1e3ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbed6c97e3ff72fa7bd95eb573d000080bf7a1b7f3fa7be1e3e40e2da3b992a33be989919be9c8053bf89f80fbf94b20abd491e103f365852bfaf9db6bd000080bfd6b7733f4ca0083e40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3e85e9063fdc6a58bff78fb2bd000080bf0023723f9fec523c80b9d53c9c1532be20c057bc682bcfbe499105bfe443403ff67b2f3f4d7637bfeba103be000080bf4427743f0000000060e2da3b992a33becbcc4cbd9c8053bf8af80fbfc5b20a3d91b30e3f921d53bfb95fc4bd000080bfcaaa713fec36143d6d562f3b0ad723becbcc4cbd432d77bfc28584beb129e03c26b0823e065376bf5b66c2bd000080bff7536e3fd7151a3d38e7193c0ad723be54b0d0bc189650bf87347abea197063fab38703edfde77bfc400b1bd000080bfe4026f3f2cfa5e3c5d562f3b0ad723be999919be3a3f77bf6e4c84bef7f4acbcc2b8843e540d76bfe16bc2bd000080bf0361703f08180a3e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbe1b5a0f3ffa6d52bf8781d4bd000080bf222b753f405f203e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf06ba413fedc526bf7d1a5ebd000080bf14b7773fc2eb2c3e5572893b0ad723becd171fbe71666ebf0cfa84be78da82be21f4943ea0c873bff918bdbd000080bfdac1703fdf650f3e40e2da3b989919be992a33be205f53bf673708bd0c2c10bffac5fc3d03177cbfc680fbbd000080bfefd66f3f67c5233e05678b3bb9e522be073320be75c073bfd60153bed11c67beeb5d6d3e0add77bfe360c0bd000080bfc7a0703f788e103e65e8893bda6c21bedb6c21be783571bfaf2171bedcf973be43f7863ee4c775bf8aa3bfbd000080bf4864703f97e1113e5062843bc9881ebe0ad723be7a896ebf721a87beab467fbe5ed7963e736f73bf6cd1c1bd000080bff3e96f3fe47d143e54562f3b989919be0ad723be234c77bf65a4c9bb575384be176c253d71b47dbf956902be000080bf54d36e3f54f7143e77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beb3fe363b9cc47ebf6699c8bd000080bf773d5d3faf1d1e3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf6c67ba3cb9d07ebfa533bfbd000080bf12415e3fc2eb2c3e + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: -0.09999999} + m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} + m_MeshUsageFlags: 0 m_CookingOptions: 30 - m_Mesh: {fileID: -3071651571934779511, guid: 67cd907787fe7884e9ee9dfbe4e68f5a, type: 3} ---- !u!114 &586564675 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586564671} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + 'm_MeshMetrics[0]': 1.6879306 + 'm_MeshMetrics[1]': 1 + m_MeshOptimizationFlags: 1 + m_StreamData: serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 2 - m_DistanceCalculationMode: 1 - m_SelectMode: 1 - m_FocusMode: 1 - m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_TeleportationProvider: {fileID: 0} - m_MatchOrientation: 0 - m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 - m_FilterSelectionByHitNormal: 0 - m_UpNormalToleranceDegrees: 30 - m_Teleporting: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &587381658 + offset: 0 + size: 0 + path: +--- !u!1 &1423653692 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5405,380 +6300,251 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 587381659} - - component: {fileID: 587381667} - - component: {fileID: 587381666} - - component: {fileID: 587381668} - - component: {fileID: 587381664} - - component: {fileID: 587381663} - - component: {fileID: 587381662} - - component: {fileID: 587381661} - - component: {fileID: 587381660} - - component: {fileID: 587381665} + - component: {fileID: 1423653693} + - component: {fileID: 1423653694} m_Layer: 0 - m_Name: Sliced Cube (1) + m_Name: Collider (5) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &587381659 + m_IsActive: 1 +--- !u!4 &1423653693 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: -0.01, y: 1.2, z: 0.75} + m_GameObject: {fileID: 1423653692} + serializedVersion: 2 + m_LocalRotation: {x: -0.27059805, y: -0.27059805, z: 0.6532815, w: 0.6532815} + m_LocalPosition: {x: 0.177, y: 0, z: -0.171} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1756511964} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} ---- !u!114 &587381660 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 10f84f2b8a43cb84abcf29d7e444d45d, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - attachedToSnapZone: - m_PersistentCalls: - m_Calls: [] - detachedFromSnapZone: - m_PersistentCalls: - m_Calls: [] - lockObjectOnSnap: 0 ---- !u!114 &587381661 -MonoBehaviour: + m_Father: {fileID: 660021081} + m_LocalEulerAnglesHint: {x: 0, y: -45, z: 90} +--- !u!136 &1423653694 +CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} + m_GameObject: {fileID: 1423653692} + 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 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 428efa2c1665b6745bfa9c1ec2026c93, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - grabStarted: - m_PersistentCalls: - m_Calls: [] - grabEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &587381662 -MonoBehaviour: + serializedVersion: 2 + m_Radius: 0.02 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1471223337 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - touchStarted: - m_PersistentCalls: - m_Calls: [] - touchEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &587381663 + serializedVersion: 6 + m_Component: + - component: {fileID: 1471223338} + - component: {fileID: 1471223339} + m_Layer: 0 + m_Name: TransformerInside + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1471223338 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1471223337} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: 1.2, z: 1.125} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1192304054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1471223339 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} + m_GameObject: {fileID: 1471223337} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 1 - m_DistanceCalculationMode: 1 - m_SelectMode: 0 - m_FocusMode: 1 - m_CustomReticle: {fileID: 0} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_AttachTransform: {fileID: 0} - m_SecondaryAttachTransform: {fileID: 0} - m_UseDynamicAttach: 0 - m_MatchAttachPosition: 1 - m_MatchAttachRotation: 1 - m_SnapToColliderVolume: 1 - m_ReinitializeDynamicAttachEverySingleGrab: 1 - m_AttachEaseInTime: 0.15 - m_MovementType: 1 - m_VelocityDamping: 1 - m_VelocityScale: 1 - m_AngularVelocityDamping: 1 - m_AngularVelocityScale: 1 - m_TrackPosition: 1 - m_SmoothPosition: 0 - m_SmoothPositionAmount: 5 - m_TightenPosition: 0.5 - m_TrackRotation: 1 - m_SmoothRotation: 0 - m_SmoothRotationAmount: 5 - m_TightenRotation: 0.5 - m_TrackScale: 1 - m_SmoothScale: 0 - m_SmoothScaleAmount: 8 - m_TightenScale: 0.1 - m_ThrowOnDetach: 1 - m_ThrowSmoothingDuration: 0.25 - m_ThrowSmoothingCurve: - serializedVersion: 2 - m_Curve: - - 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: 4 - m_ThrowVelocityScale: 1.5 - m_ThrowAngularVelocityScale: 1 - m_ForceGravityOnDetach: 0 - m_RetainTransformParent: 1 - m_AttachPointCompatibilityMode: 0 - m_StartingSingleGrabTransformers: [] - m_StartingMultipleGrabTransformers: [] - m_AddDefaultGrabTransformers: 1 - isTouchable: 1 - isGrabbable: 1 - isUsable: 0 ---- !u!54 &587381664 -Rigidbody: + serializedGuid: + serializedGuid: 5ff70f47eac84445b28f57b8bc54153e + uniqueName: TransformerInside + guids: [] + tags: [] +--- !u!1 &1507460096 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!65 &587381665 -BoxCollider: + serializedVersion: 6 + m_Component: + - component: {fileID: 1507460097} + - component: {fileID: 1507460098} + - component: {fileID: 1507460099} + m_Layer: 0 + m_Name: Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1507460097 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 + m_GameObject: {fileID: 1507460096} serializedVersion: 2 - m_Size: {x: 0.40000013, y: 0.39999995, z: 0.20000006} - m_Center: {x: 0.00000047683716, y: 0, z: -0.10000003} ---- !u!23 &587381666 -MeshRenderer: + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0, y: 1.511, z: 1.142} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 535679137} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!108 &1507460098 +Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} + m_GameObject: {fileID: 1507460096} 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 + serializedVersion: 11 + m_Type: 2 + m_Color: {r: 1, g: 0, b: 1, a: 1} + m_Intensity: 4 + m_Range: 1 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, type: 2} - - {fileID: 2100000, guid: a2e88723e4cd77a4690d0637321940aa, 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 &587381667 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} - m_Mesh: {fileID: 8989072162018436745, guid: 3cd7c532cc585b54795fadfe1b32fc53, type: 3} ---- !u!114 &587381668 + 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_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!114 &1507460099 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 587381658} + m_GameObject: {fileID: 1507460096} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 4bd5dfda1461c546b1ceff6d13ef92cb - uniqueName: Sliced Cube (1) - tags: [] ---- !u!1 &595536806 + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1 &1520088448 stripped GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} + m_PrefabInstance: {fileID: 1204090590} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 595536807} - m_Layer: 0 - m_Name: Thumb_0_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &595536807 -Transform: +--- !u!64 &1520088451 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 595536806} - m_LocalRotation: {x: -0.017132446, y: 0.023738552, z: -0.011670226, w: 0.9995033} - m_LocalPosition: {x: -0.027674861, y: -0.00000018596648, z: 0.00000015173107} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1494241464} - m_Father: {fileID: 391997631} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &597715542 + m_GameObject: {fileID: 1520088448} + 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: 1 + m_CookingOptions: 30 + m_Mesh: {fileID: -2715810710897220760, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} +--- !u!1 &1525491573 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5786,54 +6552,52 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 597715543} - - component: {fileID: 597715544} - - component: {fileID: 597715548} - - component: {fileID: 597715547} - - component: {fileID: 597715546} - - component: {fileID: 597715545} + - component: {fileID: 1525491574} + - component: {fileID: 1525491575} + - component: {fileID: 1525491579} + - component: {fileID: 1525491578} + - component: {fileID: 1525491577} + - component: {fileID: 1525491576} m_Layer: 0 - m_Name: Magic Cube_SnapZone + m_Name: Snap Zone Stairs (2) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &597715543 +--- !u!4 &1525491574 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 597715542} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 1.2, z: 0.75} + m_GameObject: {fileID: 1525491573} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0.8, z: 2.2} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1106929324} - m_Father: {fileID: 1527860102} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &597715544 + - {fileID: 790520236} + m_Father: {fileID: 33704422} + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!114 &1525491575 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 597715542} + m_GameObject: {fileID: 1525491573} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: dc6efdd45e6a00744aaf4c68264d6d7c, type: 3} m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: m_Bits: 1 - m_AttachTransform: {fileID: 1106929324} + m_Handedness: 0 + m_AttachTransform: {fileID: 790520236} m_KeepSelectedTargetValid: 1 m_DisableVisualsWhenBlockedInGroup: 1 m_StartingSelectedInteractable: {fileID: 0} @@ -5852,18 +6616,6 @@ MonoBehaviour: m_Calls: [] m_StartingHoverFilters: [] m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] m_ShowInteractableHoverMeshes: 1 m_InteractableHoverMeshMaterial: {fileID: 0} m_InteractableCantHoverMeshMaterial: {fileID: 0} @@ -5875,46 +6627,55 @@ MonoBehaviour: m_SocketScaleMode: 0 m_FixedScale: {x: 1, y: 1, z: 1} m_TargetBoundsSize: {x: 1, y: 1, z: 1} - shownHighlightObject: {fileID: 919132149155446097, guid: 60134579c9ddef44284c0dad35e2444d, type: 3} + shownHighlightObject: {fileID: 919132149155446097, guid: 3cd7c532cc585b54795fadfe1b32fc53, type: 3} ShowHighlightInEditor: 1 highlightMeshMaterial: {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} validationMaterial: {fileID: 2100000, guid: c6c888b079480654fbf337e7fe50b405, type: 2} invalidMaterial: {fileID: 2100000, guid: 69e2b61a70de44f48909a564a7cf9c62, type: 2} - previewMesh: {fileID: 524671518} ---- !u!65 &597715545 + previewMesh: {fileID: 862649805} +--- !u!65 &1525491576 BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 597715542} + m_GameObject: {fileID: 1525491573} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 1 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.4, y: 0.4, z: 0.4} - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &597715546 + serializedVersion: 3 + m_Size: {x: 0.4, y: 0.4, z: 0.2} + m_Center: {x: 0, y: 0, z: -0.1} +--- !u!114 &1525491577 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 597715542} + m_GameObject: {fileID: 1525491573} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 557aaed036734781b129d67ec56c9366, type: 3} m_Name: m_EditorClassIdentifier: acceptedProcessSceneObjects: - - {fileID: 248065658} ---- !u!114 &597715547 + - {fileID: 587381668} + - {fileID: 102893243} +--- !u!114 &1525491578 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 597715542} + m_GameObject: {fileID: 1525491573} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: eb7be990fff0a2142a874601356b26df, type: 3} @@ -5928,23 +6689,24 @@ MonoBehaviour: m_PersistentCalls: m_Calls: [] lockOnUnsnap: 1 ---- !u!114 &597715548 +--- !u!114 &1525491579 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 597715542} + m_GameObject: {fileID: 1525491573} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: serializedGuid: - serializedGuid: 41ac9fab4fee234e819d2b79f916d92a - uniqueName: Magic Cube_SnapZone + serializedGuid: 6e662d7aa29798489718d4a6a25ea1d9 + uniqueName: Sliced Cube (1)_SnapZone_1 + guids: [] tags: [] ---- !u!1 &626500154 +--- !u!1 &1527860101 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5952,31 +6714,34 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 626500155} + - component: {fileID: 1527860102} m_Layer: 0 - m_Name: Middle_2_Left + m_Name: Station Transform m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &626500155 +--- !u!4 &1527860102 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 626500154} - m_LocalRotation: {x: 0.007229151, y: 0.004674483, z: -0.10485168, w: 0.9944506} - m_LocalPosition: {x: -0.02966484, y: -0.00000024318695, z: 0.000000114440915} + m_GameObject: {fileID: 1527860101} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -3, y: 0, z: 6} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1177651917} - m_Father: {fileID: 1078070624} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &628411315 + - {fileID: 815556419} + - {fileID: 597715543} + - {fileID: 1192304054} + - {fileID: 632093760} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} +--- !u!1 &1583804100 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5984,123 +6749,48 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 628411316} + - component: {fileID: 1583804101} + - component: {fileID: 1583804102} m_Layer: 0 - m_Name: Index_Palm_Left + m_Name: TransformerOutside m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &628411316 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 628411315} - m_LocalRotation: {x: 0.9956038, y: -0.056100972, z: -0.070293866, w: -0.026165245} - m_LocalPosition: {x: -0.05402496, y: 0.0060563944, z: 0.02002304} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1338586625} - m_Father: {fileID: 1909973946} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &632093759 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1527860102} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalPosition.x - value: -0.75 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: -7511558181221131132, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - - target: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_Name - value: Pedestal - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} ---- !u!4 &632093760 stripped +--- !u!4 &1583804101 Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - m_PrefabInstance: {fileID: 632093759} - m_PrefabAsset: {fileID: 0} ---- !u!1 &632093761 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e3168d03ba46dbe4eb56c62a2fcb9351, type: 3} - m_PrefabInstance: {fileID: 632093759} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!65 &632093762 -BoxCollider: + m_GameObject: {fileID: 1583804100} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.2, z: -0.25} + m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1192304054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1583804102 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 632093761} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 1583804100} m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.5000001, y: 1, z: 0.5000001} - m_Center: {x: -0.00000023841858, y: 0.5, z: 0} ---- !u!1 &643048780 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: deaeb680dc4a6547b8ec1cd1bd3c03ae + uniqueName: TransformerOutside + guids: [] + tags: [] +--- !u!1 &1637849899 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6108,45 +6798,63 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 643048781} - - component: {fileID: 643048782} + - component: {fileID: 1637849900} m_Layer: 0 - m_Name: Collider (6) + m_Name: Sphere m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &643048781 +--- !u!4 &1637849900 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 643048780} - m_LocalRotation: {x: 0.27059805, y: 0.27059805, z: 0.6532815, w: 0.6532815} - m_LocalPosition: {x: -0.182, y: 0, z: -0.163} + m_GameObject: {fileID: 1637849899} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 660021081} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 45, z: 90} ---- !u!136 &643048782 -CapsuleCollider: + m_Father: {fileID: 632093760} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1743725475 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 643048780} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.02 - m_Height: 0.2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &655638805 + serializedVersion: 6 + m_Component: + - component: {fileID: 1743725476} + m_Layer: 0 + m_Name: Station Throw Ball + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1743725476 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743725475} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 1.5, y: 0, z: -5.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 660021080} + - {fileID: 2074732593} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1 &1745294526 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6154,41 +6862,42 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 655638806} - - component: {fileID: 655638808} - - component: {fileID: 655638807} - m_Layer: 8 - m_Name: Cylinder + - component: {fileID: 1745294527} + - component: {fileID: 1745294530} + - component: {fileID: 1745294529} + - component: {fileID: 1745294528} + m_Layer: 0 + m_Name: SnapPoint m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &655638806 +--- !u!4 &1745294527 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 655638805} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: -0.1} - m_LocalScale: {x: 1, y: 0.1, z: 1} + m_GameObject: {fileID: 1745294526} + 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: 375530500} - m_RootOrder: 0 + m_Father: {fileID: 221845637} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &655638807 +--- !u!23 &1745294528 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 655638805} + m_GameObject: {fileID: 1745294526} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_StaticShadowCaster: 0 m_MotionVectors: 1 @@ -6196,10 +6905,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: a16db0f18ace882458e325d3243cb6da, type: 2} + - {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -6221,167 +6933,448 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &655638808 +--- !u!33 &1745294529 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 655638805} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &660021079 + m_GameObject: {fileID: 1745294526} + m_Mesh: {fileID: 1390574009} +--- !u!114 &1745294530 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1745294526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 88ea78c93b844cc1b7f98cca70e8679c, type: 3} + m_Name: + m_EditorClassIdentifier: + parent: {fileID: 221845638} +--- !u!1 &1756511963 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1756511964} + m_Layer: 0 + m_Name: Station Slice + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1756511964 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1756511963} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: -1, y: 0, z: 2.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 503181885} + - {fileID: 232339300} + - {fileID: 1216574281} + - {fileID: 1978455791} + - {fileID: 587381659} + - {fileID: 102893252} + - {fileID: 1204090591} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!1 &1769588067 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1769588068} + - component: {fileID: 1769588069} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1769588068 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769588067} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0.244} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 660021081} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!136 &1769588069 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1769588067} + 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: 2 + m_Radius: 0.02 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &1785665711 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 1743725476} + serializedVersion: 3 + m_TransformParent: {fileID: 2121825122} m_Modifications: - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_RootOrder - value: 0 + value: 1 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: 0.049998768 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: 1.7 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalRotation.w - value: 0 + value: 0.7071068 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalRotation.y - value: 1 + value: 0.7071068 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalEulerAnglesHint.y - value: 180 + value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_Materials.Array.data[0] + - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: 'm_Materials.Array.data[0]' value: objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: -7511558181221131132, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - - target: {fileID: -4818106957885473086, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_Materials.Array.data[0] + - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: 'm_Materials.Array.data[1]' value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + objectReference: {fileID: 2100000, guid: c434c7521ce308c46bde59286f6b7998, type: 2} + - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_Name - value: Target - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 - objectReference: {fileID: 0} - - target: {fileID: 2191750151954457832, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 + value: TouchPanel objectReference: {fileID: 0} - - target: {fileID: 2229032678205019293, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: 2229032678205019293, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 16598d12187e7ef49aaf6d2ec4136e05, type: 2} - - target: {fileID: 2229032678205019293, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - propertyPath: m_Materials.Array.data[2] - value: - objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - - target: {fileID: 3396913584297481876, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} propertyPath: m_StaticEditorFlags value: 4294967295 objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} ---- !u!4 &660021080 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - m_PrefabInstance: {fileID: 660021079} - m_PrefabAsset: {fileID: 0} ---- !u!4 &660021081 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 393777075064552474, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - m_PrefabInstance: {fileID: 660021079} - m_PrefabAsset: {fileID: 0} ---- !u!1 &660021082 stripped + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1785665728} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1785665720} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1785665727} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1785665726} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1785665725} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1785665724} + m_SourcePrefab: {fileID: 100100000, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} +--- !u!1 &1785665712 stripped GameObject: - m_CorrespondingSourceObject: {fileID: 2191750151954457832, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - m_PrefabInstance: {fileID: 660021079} + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + m_PrefabInstance: {fileID: 1785665711} m_PrefabAsset: {fileID: 0} ---- !u!65 &660021083 +--- !u!65 &1785665720 BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 660021082} + m_GameObject: {fileID: 1785665712} 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: 2 - m_Size: {x: 1.7976047, y: 1.1504669, z: 0.08324993} - m_Center: {x: 0, y: 3.5952096, z: 0.01631552} ---- !u!1 &668594701 -GameObject: + serializedVersion: 3 + m_Size: {x: 0.20000012, y: 0.2121321, z: 0.12727931} + m_Center: {x: 0.00000023841858, y: 0.03535535, z: -0.06363918} +--- !u!114 &1785665724 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 668594702} - m_Layer: 0 - m_Name: Thumb_Tip_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &668594702 -Transform: + m_GameObject: {fileID: 1785665712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + touchStarted: + m_PersistentCalls: + m_Calls: [] + touchEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1785665725 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 668594701} - m_LocalRotation: {x: 0.0000000018626451, y: 0.000000005587936, z: -0.000000014901163, w: 1} - m_LocalPosition: {x: -0.029552078, y: 0.0000000667572, z: -0.00000015109777} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1494241464} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &676405891 + m_GameObject: {fileID: 1785665712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 1785665726} + m_PokeCollider: {fileID: 1785665720} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 0 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 0 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} +--- !u!114 &1785665726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1785665712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + m_DistanceCalculationMode: 1 + m_SelectMode: 0 + m_FocusMode: 1 + m_CustomReticle: {fileID: 0} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_AttachTransform: {fileID: 0} + m_SecondaryAttachTransform: {fileID: 0} + m_UseDynamicAttach: 1 + m_MatchAttachPosition: 1 + m_MatchAttachRotation: 1 + m_SnapToColliderVolume: 0 + m_ReinitializeDynamicAttachEverySingleGrab: 1 + m_AttachEaseInTime: 0.15 + m_MovementType: 1 + m_VelocityDamping: 1 + m_VelocityScale: 1 + m_AngularVelocityDamping: 1 + m_AngularVelocityScale: 1 + m_TrackPosition: 1 + m_SmoothPosition: 0 + m_SmoothPositionAmount: 8 + m_TightenPosition: 0.1 + m_TrackRotation: 1 + m_SmoothRotation: 0 + m_SmoothRotationAmount: 8 + m_TightenRotation: 0.1 + m_TrackScale: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + m_ThrowSmoothingDuration: 0.25 + m_ThrowSmoothingCurve: + serializedVersion: 2 + m_Curve: + - 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: 4 + m_ThrowVelocityScale: 1.5 + m_ThrowAngularVelocityScale: 1 + m_ForceGravityOnDetach: 0 + m_RetainTransformParent: 1 + m_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + isTouchable: 1 + isGrabbable: 0 + isUsable: 0 +--- !u!54 &1785665727 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1785665712} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1785665728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1785665712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 64722e4363108c45b662b394c36ccaa4 + uniqueName: + guids: [] + tags: [] +--- !u!1 &1805086883 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6389,62 +7382,70 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 676405892} - m_Layer: 0 - m_Name: AttachTransform + - component: {fileID: 1805086884} + - component: {fileID: 1805086886} + - component: {fileID: 1805086885} + m_Layer: 8 + m_Name: Snap Volume m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &676405892 +--- !u!4 &1805086884 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 676405891} - m_LocalRotation: {x: 0.36650118, y: 0, z: 0, w: 0.9304176} - m_LocalPosition: {x: 0.0447, y: -0.0476, z: 0.0131} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 1805086883} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.00000005960466, y: 0, z: -0.000000059604638} + m_LocalScale: {x: 0.99999976, y: 1, z: 0.99999976} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1336895285} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 43, y: 0, z: 0} ---- !u!1 &679583487 -GameObject: + m_Father: {fileID: 2014095924} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!65 &1805086885 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 679583488} - m_Layer: 0 - m_Name: Little_1_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &679583488 -Transform: + m_GameObject: {fileID: 1805086883} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.25, y: 0.6, z: 1.25} + m_Center: {x: 0, y: 0.3, z: 0} +--- !u!114 &1805086886 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 679583487} - m_LocalRotation: {x: 0.0012706812, y: -0.0023152584, z: -0.06524572, w: 0.99786574} - m_LocalPosition: {x: -0.033131722, y: 0.00000038266182, z: -0.00000061273573} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1418001335} - m_Father: {fileID: 1466462400} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &695049118 + m_GameObject: {fileID: 1805086883} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87996e81a5026dc429bfd6a9271548b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractableObject: {fileID: 2014095928} + m_SnapCollider: {fileID: 1805086885} + m_DisableSnapColliderWhenSelected: 0 + m_SnapToCollider: {fileID: 0} +--- !u!1 &1815494800 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6452,310 +7453,119 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 695049119} + - component: {fileID: 1815494806} + - component: {fileID: 1815494805} + - component: {fileID: 1815494804} + - component: {fileID: 1815494803} + - component: {fileID: 1815494802} + - component: {fileID: 1815494801} m_Layer: 0 - m_Name: Ring_0_Left + m_Name: PROCESS_CONTROLLER m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &695049119 -Transform: +--- !u!114 &1815494801 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695049118} - m_LocalRotation: {x: 0.0037497291, y: 0.028980805, z: -0.08957866, w: 0.995551} - m_LocalPosition: {x: -0.060953286, y: -0.00000024797393, z: 0.00000015258789} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2146657147} - m_Father: {fileID: 388840135} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &697578260 -GameObject: + m_GameObject: {fileID: 1815494800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73d6fe59e43872c428b2ac1a9fd85e28, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1815494802 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 697578261} - - component: {fileID: 697578262} - m_Layer: 0 - m_Name: RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &697578261 -Transform: + m_GameObject: {fileID: 1815494800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 05625e2da85e44bd82228234d8676e45, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1815494803 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 697578260} - 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: 1729154661} - - {fileID: 496138948} - - {fileID: 1336895285} - m_Father: {fileID: 65634329} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &697578262 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 697578260} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41cc12ba1114e4f46929730a9389cb74, type: 3} - m_Name: - m_EditorClassIdentifier: - baseController: {fileID: 1729154660} - teleportController: {fileID: 496138946} - uiController: {fileID: 1336895284} - teleportModeActivate: {fileID: -8061240218431744966, guid: de2411ef647d9f24d981120efb63e621, type: 3} - teleportModeCancel: {fileID: 2307464322626738743, guid: de2411ef647d9f24d981120efb63e621, type: 3} - uiModeActivate: {fileID: -4794670585942407507, guid: de2411ef647d9f24d981120efb63e621, type: 3} - turn: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} - move: {fileID: -8198699208435500284, guid: de2411ef647d9f24d981120efb63e621, type: 3} - translateAnchor: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - rotateAnchor: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - selectState: - enabled: 0 - m_ID: 1 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - teleportState: - enabled: 0 - m_ID: 2 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - interactState: - enabled: 0 - m_ID: 3 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - uiState: - enabled: 0 - m_ID: 4 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &705507993 -GameObject: + m_GameObject: {fileID: 1815494800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Actions: {fileID: -944628639613478452, guid: 6b02a44c110911f489b56953cced3f56, type: 3} + m_NotificationBehavior: 3 + m_UIInputModule: {fileID: 0} + m_DeviceLostEvent: + m_PersistentCalls: + m_Calls: [] + m_DeviceRegainedEvent: + m_PersistentCalls: + m_Calls: [] + m_ControlsChangedEvent: + m_PersistentCalls: + m_Calls: [] + m_ActionEvents: [] + m_NeverAutoSwitchControlSchemes: 0 + m_DefaultControlScheme: + m_DefaultActionMap: Default + m_SplitScreenIndex: -1 + m_Camera: {fileID: 0} +--- !u!114 &1815494804 +MonoBehaviour: 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: Sun - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &705507994 -Light: + m_GameObject: {fileID: 1815494800} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bff89a8a00803ab45922cc05aaa080b7, type: 3} + m_Name: + m_EditorClassIdentifier: + processControllerQualifiedName: VRBuilder.UX.StandardProcessController, VRBuilder.Core, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + autoStartProcess: 1 + useCustomPrefab: 0 + customPrefab: {fileID: 0} +--- !u!114 &1815494805 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 705507993} + m_GameObject: {fileID: 1815494800} m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 0.85882354, g: 0.858539, b: 0.84705883, a: 1} - m_Intensity: 0.8 - 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 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9e218973d8ce7b141a938229d9877d26, type: 3} + m_Name: + m_EditorClassIdentifier: + lockSceneObjectsOnSceneStart: 1 +--- !u!4 &1815494806 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_LocalRotation: {x: 0.8864501, y: 0.40046445, z: 0.13547534, w: 0.18836364} - m_LocalPosition: {x: 0, y: 5, z: 0} + m_GameObject: {fileID: 1815494800} + 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_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 13.029, y: 156.335, z: 128.636} ---- !u!21 &738067764 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Standard - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHAPREMULTIPLY_ON - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - 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_Ints: [] - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 3 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 0.4, g: 0.5882353, b: 1, a: 0.19607843} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] ---- !u!1 &740016309 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1816767293 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6763,114 +7573,81 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 740016310} + - component: {fileID: 1816767294} + - component: {fileID: 1816767295} m_Layer: 0 - m_Name: Index_1_Left + m_Name: Collider (3) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &740016310 +--- !u!4 &1816767294 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 740016309} - m_LocalRotation: {x: 0.0029770152, y: -0.0028722505, z: -0.046370056, w: 0.9989158} - m_LocalPosition: {x: -0.033406343, y: 0.00000032424927, z: -0.00000019073485} + m_GameObject: {fileID: 1816767293} + serializedVersion: 2 + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: 0.245, y: 0, z: -0.0040003136} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2109031085} - m_Father: {fileID: 1338586625} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &757363299 -GameObject: + m_Children: [] + m_Father: {fileID: 660021081} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!136 &1816767295 +CapsuleCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 757363300} - - component: {fileID: 757363302} - - component: {fileID: 757363301} - m_Layer: 8 - m_Name: Cylinder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &757363300 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_GameObject: {fileID: 1816767293} + 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: 2 + m_Radius: 0.02 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1831340543 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + m_PrefabInstance: {fileID: 1006305323} + m_PrefabAsset: {fileID: 0} +--- !u!4 &1831340544 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} + m_PrefabInstance: {fileID: 1006305323} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 757363299} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: -0.1} - m_LocalScale: {x: 1, y: 0.1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1731060433} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &757363301 -MeshRenderer: +--- !u!114 &1831340547 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 757363299} + m_GameObject: {fileID: 1831340543} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - 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: a16db0f18ace882458e325d3243cb6da, 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 &757363302 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 757363299} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &790520235 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 9312dac0932f8845822278eeaf6370d4 + uniqueName: Shield + guids: [] + tags: [] +--- !u!1 &1854500746 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6878,359 +7655,754 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 790520236} - - component: {fileID: 790520239} - - component: {fileID: 790520238} - - component: {fileID: 790520237} + - component: {fileID: 1854500747} + - component: {fileID: 1854500748} + - component: {fileID: 1854500749} m_Layer: 0 - m_Name: SnapPoint + m_Name: ShieldLight m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &790520236 +--- !u!4 &1854500747 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 790520235} + m_GameObject: {fileID: 1854500746} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0.4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1525491574} - m_RootOrder: 0 + m_Father: {fileID: 1831340544} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &790520237 -MeshRenderer: +--- !u!108 &1854500748 +Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 790520235} + m_GameObject: {fileID: 1854500746} 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 + serializedVersion: 11 + m_Type: 2 + m_Color: {r: 1, g: 0, b: 1, a: 1} + m_Intensity: 2 + m_Range: 3 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 1 + 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_RendererPriority: 0 - m_Materials: - - {fileID: 539108941} - 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 &790520238 -MeshFilter: + 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_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!114 &1854500749 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 790520235} - m_Mesh: {fileID: 862649805} ---- !u!114 &790520239 + m_GameObject: {fileID: 1854500746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 3 + m_UsePipelineSettings: 1 + m_AdditionalLightsShadowResolutionTier: 2 + m_LightLayerMask: 1 + m_RenderingLayers: 1 + m_CustomShadowLayers: 0 + m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 + m_LightCookieSize: {x: 1, y: 1} + m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 0 +--- !u!1 &1969415632 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 3396913584297481876, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + m_PrefabInstance: {fileID: 660021079} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1969415634 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 790520235} + m_GameObject: {fileID: 1969415632} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88ea78c93b844cc1b7f98cca70e8679c, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - parent: {fileID: 1525491575} ---- !u!1 &795450757 + serializedGuid: + serializedGuid: aef51f1ab9c2c94585af2ac8c731f577 + uniqueName: Ring + guids: [] + tags: [] +--- !u!1001 &1977887389 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 2011926244} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalPosition.y + value: 0.6499 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalPosition.z + value: -0.95 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -90 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: c434c7521ce308c46bde59286f6b7998, type: 2} + - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_Name + value: TouchPanel + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887394} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887391} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887393} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887395} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887396} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887397} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887400} + m_SourcePrefab: {fileID: 100100000, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} +--- !u!1 &1977887390 stripped GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 795450758} - m_Layer: 0 - m_Name: Little_2_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &795450758 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + m_PrefabInstance: {fileID: 1977887389} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 795450757} - m_LocalRotation: {x: 0.007898328, y: 0.0033098771, z: -0.14792106, w: 0.9889621} - m_LocalPosition: {x: -0.021837996, y: 0.000000052452087, z: 0.0000003004074} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 858105913} - m_Father: {fileID: 1307398688} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &813701129 -GameObject: +--- !u!65 &1977887391 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 813701130} - m_Layer: 0 - m_Name: Station Unlock Chest - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &813701130 + m_GameObject: {fileID: 1977887390} + 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: 3 + m_Size: {x: 0.20000003, y: 0.2121321, z: 0.12727925} + m_Center: {x: 0, y: 0.03535535, z: -0.063639626} +--- !u!4 &1977887392 stripped Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} + m_PrefabInstance: {fileID: 1977887389} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 813701129} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 1.5, y: 0, z: -2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2014095924} - - {fileID: 1241623310} - - {fileID: 2121825122} - - {fileID: 586564670} - m_Father: {fileID: 0} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} ---- !u!1 &815556418 -GameObject: +--- !u!114 &1977887393 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 815556419} - - component: {fileID: 815556422} - - component: {fileID: 815556423} - - component: {fileID: 815556421} - - component: {fileID: 815556420} - m_Layer: 8 - m_Name: Teleportation Spot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &815556419 -Transform: + m_GameObject: {fileID: 1977887390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_Colliders: [] + m_InteractionLayers: + m_Bits: 1 + m_DistanceCalculationMode: 1 + m_SelectMode: 0 + m_FocusMode: 1 + m_CustomReticle: {fileID: 0} + m_AllowGazeInteraction: 0 + m_AllowGazeSelect: 0 + m_OverrideGazeTimeToSelect: 0 + m_GazeTimeToSelect: 0.5 + m_OverrideTimeToAutoDeselectGaze: 0 + m_TimeToAutoDeselectGaze: 3 + m_AllowGazeAssistance: 0 + m_FirstHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_LastHoverExited: + m_PersistentCalls: + m_Calls: [] + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_FirstSelectEntered: + m_PersistentCalls: + m_Calls: [] + m_LastSelectExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] + m_Activated: + m_PersistentCalls: + m_Calls: [] + m_Deactivated: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_StartingInteractionStrengthFilters: [] + m_AttachTransform: {fileID: 0} + m_SecondaryAttachTransform: {fileID: 0} + m_UseDynamicAttach: 1 + m_MatchAttachPosition: 1 + m_MatchAttachRotation: 1 + m_SnapToColliderVolume: 0 + m_ReinitializeDynamicAttachEverySingleGrab: 1 + m_AttachEaseInTime: 0.15 + m_MovementType: 1 + m_VelocityDamping: 1 + m_VelocityScale: 1 + m_AngularVelocityDamping: 1 + m_AngularVelocityScale: 1 + m_TrackPosition: 1 + m_SmoothPosition: 0 + m_SmoothPositionAmount: 8 + m_TightenPosition: 0.1 + m_TrackRotation: 1 + m_SmoothRotation: 0 + m_SmoothRotationAmount: 8 + m_TightenRotation: 0.1 + m_TrackScale: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 + m_ThrowOnDetach: 1 + m_ThrowSmoothingDuration: 0.25 + m_ThrowSmoothingCurve: + serializedVersion: 2 + m_Curve: + - 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: 4 + m_ThrowVelocityScale: 1.5 + m_ThrowAngularVelocityScale: 1 + m_ForceGravityOnDetach: 0 + m_RetainTransformParent: 1 + m_StartingSingleGrabTransformers: [] + m_StartingMultipleGrabTransformers: [] + m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 + isTouchable: 1 + isGrabbable: 0 + isUsable: 0 +--- !u!54 &1977887394 +Rigidbody: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815556418} - 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: 1521703297} - m_Father: {fileID: 1527860102} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &815556420 + m_GameObject: {fileID: 1977887390} + serializedVersion: 4 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 + m_UseGravity: 1 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!114 &1977887395 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815556418} + m_GameObject: {fileID: 1977887390} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 584ad12357614f4fbb5460fdf72e8cc6, type: 3} + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - teleportEnded: - m_PersistentCalls: - m_Calls: [] - initialized: - m_PersistentCalls: - m_Calls: [] ---- !u!65 &815556421 -BoxCollider: + serializedGuid: + serializedGuid: abba5cf45ea87a4fa9ecd84b156589f3 + uniqueName: TouchPanel + guids: [] + tags: [] +--- !u!114 &1977887396 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815556418} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 1977887390} m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 0.01, z: 1} - m_Center: {x: 0, y: 0.02, z: 0} ---- !u!114 &815556422 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + touchStarted: + m_PersistentCalls: + m_Calls: [] + touchEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1977887397 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815556418} + m_GameObject: {fileID: 1977887390} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0193c710a3042c6479b28370a44e0b0f, type: 3} + m_Script: {fileID: 11500000, guid: 3292d68f2db97a8418ca72f5b8bb5b69, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: + defaultColor: serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 2 - m_DistanceCalculationMode: 1 - m_SelectMode: 1 - m_FocusMode: 1 - m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_TeleportationProvider: {fileID: 0} - m_MatchOrientation: 2 - m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 - m_FilterSelectionByHitNormal: 0 - m_UpNormalToleranceDegrees: 30 - m_Teleporting: - m_PersistentCalls: - m_Calls: [] - m_TeleportAnchorTransform: {fileID: 1521703297} ---- !u!114 &815556423 + rgba: 4294918375 + touchingColor: + serializedVersion: 2 + rgba: 4291359096 + materialIndex: 1 + materialColorProperty: _EmissionColor +--- !u!114 &1977887400 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 815556418} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 8a8ba7249720634e83596d2c8de50700 - uniqueName: Teleportation Spot - tags: [] ---- !u!1 &820468470 + m_GameObject: {fileID: 1977887390} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 1977887393} + m_PokeCollider: {fileID: 1977887391} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 0 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 0 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} +--- !u!1001 &1978455790 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1756511964} + m_Modifications: + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: uniqueId + value: 3a6bac90-18f1-480a-9883-c7486ede5c1b + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: serializedGuid.serializedGuid.Array.size + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[0]' + value: 66 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[1]' + value: 80 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[2]' + value: 129 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[3]' + value: 144 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[4]' + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[5]' + value: 62 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[6]' + value: 126 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[7]' + value: 79 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[8]' + value: 139 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[9]' + value: 227 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[10]' + value: 135 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[11]' + value: 97 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[12]' + value: 209 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[13]' + value: 122 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[14]' + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[15]' + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalPosition.z + value: -0.05 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.x + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2999420513341540992, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: uniqueId + value: 58b7201a-9d6a-464f-8869-ffa708ccc6f8 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: serializedGuid.serializedGuid.Array.size + value: 16 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[0]' + value: 217 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[1]' + value: 239 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[2]' + value: 192 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[3]' + value: 170 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[4]' + value: 73 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[5]' + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[6]' + value: 195 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[7]' + value: 78 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[8]' + value: 152 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[9]' + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[10]' + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[11]' + value: 248 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[12]' + value: 153 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[13]' + value: 120 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[14]' + value: 129 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: 'serializedGuid.serializedGuid.Array.data[15]' + value: 22 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884954, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_AttachTransform + value: + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884954, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_UseDynamicAttach + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2999420514030884954, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_SnapToColliderVolume + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5562819036174228372, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_Name + value: LightSabre + objectReference: {fileID: 0} + - target: {fileID: 5562819036174228372, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalPosition.x + value: 0.4 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalPosition.y + value: 1.18 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalPosition.z + value: 0.6 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.x + value: -0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 6246853691175774326, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + insertIndex: -1 + addedObject: {fileID: 551482098} + m_SourcePrefab: {fileID: 100100000, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} +--- !u!4 &1978455791 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} + m_PrefabInstance: {fileID: 1978455790} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1987015393 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7238,327 +8410,247 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 820468471} - m_Layer: 0 - m_Name: ModelPt + - component: {fileID: 1987015394} + - component: {fileID: 1987015396} + - component: {fileID: 1987015395} + m_Layer: 8 + m_Name: Plane m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &820468471 +--- !u!4 &1987015394 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 820468470} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 1987015393} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 54233951} - m_Father: {fileID: 1729154661} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &844459426 -GameObject: + - {fileID: 729381799} + m_Father: {fileID: 770514938} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!23 &1987015395 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 844459427} - - component: {fileID: 844459430} - - component: {fileID: 844459429} - - component: {fileID: 844459428} - m_Layer: 0 - m_Name: TargetCollider - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &844459427 -Transform: + m_GameObject: {fileID: 1987015393} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ab885650ca87af54d8a0e2e50e88b644, 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 &1987015396 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 844459426} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 3, z: 0.36999983} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 660021080} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &844459428 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_GameObject: {fileID: 1987015393} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2008175315 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} + m_PrefabInstance: {fileID: 660021079} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 844459426} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 94f0bf7ce367d3942a1f56ec8dd56e41, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &844459429 -MonoBehaviour: +--- !u!65 &2008175316 +BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 844459426} + m_GameObject: {fileID: 2008175315} + 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 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 70c21327b894cc4682eeaaad4a2ccbf0 - uniqueName: TargetCollider - tags: [] ---- !u!65 &844459430 + serializedVersion: 3 + m_Size: {x: 1, y: 0.15393993, z: 1} + m_Center: {x: 0, y: 0.07696997, z: 0} +--- !u!65 &2008175317 BoxCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 844459426} + m_GameObject: {fileID: 2008175315} m_Material: {fileID: 0} - m_IsTrigger: 1 + 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: 2 - m_Size: {x: 0.35, y: 0.1, z: 0.35} - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &846924386 -GameObject: + serializedVersion: 3 + m_Size: {x: 0.2, y: 3.5721025, z: 0.2} + m_Center: {x: 0, y: 1.7860513, z: 0} +--- !u!1001 &2011926243 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 846924387} - - component: {fileID: 846924388} - m_Layer: 0 - m_Name: Input Action Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &846924387 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 1192304054} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalPosition.z + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} + - target: {fileID: -7511558181221131132, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: 'm_Materials.Array.data[1]' + value: + objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} + - target: {fileID: -7511558181221131132, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: 'm_Materials.Array.data[2]' + value: + objectReference: {fileID: 2100000, guid: 05eaaf1738723ca4a95a70d7a20e71b3, type: 2} + - target: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_Name + value: Transformer + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: m_StaticEditorFlags + value: 4294967295 + objectReference: {fileID: 0} + - target: {fileID: 4287207148634975974, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 2a4df160d58d76d4dac4a97bfb6dae35, type: 2} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + insertIndex: -1 + addedObject: {fileID: 1977887392} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + insertIndex: -1 + addedObject: {fileID: 2011926246} + m_SourcePrefab: {fileID: 100100000, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} +--- !u!4 &2011926244 stripped Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 846924386} - 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: 1634918261} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &846924388 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + m_PrefabInstance: {fileID: 2011926243} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 846924386} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ActionAssets: - - {fileID: -944628639613478452, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!1 &853416177 +--- !u!1 &2011926245 stripped GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 853416178} - - component: {fileID: 853416181} - - component: {fileID: 853416179} - - component: {fileID: 853416180} - m_Layer: 8 - m_Name: Stair 1 Teleportation Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &853416178 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} + m_PrefabInstance: {fileID: 2011926243} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 853416177} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.4, z: 1.8} - m_LocalScale: {x: 0.04, y: 1, z: 0.04} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 33704422} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &853416179 +--- !u!114 &2011926246 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 853416177} + m_GameObject: {fileID: 2011926245} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: serializedGuid: - serializedGuid: dab4a007ae520c47af9117adf3fb3c6f - uniqueName: Stair 1 Teleportation Area + serializedGuid: 015b2c35646e844ab0f6b7d695b2ae03 + uniqueName: Button + guids: [] tags: [] ---- !u!114 &853416180 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 853416177} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 2 - m_DistanceCalculationMode: 1 - m_SelectMode: 1 - m_FocusMode: 1 - m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_TeleportationProvider: {fileID: 0} - m_MatchOrientation: 0 - m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 - m_FilterSelectionByHitNormal: 0 - m_UpNormalToleranceDegrees: 30 - m_Teleporting: - m_PersistentCalls: - m_Calls: [] ---- !u!64 &853416181 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 853416177} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &858105912 +--- !u!1 &2014095923 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7566,96 +8658,107 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 858105913} - m_Layer: 0 - m_Name: Little_Tip_Left + - component: {fileID: 2014095924} + - component: {fileID: 2014095928} + - component: {fileID: 2014095927} + - component: {fileID: 2014095926} + - component: {fileID: 2014095925} + m_Layer: 8 + m_Name: Teleportation Spot m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &858105913 +--- !u!4 &2014095924 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 858105912} - m_LocalRotation: {x: 0.000000022351742, y: 0.000000014901163, z: -0.00000002793968, w: 1} - m_LocalPosition: {x: -0.017860297, y: 0.00000007152557, z: -0.00000015258789} + m_GameObject: {fileID: 2014095923} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0.5, y: 1, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 795450758} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &861048854 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 861048855} - - component: {fileID: 861048858} - - component: {fileID: 861048856} - - component: {fileID: 861048857} - m_Layer: 8 - m_Name: Stair 2 Teleportation Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &861048855 -Transform: + m_Children: + - {fileID: 6709181} + - {fileID: 1805086884} + - {fileID: 764837757} + m_Father: {fileID: 813701130} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} +--- !u!114 &2014095925 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861048854} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.8, z: 2.2} - m_LocalScale: {x: 0.04, y: 1, z: 0.04} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 33704422} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &861048856 + m_GameObject: {fileID: 2014095923} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 584ad12357614f4fbb5460fdf72e8cc6, type: 3} + m_Name: + m_EditorClassIdentifier: + lockOnParentObjectLock: 1 + teleportEnded: + m_PersistentCalls: + m_Calls: [] + initialized: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &2014095926 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861048854} + m_GameObject: {fileID: 2014095923} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: serializedGuid: - serializedGuid: 4cc351be75c35a46af43ba76169788b7 - uniqueName: Stair 2 Teleportation Area + serializedGuid: f5eb8ec6cdff774a82274c2396bc2513 + uniqueName: Teleportation Spot_2 + guids: [] tags: [] ---- !u!114 &861048857 +--- !u!65 &2014095927 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2014095923} + 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: 3 + m_Size: {x: 1, y: 0.01, z: 1} + m_Center: {x: 0, y: 0.02, z: 0} +--- !u!114 &2014095928 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861048854} + m_GameObject: {fileID: 2014095923} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: db00376f7b7d66e4da00d63492cb7971, type: 3} + m_Script: {fileID: 11500000, guid: 0193c710a3042c6479b28370a44e0b0f, type: 3} m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: m_Bits: 2 m_DistanceCalculationMode: 1 @@ -7714,75 +8817,202 @@ MonoBehaviour: m_StartingHoverFilters: [] m_StartingSelectFilters: [] m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] m_TeleportationProvider: {fileID: 0} - m_MatchOrientation: 0 + m_MatchOrientation: 2 m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 + m_TeleportTrigger: 0 m_FilterSelectionByHitNormal: 0 m_UpNormalToleranceDegrees: 30 m_Teleporting: m_PersistentCalls: m_Calls: [] ---- !u!64 &861048858 -MeshCollider: + m_TeleportAnchorTransform: {fileID: 6709181} +--- !u!1 &2016722927 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861048854} - m_Material: {fileID: 0} - m_IsTrigger: 0 + serializedVersion: 6 + m_Component: + - component: {fileID: 2016722928} + m_Layer: 8 + m_Name: Anchor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2016722928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2016722927} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.01, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1243447984} + m_Father: {fileID: 232339300} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2035264205 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2035264206} + - component: {fileID: 2035264208} + - component: {fileID: 2035264207} + m_Layer: 8 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2035264206 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035264205} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: -0.1} + m_LocalScale: {x: 1, y: 0.1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1243447984} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2035264207 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035264205} m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!43 &862649805 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a16db0f18ace882458e325d3243cb6da, 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 &2035264208 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2035264205} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &2074732592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2074732593} + - component: {fileID: 2074732594} + m_Layer: 0 + m_Name: Ball origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2074732593 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2074732592} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 2.125, z: -3} + m_LocalScale: {x: 0.2400001, y: 0.24, z: 0.2400001} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1743725476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2074732594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2074732592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: 71e44fecd63a0743bae1b797028b6424 + uniqueName: Ball origin + guids: [] + tags: [] +--- !u!43 &2119201252 Mesh: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: - serializedVersion: 10 + serializedVersion: 11 m_SubMeshes: - serializedVersion: 2 firstByte: 0 - indexCount: 2532 + indexCount: 5004 topology: 0 baseVertex: 0 firstVertex: 0 - vertexCount: 779 + vertexCount: 2997 localAABB: - m_Center: {x: 0, y: 0, z: -0.09999999} - m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.19999997} m_Shapes: vertices: [] shapes: [] @@ -7799,10 +9029,10 @@ Mesh: m_KeepVertices: 0 m_KeepIndices: 0 m_IndexFormat: 0 - m_IndexBuffer: 00000100020003000400050006000700080009000a000b000b000c0009000b000d000c000e000c000d000d000f000e0010000e000f00110010000f001200100011001200110013001400120013001400130015001600140015001600150017001800160017001800170019001a0011000f001b00180019001b0019001c000f001d001a001e001d000f001f001e000f000f0020001f001b001c00210022001b00210023002200210024002300210024002500230021002600240027002800290029002a00270029002b002a0029002c002b002c002d002b002e002a002b002b002f002e002f0030002e00300031002e0032002e00310033003200310033003100340034003500330035003400360037003500360036003800370034003900360034003a00390030003b003c003b003d003c003b003e003d003e003f003d003e0040003f00400041003f0040004200410042004300410042004400430044004500430044004600450046004700450046004800470048004900470048004a00490049004a004b004b004c0049004a004d004b004d004a00480048004e004d0048004f004e0050005100520052005300500052005400530050005300550055005300540054005600550056005700550055005800500055005900580059005a00580059005b005a005b005c005a005c005d005a005c005e005d005e005f005d005e0060005f00600061005f0060006200610062006300610062006400630064003200630065006600670067006600680068006900670066006a0068006a006b0068006b006c0068006b006d006c006b006e006d006e006f006d006f0070006d006f00710070006f00720071007200730071007200740073007400750073007400760075007700760078007800790077007a00780076007a0076007b007b007c007a007d007a007c007d007c007e007e007f007d007d007f008000800081007d0080008200810082008300810082008400830084008500830083008600810086008700810085008800830088008900830085008a0088008a008b0088008b008c0088008b008d008c008d008e008c008e008f008c008d0090008e00900091008e0091009000920093008e0091009100940093009500960097009700980095009800990095009a009900980098009b009a009b009c009a009b009d009c009d009e009c009d009f009e009b00a0009d009b00a100a0009d00a2009f009d00a300a200a200a4009f00a200a500a400a200a600a500a600a700a500a600a800a700a600a900a800a800aa00a700a800ab00aa00ac00aa00ab00ad00a700aa00aa00ae00ad00af00b000b100b100b200af00b200b300af00b200b400b300b400b500b300b400b600b500b700b800b900ba00bb00bc00bd00be00bf00c000c100c200c300c400c500c600c700c800c900ca00cb00cc00cd00ce00cf00d000d100cf00d100d200d200d300cf00d300d200d400d300d400d500d500d400d600d500d600d700d500d700d800d900cf00d300d500d900d300da00d500d800da00d800db00db00dc00da00db00dd00dc00db00de00dd00d500da00df00da00e000df00d500df00e100d500e100d900d900e200cf00cf00e200e300e400e200d900e100e400d900e400e500e200e600e100df00e100e600e400e600df00e700e800e600e700e800e900e600e400e600e900e900e800ea00e900ea00eb00ec00e900eb00e500e400ed00e400e900ed00ec00ed00e900e500ed00ee00ed00ec00ef00ed00ef00ee00f000f100f200f000f300f100f300f000f400f500f300f400f400f000f600f400f600f700f400f800f500f400f700f900fa00f800f400f400f900fa00fa00fb00f800f900fc00fa00fb00fa00fc00f900fd00fc00fe00fb00fc00ff00fe00fc000001ff00fc00fc00fd00010102010001fc000301fc000101fc000301020103010101040105010301040106010201030105010701030106010301070108010601070108010701090109010a0108010b010a0109010b0109010c010d010e010f010d010f01100111010d011001110112010d01110113011201110114011301150113011401160115011401170111011001170114011101180110010f01170110011801160114011901170119011401160119011a0116011a011b01190117011c0119011c011a0118011c0117011c011d011a0118010f011e011e010f011f011e011f01200121011e012001220118011e01210122011e01180123011c012201230118012101240122012301220124012101250124011c0126011d0126011c0123012301240127012601230127012701240128012701280129012a01270129012a01260127012a011d0126012a012b011d012c012d012e012c012e012f0130012c012f01300131012c01300132013101300133013201340133013001340130012f0134013501330136012f012e0134012f01360136012e01370136013701380139013501340139013a0135013b0134013601360138013b013b01390134013b0138013c013d013c0138013d013e013c013c013e013f0140013c013f013b013c0140013b01410139013b014001410140014201410140014301420140013f014301390141014401390144013a014201440141013a01440145013a014501460144014701450142014701440148014701420149014801420142014a0149014b014a0142014b01420143014b0143013f014c014b013f014d014c013f014e014d013f014f014e013f013f0150014f0151015201530153015401510151015401550151015501560151015601570156015501580158015901560158015a0159015a015b0159015a015c015b015d015e015f015f0160015d01600161015d0160016201610160016301620162016301640164016501620165016401660165016601670165016701680165016801690169016a01650169016b016a0169016c016b016b016c016d016e016b016d016d016f016e016f0170016e01700171016e016f0172017001700172017301730174017001730175017401730176017501770178017901770179017a017b0177017a017b017c0177017b017d017c017b017e017d017f017d017e0180017f017e0181017b017a0181017e017b0182017a01790181017a01820180017e018301810183017e01800183018401800184018501830181018601830186018401820186018101860187018401820179018801880179018901880189018a018b0188018a018c01820188018b018c01880182018d0186018c018d0182018b018e018c018d018c018e018b018f018e01860190018701900186018d018d018e01910190018d01910191018e0192019101920193019401910193019401900191019401870190019401950187019601970198019601980199019a01960199019a019b0196019a019c019b019a019d019c019e019d019a019e019a0199019e019f019d01a001990198019e019901a001a0019801a101a001a101a201a3019f019e01a301a4019f01a5019e01a001a001a201a501a501a3019e01a501a201a601a701a601a201a701a801a601a601a801a901a501a601aa01aa01a601a901a501ab01a301a501aa01ab01a301ac01a401a301ab01ac01aa01ad01ab01ad01ac01ab01a401ac01ae01a401ae01af01ac01b001ae01ad01b001ac01aa01a901b101aa01b101ad01b201b001ad01b101b201ad01b201b301b001b101b401b201b401b101a901b401a901b501b601b701b801b901b601b801b801ba01b901bb01b901ba01bb01bc01b901bd01bc01bb01be01bd01bb01bf01be01bb01bb01c001bf01c101bf01c001c001c201c101c301c001bb01ba01c301bb01ba01b801c401b801c501c401ba01c401c601ba01c601c301c301c701c001c001c701c801c901c701c301c601c901c301c901ca01c701cb01c601c401c601cb01c901cb01c401cc01cd01cb01cc01cd01ce01cb01c901cb01ce01c901ce01cf01cf01ca01c901cf01d001ca01d101d201d301d101d301d401d501d101d401d501d601d101d501d701d601d501d801d701d401d901d501d801d501d901d401da01d901da01d401d301d901db01d801d301dc01da01dd01dc01d301dd01d301de01df01d801db01db01e001df01e001e101df01e101e201df01e201e301df01e401df01e301e401e301e501e201e601e301e301e701e501e801e301e601e301e801e701e601e901e801e801ea01e701e901eb01e801e801ec01ea01e801eb01ec01ed01ee01ef01ed01ef01f001ed01f001f101ed01f101f201f101f301f201f101f401f301f001ef01f501f501f601f001f601f101f001ef01f701f501f801f701ef01f801f901f701f601fa01f101f101fa01fb01f101fb01fc01f101fc01fd01f401f101fd01f401fd01fe01fe01ff01f401fe010002ff01fe01010200020202f401ff0100020202ff0102020302f401000204020202000205020402000206020502060200020102010207020602080209020a020a020b0208020b020a020c020c020a020d020e0208020b020e020f0208020f020e021002100211020f0212020e020b02120210020e020b020c02130212020b021302100214021102140215021102140216021502140217021602180217021402180214021902180219021a021a021b0218021a021c021b021d0213020c021d020c021e021d021e021f021d021f022002210213021d0221021d022002210212021302210220022202220223022102220224022302210223022502210225021202120225021002250226021002270228022902270229022a022b0227022a022b022c0227022b022d022c022b022e022d022f022d022e0230022f022e0231022b022a0231022e022b0232022a02290231022a02320230022e023302310233022e02300233023402300234023502330231023602330236023402320236023102360237023402320229023802380229023902380239023a023b0238023a023c02320238023b023c02380232023d0236023c023d0232023b023e023c023d023c023e023b023f023e02360240023702400236023d023d023e02410240023d02410241023e0242024102420243024402410243024402400241024402370240024402450237024602470248024602480249024a024602490249024b024a024c024a024b024c024b024d024c024d024e024f024e024d024f0250024e024e0251024c024e02500252024e025302510253024e025202530254025102530255025402530256025502570256025302530252025802590258025202590252025a02580259025b02530258025c0258025b025c02570253025d0253025c025d0257025d025e025c025e025d025e025f0257025e0260025f02610260025e0261025e0262025e02630262025c0263025e025b0263025c025b0264026302650266026702650267026802650268026902650269026a026a0269026b026a026b026c026d026b02690268026d026902680267026e0267026f026e0268026e027002680270026d026d0271026b026b0271027202730271026d02700273026d02730274027102750270026e0270027502730275026e02760277027502760277027802750273027502780273027802790279027402730279027a0274027b027c027d027b027d027e027b027e027f027b027f0280027f02810280027f02820281027e027d028302830284027e0284027f027e02840285027f027f028502860282027f0286028602870282028702880282028702890288027d028a0283027d028b028a028b027d028c028c027d028d028c028d028e028c028f028b028c028e02900291028f028c028c0290029102910292028f0290029302910292029102930290029402930295029202930293029402960293029702950296029702930296029802970299029a029b029c029a0299029d029a029c029d029e029a029e029d029f029e029f02a0029f02a102a0029f02a202a102a2029f02a3029d02a3029f02a202a302a402a302a502a402a302a602a502a602a302a7029d02a702a302a602a702a802a702a902a802aa02a7029d02aa029d029c02a702aa02a902ab02aa029c02ab02a902aa02ab029c02ac029c029902ac02ab02ad02a902ad02ae02a902af02ad02ab02af02ab02ac02af02b002ad02b102ac029902af02ac02b102b1029902b202b102b202b302b102b302b402af02b102b402af02b402b502b502b002af02b502b602b002b702b802b902ba02b702b902b902bb02ba02bc02ba02bb02bb02b902bd02bb02bd02be02bc02bf02ba02bb02be02c002bb02c002bc02c102bf02bc02c202c102bc02c302c202bc02c002c402bc02bc02c402c302c002c502c402c602c302c402c402c702c602c802c602c702c802c702c902c802c902ca02ca02cb02c802cc02ca02c902cc02cd02ca02ce02cb02ca02ca02cd02cf02ce02ca02cf02d002ce02cf02d102d002cf02cf02d202d102d302d402d502d302d502d602d702d302d602d702d802d302d702d902d802d702da02d902db02d902da02dc02db02da02dd02d702d602dd02da02d702de02d602d502dd02d602de02dc02da02df02dd02df02da02dc02df02e002dc02e002e102df02dd02e202df02e202e002de02e202dd02e202e302e002de02d502e402e402d502e502e402e502e602e702e402e602e802de02e402e702e802e402de02e902e202e802e902de02e702ea02e802e902e802ea02e702eb02ea02e202ec02e302ec02e202e902e902ea02ed02ec02e902ed02ed02ea02ee02ed02ee02ef02f002ed02ef02f002ec02ed02f002e302ec02f002f102e302f202f302f402f202f402f502f202f502f602f202f602f702f702f602f802f702f802f902fa02f802f602f502fa02f602f502f402fb02f402fc02fb02f502fb02fd02f502fd02fa02fe02fd02fb02fe02fa02fd02fb02ff02fe02fe020003fa02fa020103f8020103fa020003f80201030203000303030103040301030303030305030403050306030403060307030403070308030403040308030903040309030a03 + m_IndexBuffer: 00000100020003000400050006000700080009000a000b000c000d000e000f001000110012001300140014001500120014001600150017001800190019001a00170019001b001a0019001c001b001c001d001b001e001f002000200021001e00210022001e00220023001e0024002500260026002700240027002800240028002900240028002a0029002b002c002d002d002e002b002e002f002b003000310032003200330030003200340033003500360037003700380035003800390035003a003b003c003c003d003a003d003e003a003f0040004100410042003f00420043003f0044004500460046004700440046004800470049004a004b004b004c0049004c004d0049004e004f005000500051004e00500052005100530054005500550056005300550057005600580059005a005a005b0058005b005c0058005c005d0058005c005e005d005f0060006100610062005f0061006300620064006500660066006700640067006800640069006a006b006b006c0069006c006d0069006d006e0069006f0070007100710072006f007100730072007100740073007400750073007600770078007900780077007a007800790079007b007a007b007c007a007b007d007c007d007e007c007d007f007e007d0080007f00800081007f00810082007f008100830082008300840082008300850084008500860084008500870086008500880087008900790077008a00890077008a008b0089008c008a0077008a008c008d008e008c0077008f008c008e0090008e0077007700910090008f008e00920093008f0092009400930092009400920095009600940095009600950097009600970098009900960098009a00990098009a0098009b009a009b009c009d009a009c009e009d009c009e009c009f009f00a0009e00a100a200a300a300a400a100a300a500a400a500a600a400a700a600a500a700a500a800a900a700a800a900a800aa00ab00a900aa00ab00aa00ac00ad00ab00ac00ad00ac00ae00af00ad00ae00af00ae00b000b100af00b000b200b100b000b200b000b300b400b200b300b400b300b500b500b600b400b700b800b900b700b900ba00bb00b700ba00bb00ba00bc00bd00bb00bc00bd00bc00be00bf00bd00be00bf00be00c000c100bf00c000c100c000c200c300c100c200c300c200c400c500c300c400c500c400c600c700c500c600c600a400c700c700a400a600c800c700a600c900c800a600a600ca00c900cb00cc00cd00ce00cd00cc00cf00cd00ce00ce00d000cf00d000d100cf00d000d200d100d200d300d100d200d400d300d400d500d300d400d600d500d600d700d500d600d800d700d600d900d800d900da00d800da00db00d800da00dc00db00da00dd00dc00dd00de00dc00cc00df00e000e000e100cc00e100e200cc00e300e200e100e300e100e400e500e300e400e500e400e600e700e500e600e800e700e600e800e600e900ea00e800e900ea00e900eb00ec00ea00eb00ec00eb00ed00ec00ed00ee00ef00ec00ee00f000ef00ee00ee00f100f000f200f300f400f200f400cc00f400ce00cc00e200f200cc00f200e200f500f600f700f800f800f900f600f800fa00f900fa00fb00f900fc00fb00fa00fc00fa00fd00fb00fe00f900ff00fc00fd00ff00fd000001ff00000101010201ff0001010201010103010401020103010401030105010601040105010701060105010701050108010701080109010a010701090109010b010a010c01f900fe000d010c01fe000e010d01fe00fe000f010e010c011001110110011201110110011301120113011401120113011501140115011601140115011701160117011801160117011901180119011a01180119011b011a011b011c011a011b011d011c011d011e011c011d011f011e01200121012201220123012001230122012401250123012401230125012601270123012601270126012801290127012801290128012a012b0129012a012b012a012c012b012c012d012e012b012d012f012e012d012f012d0130012f013001310132012f0131013301320131013401330131013101350134013601370125012501240136013801240139013901240122013a013901220122013b013a0139013c0138013c013d0138013c013e013d013e013f013d013e0140013f01400141013f0140014201410142014301410142014401430144014501430144014601450146014701450146014801470146014901480149014a0148014b014c014d014c014b014e014f014c014e0150014e014b014b0151015001500152014e0153014f014e0154014f015301550153014e0155014e015601560157015501540153015801590154015801590158015a015b0159015a015b015a015c015d015b015c015d015c015e015f015d015e015f015e0160015f016001610162015f01610163016201610164016301610161016501640166016701680168016901660169016a01660169016b016a016b016c016a016b016d016c016d016e016c016e016f016c016e0170016f01700171016f017001720171017201730171017201740173017201750174017501760174017701780179017a017b017c017d017e017f0180018101820183018401850186018701880189018a018b018c018d018e018f0190019101920193019401950196019701980199019a019b019c019d019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd01be01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc01cd01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db01dc01dd01de01df01e001e101e201e301e401e501e601e701e801e901ea01eb01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc01fd01fe01ff0100020102020203020402050206020702080209020a020b020c020d020e020f0210021102120213021402150216021702180219021a021b021c021d021e021f02200221022202230224022202240225022602270228022602280229022a022b022c022a022c022d022e022f023002300231022e02310232022e02330234023502330235023602370238023902370239023a023b023c023d023b023d023e023f0240024102410242023f02410243024202440245024602440246024702480249024a0248024a024b024c024d024e024c024e024f02500251025202500252025302540255025602540256025702580259025a025a025b0258025b025c0258025c025d0258025d025e0258025e025f0258025f026002580261026202630261026302640265026602670265026702680269026a026b0269026b026c026d026e026f026f0270026d02700271026d0272027302740272027402750276027702780278027902760279027a0276027b027c027d027b027d027e027f0280028102810282027f02820283027f02830284027f02840285027f02850286027f02870288028902870289028a028b028c028d028b028d028e028f02900291028f0291029202930294029502930295029602970298029902970299029a029b029c029d029b029d029e029f02a002a1029f02a102a202a302a402a502a302a502a602a702a802a902a702a902aa02ab02ac02ad02ab02ad02ae02af02b002b102af02b102b202b302b402b502b502b602b302b502b702b602b802b902ba02b802ba02bb02bc02bd02be02be02bf02bc02be02c002bf02c102c202c302c102c302c402c502c602c702c502c702c802c902ca02cb02c902cb02cc02cd02ce02cf02cd02cf02d002d102d202d302d102d302d402d502d602d702d502d702d802d902da02db02d902db02dc02dd02de02df02df02e002dd02df02e102e002e102e202e002e102e302e202e102e402e302e502e602e702e502e702e802e902ea02eb02e902eb02ec02ed02ee02ef02ed02ef02f002f102f202f302f102f302f402f502f602f702f502f702f802f902fa02fb02f902fb02fc02fd02fe02ff02fd02ff02000301030203030301030303040305030603070305030703080309030a030b0309030b030c030d030e030f030d030f03100311031203130311031303140315031603170315031703180319031a031b0319031b031c031d031e031f031d031f03200321032203230321032303240325032603270325032703280329032a032b0329032b032c032d032e032f032d032f03300331033203330331033303340335033603370335033703380339033a033b0339033b033c033d033e033f033d033f03400341034203430341034303440345034603470345034703480349034a034b0349034b034c034d034e034f034d034f03500351035203530351035303540355035603570355035703580359035a035b0359035b035c035d035e035f035d035f03600361036203630363036403610364036303650364036503660364036603670367036803640369036a036b0369036b036c036d036e036f036d036f03700371037203730371037303740375037603770375037703780379037a037b0379037b037c037d037e037f037d037f03800381038203830381038303840385038603870385038703880389038a038b0389038b038c038d038e038f038d038f0390039103920393039103930394039503960397039703980395039803990395039a039b039c039a039c039d039e039f03a0039e03a003a103a203a303a403a203a403a503a603a703a803a803a903a603a903aa03a603ab03ac03ad03ab03ad03ae03af03b003b103af03b103b203b303b403b503b303b503b603b703b803b903b903ba03b703ba03b903bb03ba03bb03bc03bd03ba03bc03bc03be03bd03bf03c003c103bf03c103c203c303c403c503c303c503c603c703c803c903c703c903ca03cb03cc03cd03cd03ce03cb03ce03cf03cb03d003d103d203d003d203d303d403d503d603d603d703d403d703d803d403d903da03db03d903db03dc03dd03de03df03dd03df03e003e103e203e303e103e303e403e503e603e703e503e703e803e903ea03eb03e903eb03ec03ed03ee03ef03ed03ef03f003f103f203f303f103f303f403f503f603f703f703f803f503f803f703f903f803f903fa03f803fa03fb03fb03fc03f803fd03fe03ff03fd03ff03000401040204030401040304040405040604070405040704080409040a040b040b040c0409040c040d0409040e040f0410040e0410041104120413041404140415041204150416041204170418041904170419041a041b041c041d041b041d041e041f04200421041f0421042204230424042504230425042604270428042904270429042a042b042c042d042b042d042e042f04300431042f0431043204330434043504330435043604370438043904370439043a043b043c043d043b043d043e043f04400441043f0441044204430444044504430445044604470448044904470449044a044b044c044d044b044d044e044f04500451044f0451045204530454045504530455045604570458045904570459045a045b045c045d045b045d045e045f04600461045f0461046204630464046504630465046604670468046904670469046a046b046c046d046b046d046e046f04700471046f0471047204730474047504730475047604770478047904770479047a047b047c047d047b047d047e047f04800481047f0481048204830484048504830485048604870488048904870489048a048b048c048d048b048d048e048f04900491048f0491049204930494049504950496049304950497049604980499049a0498049a049b049c049d049e049e049f049c049f04a0049c04a104a204a304a104a304a404a504a604a704a504a704a804a904aa04ab04a904ab04ac04ad04ae04af04af04b004ad04b004b104ad04b104b204ad04b204b304ad04b304b404ad04b504b604b704b504b704b804b904ba04bb04b904bb04bc04bd04be04bf04bd04bf04c004c104c204c304c104c304c404c504c604c704c504c704c804c904ca04cb04cb04cc04c904cb04cd04cc04cd04ce04cc04cd04cf04ce04cd04d004cf04d104d204d304d104d304d404d504d604d704d504d704d804d904da04db04d904db04dc04dd04de04df04dd04df04e004e104e204e304e104e304e404e504e604e704e504e704e804e904ea04eb04e904eb04ec04ed04ee04ef04ed04ef04f004f104f204f304f104f304f404f504f604f704f504f704f804f904fa04fb04f904fb04fc04fd04fe04ff04fd04ff0400050105020503050105030504050505060507050705080505050705090508050a050b050c050a050c050d050e050f051005100511050e05110512050e0513051405150513051505160517051805190519051a05170519051b051a051c051d051e051c051e051f05200521052205200522052305240525052605240526052705280529052a052a052b0528052a052c052b052d052e052f052d052f05300531053205330531053305340535053605370535053705380539053a053b053b053c0539053c053d0539053d053e0539053e053f0539053f054005390541054205430541054305440545054605470545054705480549054a054b0549054b054c054d054e054f054d054f05500551055205530551055305540555055605570555055705580559055a055b0559055b055c055d055e055f055d055f05600561056205630561056305640565056605670565056705680569056a056b0569056b056c056d056e056f056d056f05700571057205730571057305740575057605770575057705780579057a057b0579057b057c057d057e057f057d057f05800581058205830581058305840585058605870585058705880589058a058b0589058b058c058d058e058f058d058f05900591059205930591059305940595059605970595059705980599059a059b0599059b059c059d059e059f059d059f05a005a105a205a305a105a305a405a505a605a705a505a705a805a905aa05ab05a905ab05ac05ad05ae05af05ad05af05b005b105b205b305b105b305b405b505b605b705b505b705b805b905ba05bb05b905bb05bc05bd05be05bf05bd05bf05c005c105c205c305c105c305c405c505c605c705c705c805c505c805c905c505ca05cb05cc05ca05cc05cd05ce05cf05d005ce05d005d105d205d305d405d205d405d505d605d705d805d805d905d605d905da05d605db05dc05dd05db05dd05de05df05e005e105e105e205df05e205e305df05e405e505e605e405e605e705e805e905ea05ea05eb05e805eb05ec05e805ed05ee05ef05ed05ef05f005f105f205f305f105f305f405f505f605f705f505f705f805f905fa05fb05f905fb05fc05fd05fe05ff05fd05ff05000601060206030601060306040605060606070605060706080609060a060b060b060c0609060c060b060d060c060d060e060c060e060f060c060f061006100611060c0612061306140612061406150616061706180618061906160619061a0616061b061c061d061b061d061e061f06200621061f062106220623062406250623062506260627062806290629062a0627062a062b0627062c062d062e062c062e062f06300631063206300632063306340635063606340636063706380639063a063b0638063a063c063b063a063a063d063c063e063c063d063d063f063e06400641064206400642064306440645064606440646064706480649064a0648064a064b064c064d064e064f064c064e0650064f064e064e0651065006520650065106510653065206540655065606540656065706580659065a0658065a065b065c065d065e065c065e065f06600661066206600662066306640665066606640666066706680669066a0668066a066b066c066d066e066c066e066f06700671067206700672067306740675067606740676067706780679067a0678067a067b067c067d067e067c067e067f06800681068206800682068306840685068606840686068706880689068a0688068a068b068c068d068e068c068e068f06900691069206900692069306940695069606940696069706980699069a0698069a069b069c069d069e069c069e069f06a006a106a206a006a206a306a406a506a606a406a606a706a806a906aa06a806aa06ab06ac06ad06ae06ac06ae06af06b006b106b206b006b206b306b406b506b606b406b606b706b806b906ba06b806ba06bb06bc06bd06be06bc06be06bf06c006c106c206c006c206c306c406c506c606c406c606c706c806c906ca06c806ca06cb06cc06cd06ce06cc06ce06cf06d006d106d206d006d206d306d406d506d606d406d606d706d806d906da06d806da06db06dc06dd06de06dc06de06df06e006e106e206e006e206e306e406e506e606e406e606e706e806e906ea06e806ea06eb06ec06ed06ee06ec06ee06ef06f006f106f206f006f206f306f406f506f606f406f606f706f806f906fa06f806fa06fb06fc06fd06fe06fc06fe06ff06000701070207000702070307040705070607040706070707080709070a0708070a070b070c070d070e070c070e070f0710071107120710071207130714071507160716071707140717071807140718071907140719071a0714071a071b0714071c071d071e071c071e071f07200721072207200722072307240725072607240726072707280729072a0728072a072b072c072d072e072c072e072f07300731073207300732073307340735073607340736073707380739073a073a073b0738073b073c0738073c073d0738073d073e0738073e073f07380740074107420740074207430744074507460746074707440746074807470749074a074b0749074b074c074d074e074f074f0750074d07500751074d075207530754075207540755075607570758075607580759075a075b075c075a075c075d075e075f0760075e076007610762076307640762076407650766076707680768076907660768076a0769076a076b0769076a076c076b076a076d076c076a076e076d076f07700771076f0771077207730774077507730775077607770778077907770779077a077b077c077d077d077e077b077e077f077b07800781078207800782078307840785078607840786078707880789078a0788078a078b078c078d078e078e078f078c078e0790078f0791079207930791079307940795079607970795079707980799079a079b0799079b079c079d079e079f079f07a0079d079f07a107a007a207a307a407a207a407a507a607a707a807a807a907a607a807aa07a907ab07ac07ad07ab07ad07ae07af07b007b107af07b107b207b307b407b507b307b507b607b707b807b907b707b907ba07bb07bc07bd07bb07bd07be07bf07c007c107bf07c107c207c307c407c507c307c507c607c707c807c907c707c907ca07cb07cc07cd07cb07cd07ce07cf07d007d107cf07d107d207d307d407d507d307d507d607d707d807d907d707d907da07db07dc07dd07db07dd07de07df07e007e107df07e107e207e307e407e507e307e507e607e707e807e907e707e907ea07eb07ec07ed07eb07ed07ee07ef07f007f107ef07f107f207f307f407f507f307f507f607f707f807f907f707f907fa07fb07fc07fd07fb07fd07fe07ff0700080108ff0701080208030804080508030805080608070808080908070809080a080b080c080d080b080d080e080f08100811080f0811081208130814081508130815081608170818081908170819081a081b081c081d081b081d081e081f08200821081f0821082208230824082508230825082608270828082908270829082a082b082c082d082b082d082e082f08300831082f08310832083308340835083308350836083708380839083a08370839083b083a08390839083c083b083d083b083c083c083e083d083f08400841083f0841084208430844084508430845084608470848084908470849084a084b084c084d084d084e084b084e084f084b0850085108520850085208530854085508560856085708540857085808540859085a085b0859085b085c085d085e085f085d085f08600861086208630861086308640865086608670867086808650869086a086b0869086b086c086d086e086f086f0870086d08700871086d087208730874087208740875087608770878087608780879087a087b087c087a087c087d087e087f0880087e08800881088208830884088208840885088608870888088608880889088a088b088c088a088c088d088e088f089008900891088e089108900892089108920893089108930894089408950891089608970898089608980899089a089b089c089a089c089d089e089f08a0089e08a008a108a208a308a408a208a408a508a608a708a808a608a808a908aa08ab08ac08aa08ac08ad08ae08af08b008ae08b008b108b208b308b408b508b208b408b608b508b408b408b708b608b808b608b708b708b908b808ba08bb08bc08ba08bc08bd08be08bf08c008be08c008c108c208c308c408c208c408c508c608c708c808c808c908c608c908ca08c608cb08cc08cd08cb08cd08ce08cf08d008d108cf08d108d208d308d408d508d308d508d608d708d808d908d908da08d708da08db08d708dc08dd08de08dc08de08df08e008e108e208e008e208e308e408e508e608e408e608e708e808e908ea08e808ea08eb08ec08ed08ee08ec08ee08ef08f008f108f208f008f208f308f408f508f608f408f608f708f808f908fa08f808fa08fb08fc08fd08fe08fc08fe08ff08000901090209000902090309040905090609040906090709080909090a0908090a090b090c090d090e090c090e090f09100911091209100912091309140915091609140916091709180919091a0918091a091b091c091d091e091c091e091f09200921092209200922092309240925092609240926092709280929092a0928092a092b092c092d092e092c092e092f09300931093209300932093309340935093609340936093709380939093a0938093a093b093c093d093e093c093e093f09400941094209400942094309440945094609440946094709480949094a0948094a094b094c094d094e094c094e094f09500951095209500952095309540955095609540956095709580959095a0958095a095b095c095d095e095c095e095f0960096109620962096309600963096409600965096609670965096709680969096a096b096b096c0969096b096d096c096e096f0970096e09700971097209730974097209740975097609770978097609780979097a097b097c097c097d097a097c097e097d097e097f097d097e0980097f097e09810980098209830984098209840985098609870988098609880989098a098b098c098a098c098d098e098f099009900991098e09900992099109930994099509930995099609970998099909970999099a099b099c099d099b099d099e099f09a009a109a109a2099f09a109a309a209a409a509a609a409a609a709a809a909aa09a809aa09ab09ac09ad09ae09ac09ae09af09b009b109b209b009b209b309b409b509b609b409b609b709b809b909ba09ba09bb09b809ba09bc09bb09bc09bd09bb09bc09be09bd09bc09bf09be09c009c109c209c009c209c309c409c509c609c609c709c409c609c809c709c909ca09cb09c909cb09cc09cd09ce09cf09cf09d009cd09cf09d109d009d209d309d409d209d409d509d609d709d809d609d809d909da09db09dc09da09dc09dd09de09df09e009de09e009e109e209e309e409e209e409e509e609e709e809e609e809e909ea09eb09ec09ea09ec09ed09ee09ef09f009ee09f009f109f209f309f409f209f409f509f609f709f809f809f909f609f809fa09f909fa09fb09f909fa09fc09fb09fa09fd09fc09fe09ff09000afe09000a010a020a030a040a020a040a050a060a070a080a060a080a090a0a0a0b0a0c0a0a0a0c0a0d0a0e0a0f0a100a0e0a100a110a120a130a140a120a140a150a160a170a180a160a180a190a1a0a1b0a1c0a1a0a1c0a1d0a1e0a1f0a200a1e0a200a210a220a230a240a220a240a250a260a270a280a260a280a290a2a0a2b0a2c0a2a0a2c0a2d0a2e0a2f0a300a2e0a300a310a320a330a340a320a340a350a360a370a380a360a380a390a3a0a3b0a3c0a3a0a3c0a3d0a3e0a3f0a400a3e0a400a410a420a430a440a420a440a450a460a470a480a460a480a490a4a0a4b0a4c0a4a0a4c0a4d0a4e0a4f0a500a4e0a500a510a520a530a540a520a540a550a560a570a580a560a580a590a5a0a5b0a5c0a5a0a5c0a5d0a5e0a5f0a600a5e0a600a610a620a630a640a620a640a650a660a670a680a660a680a690a6a0a6b0a6c0a6a0a6c0a6d0a6e0a6f0a700a6e0a700a710a720a730a740a720a740a750a760a770a780a760a780a790a7a0a7b0a7c0a7a0a7c0a7d0a7e0a7f0a800a7e0a800a810a820a830a840a820a840a850a860a870a880a860a880a890a8a0a8b0a8c0a8a0a8c0a8d0a8e0a8f0a900a8e0a900a910a920a930a940a940a950a920a950a940a960a950a960a970a980a950a970a970a990a980a9a0a9b0a9c0a9a0a9c0a9d0a9e0a9f0aa00a9e0aa00aa10aa20aa30aa40aa20aa40aa50aa60aa70aa80aa80aa90aa60aa90aaa0aa60aab0aac0aad0aab0aad0aae0aaf0ab00ab10ab10ab20aaf0ab20ab30aaf0ab40ab50ab60ab40ab60ab70ab80ab90aba0ab80aba0abb0abc0abd0abe0abc0abe0abf0ac00ac10ac20ac00ac20ac30ac40ac50ac60ac40ac60ac70ac80ac90aca0ac80aca0acb0acc0acd0ace0acc0ace0acf0ad00ad10ad20ad00ad20ad30ad40ad50ad60ad40ad60ad70ad80ad90ada0adb0ad80ada0adc0adb0ada0ada0add0adc0ade0adc0add0add0adf0ade0ae00ae10ae20ae00ae20ae30ae40ae50ae60ae40ae60ae70ae80ae90aea0ae80aea0aeb0aec0aed0aee0aec0aee0aef0af00af10af20af00af20af30af40af50af60af40af60af70af80af90afa0af80afa0afb0afc0afd0afe0afe0aff0afc0aff0a000bfc0a010b020b030b010b030b040b050b060b070b070b080b050b080b090b050b0a0b0b0b0c0b0a0b0c0b0d0b0e0b0f0b100b0e0b100b110b120b130b140b120b140b150b160b170b180b160b180b190b1a0b1b0b1c0b1a0b1c0b1d0b1e0b1f0b200b210b1e0b200b220b210b200b230b220b200b200b240b230b250b230b240b240b260b250b270b280b290b270b290b2a0b2b0b2c0b2d0b2d0b2e0b2b0b2e0b2f0b2b0b300b310b320b300b320b330b340b350b360b360b370b340b370b380b340b390b3a0b3b0b390b3b0b3c0b3d0b3e0b3f0b3d0b3f0b400b410b420b430b410b430b440b450b460b470b450b470b480b490b4a0b4b0b490b4b0b4c0b4d0b4e0b4f0b4d0b4f0b500b510b520b530b510b530b540b550b560b570b550b570b580b590b5a0b5b0b590b5b0b5c0b5d0b5e0b5f0b5d0b5f0b600b610b620b630b610b630b640b650b660b670b650b670b680b690b6a0b6b0b690b6b0b6c0b6d0b6e0b6f0b6d0b6f0b700b710b720b730b710b730b740b750b760b770b750b770b780b790b7a0b7b0b790b7b0b7c0b7d0b7e0b7f0b7d0b7f0b800b810b820b830b810b830b840b850b860b870b850b870b880b890b8a0b8b0b890b8b0b8c0b8d0b8e0b8f0b8d0b8f0b900b910b920b930b910b930b940b950b960b970b950b970b980b990b9a0b9b0b990b9b0b9c0b9d0b9e0b9f0b9d0b9f0ba00ba10ba20ba30ba10ba30ba40ba50ba60ba70ba50ba70ba80ba90baa0bab0ba90bab0bac0bad0bae0baf0bad0baf0bb00bb10bb20bb30bb10bb30bb40b m_VertexData: serializedVersion: 3 - m_VertexCount: 779 + m_VertexCount: 2997 m_Channels: - stream: 0 offset: 0 @@ -7860,8 +9090,8 @@ Mesh: offset: 0 format: 0 dimension: 0 - m_DataSize: 37392 - _typelessdata: 77562f3bcecc4cbd0ad723be000000000000803f00000000000000000000803f00000000000080bf0b98ec3e00ab133f54562f3b989919be0ad723be000000000000803f000000000000803f0000000000000000000080bf5005083f5a07023f54562f3bcecc4c3d0ad723be000000000000803f000000000000803f0000000000000000000080bf7325c93ea64e253f6b562fbbcccc4c3d0ad723be000000000000803f00000000000000000000803f000000000000803f3242c73ede5b243f60562fbb9999193e0ad723be000000000000803f00000000000080bf00000000000000000000803f9bcfa33e84ff353f60562fbbcecc4cbd0ad723be000000000000803f00000000000080bf00000000000000000000803fcab4ea3e37b8123fcecc4c3d0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf4247a33ef3efa83e999919be0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf0ae0a63e36e2ef3ececc4cbd0ad723be6d562fbb000000000000803f00000000eea07ebf00000000e8b2d3bd000080bfa613a53e1469cc3e235b21be235b213e37b088bb54e524bf496a423f4a4bbbbdb877acbcc9b6d03d2f9c7e3f000080bfdd683c3e6d37253f0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd1663ecbbcb97c73d50c67e3f000080bfb6443c3eeff3253f0ad723be78c31f3e000000001b807dbff0b80d3e248888bcec4b3bbb5386cb3d50bb7e3f000080bf6085403ef8ec253f27731ebe0ad7233e639e83bbf8b9babecaff6d3f341754bdaf66afbb69335b3d25a17f3f000080bfa2a73c3ec05a243fa7081fbe0ad7233e00000000b1527bbd08827f3f2bbb0ebce17549bb5be70b3c4efd7f3f000080bf6aab403e6f80243f999919be0ad7233e74562fbb000000000000803f000000006f0b473c000000002afb7f3f000080bfd4fe3d3e753b233f672c1d3e0ad7233e00000000668ee83d1c587e3f000000002639873c8047f7baf4f67f3f000080bf6aab403eb228b63ecccc4cbd0ad7233e74562fbb000000000000803f000000004015473c000000002afb7f3f000080bfd4fe3d3e91740b3fcbcc4c3d0ad7233e74562fbb000000000000803f000000005ce4463c000000002cfb7f3f000080bfd4fe3d3e5a5be73e07d723bd0ad7233e0e77b4bb000000000000803f000000009424473c000000002afb7f3f000080bf342a3b3ec811093f06d7233d0ad7233e0e77b4bb000000000000803f000000004202473c000000002afb7f3f000080bf342a3b3e8b18ec3e54b0d0bc0ad7233e3ae719bc000000000000803f00000000610c473c000000002afb7f3f000080bfd247373ec59a053f54b0d03c0ad7233e3ae719bc000000000000803f00000000a833473c0000000028fb7f3f000080bfd247373e11fbf23e2de719bc0ad7233e5cb0d0bc000000000000803f000000005c17473c000000002afb7f3f000080bffc34273e07bc013f23e7193c0ad7233e5cb0d0bc000000000000803f000000003814473c000000002afb7f3f000080bffc34273ef888fa3efd76b4bb0ad7233e07d723bd000000000000803f00000000e20b473c000000002afb7f3f000080bf49b0183ebdc4003ff376b43b0ad7233e07d723bd000000000000803f000000000b0c473c000000002afb7f3f000080bf49b0183e934cfc3e9999193e0ad7233e74562fbb000000000000803f0000000010f6463c000000002cfb7f3f000080bfd4fe3d3e92cdb73e66562fbb0ad7233ececc4cbd000000000000803f00000000f510473c000000002afb7f3f000080bf80b10e3ef810003f59562f3b0ad7233ececc4cbd000000000000803f000000008c16473c000000002afb7f3f000080bf80b10e3e8896fd3e672c1d3e0ad7233eb01a70bbee55fd3e5f775e3f00000000a6048b3ced4e1ebc81f37f3f000080bff5013d3e4723b63ef558203ef558203e62d46dbb67733d3fec2c2c3f000000004cff9a3c8a8caabc11e67f3f000080bf3eea3c3e1531b53e0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f00000000f9b77d3c3159bdbca3e67f3f000080bfd5ec3c3ec126b43e0ad7233e2b811c3e00000000b2887d3f46ca0d3e00000000f9d7523b0b81bcbc4fee7f3f000080bff666403ee62bb43e74562f3b0ad7233e989919be000000000000803f000000008615473c000000002afb7f3f000080bfb0f62a3d9a02fd3e66562fbb0ad7233e999919be000000000000803f00000000b421473c000000002afb7f3f000080bfb0f62a3d018eff3e9e7289bb0ad7233ed4171fbed13ca5bc263d7e3f793aecbdf7aad0bd5ddde63d03077d3f000080bf3484153d801f003f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bea064d2bcfa47e53e4acd643f000080bf20c7123d2461fe3e24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf4d974fbe9069333f16152f3f000080bf880f113d9034003fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9be291402bcdf1ae93e72eb633f000080bfb000113d2319fc3e6fe889bbdb6c213edb6c21be72ac91bd2c0f233f828244bfb02a173fe1e417bfb60b0cbf000080bfad8fa03e0713373f24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf9421163f3dca0dbf414d17bf000080bf1209a03ee451373f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bebe721b3f03ccaabed89a38bf000080bfb61ca13ee22f383f606284bbca881e3e0ad723bef1d71abdc954ad3e81b070bfc0a02c3f968a2fbf1d4c8cbe000080bf169fa13e329b363fdb078d3b0a7d1f3e0ad723bee4b63fbd7e9bd63efb1d68bf58fe293f5b402abf81f5aebe000080bf1a3ca43edc3f383fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9bef9371b3f24bcadbeaa1c38bf000080bf79cda23e4d09393f33d2913bcddf213eccdf21bebebb91bd1f0f233f5f8244bf554b173f15d017bf03ff0bbf000080bfe175a33eb3af383f60562fbb9999193e0ad723be0000000000000000000080bf0f96343f947335bf00000000000080bf9bcfa33e84ff353f77562f3b9999193e0ad723be0000000000000000000080bf0a96343f987335bf00000000000080bfdcb2a53e4df2363f54562f3bcecc4c3d0ad723be0000000000000000000080bf8495343f207435bf00000000000080bf7325c93ea64e253f54562f3b989919be0ad723be0000000000000000000080bf1596343f8f7335bf00000000000080bf5005083f5a07023f60562fbbcecc4cbd0ad723be0000000000000000000080bfdf95343fc27335bf00000000000080bfcab4ea3e37b8123f6b562fbb999919be0ad723be0000000000000000000080bf1396343f917335bf00000000000080bfb013073f9114013f5062843bc9881ebe0ad723be76a3293d53e4bdbe68816dbfa2622c3fc4f52cbf48ad993e000080bf931d093fac6b013fc3078dbb097d1fbe0ad723be97b1233d003db7be22d36ebf019d2a3f67a32fbf4860953e000080bf11cf073f058eff3e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2bedbaa1b3f9690a8becbee383f000080bfb45e093fd9adff3e1cd291bbcddf21beccdf21be1eab913d010f23bfaa8244bf542b173faee417bf3b0b0c3f000080bf2e32083f56aefe3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894befac2233fc56953bebc893d3f000080bf6286083f22fbfd3e05678b3bb9e522be073320be14319f3dda5928bff7d33fbfe4b2163fe38913bf511d113f000080bf92e8093ffdb4003f65e8893bda6c21bedb6c21be37c3913dec0e23bf738244bff001173fbffc17bfc51d0c3f000080bf48a5093fd7f3003feb76b43b0ad7233d0ad723be0000000000000000000080bf9095343f117435bf00000000000080bfaab0cd3e940b243f77562f3bcecc4cbd0ad723be0000000000000000000080bff695343fac7335bf00000000000080bf0b98ec3e00ab133f1877b43b06d723bd0ad723be0000000000000000000080bfff95343fa47335bf00000000000080bf570cea3e0fef153f21e7193c57b0d03c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bfbf35d43efe2b223f3ae7193c5cb0d0bc0ad723be0000000000000000000080bfb295343ff17335bf00000000000080bf3345e63e4c2f193f54b0d03c2de7193c0ad723be0000000000000000000080bffc95343fa87335bf00000000000080bf6495df3e792f223f5cb0d03c3ae719bc0ad723be0000000000000000000080bfea95343fb87335bf00000000000080bf3d3ee63e1fdf1e3f04d7233d0677b43b0ad723be0000000000000000000080bf1096343f927335bf00000000000080bfde15e63e0b13243f07d7233d0e77b4bb0ad723be0000000000000000000080bf1f96343f837335bf00000000000080bf68fde93ea821223fcbcc4c3d6b562f3b0ad723be0000000000000000000080bfdf95343fc47335bf00000000000080bffc9dea3ee558253fcecc4c3d6d562fbb0ad723be0000000000000000000080bfc195343fe17335bf00000000000080bf8e83ec3e4567243f9899193e60562f3b0ad723be0000000000000000000080bfd795343fcb7335bf00000000000080bfa4f2063f3012373f9999193e77562fbb0ad723be0000000000000000000080bfb195343ff17335bf00000000000080bf6de5073f9020363fd18d1d3e2600773b0ad723beb7e1e93ece0f503db15b63bfdca62a3f9d3d2ebfe19d9b3e000080bf646f073fc4f2373f87751d3e0e4875bb0ad723be3a6ddc3eba1d71bd969166bf2ba1273fc9992abf7e8eb63e000080bf08c0083f5e9b363faefb1d3e151886320ad723be3103293f320a38bca44140bf50c3093fcac130bf8f80f73e000080bf522d083f985b373f0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf0ab9cc3efb980cbf87db3b3f000080bf6ad9093f19b6373f72a5203e465c78bb71a520be9f2e343f45c2c4bd8c2e34bf18e10c3f96830dbf3732203f000080bfb64e093f7726373f0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be539f063e7a0527bf86113f3f000080bf992f093f1b5f383f0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bfc4c9e23e9e9e1fbf1dec243f000080bf9784083f4c09393fbeb1203ef00d7a3bc0b120be1576343f51bba03df17534bf7216193f2ba719bf38fb073f000080bfc2f7073f0580383fd38d1dbe530077bb0ad723bec716ddbeacae44bd319366bf78dc2c3f9ae32dbf5f3593be000080bf75fba43e1914003fc1b120be1b0e7abbc1b120bead7734bf7bd69fbd877734bf6202193ff8b819bfaffd07bf000080bfb8eaa33eb10dff3e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bfd880df3e79ea1fbf16c125bf000080bf0ed1a23e23fbfd3eb1fb1dbe151886320ad723beb5f228bf1aefd13bd55340bfbe4c0a3f5add30bf11fef5be000080bf967fa33e46ab003f0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33be9708063e5ae926bfb7303fbf000080bf0a7ba13e864fff3e8b751dbe2048753b0ad723be68ece6beab987c3debef63bf3d57253f187d2abfa31fbfbe000080bf2c5aa23e806b013f0ad723be0f48753b89751dbee0e058bfe968933d87c206bf526cd03eab7b0cbf76ec3abf000080bf6827a03ec450003f73a520be555c783b72a520be092e34bf820fc53dd42d34bfb3e80c3ff26d0dbfa43e20bf000080bfd03ca13e67e0003f999919be6d562fbb0ad723be0000000000000000000080bf2796343f7c7335bf00000000000080bff4f4a53eadf4003f999919be6b562f3b0ad723be0000000000000000000080bf1896343f8b7335bf00000000000080bf620fa43e4ee6013fcccc4cbd77562fbb0ad723be0000000000000000000080bfdf95343fc37335bf00000000000080bf413cc93ef9ad123fcecc4cbd60562f3b0ad723be0000000000000000000080bfd595343fcd7335bf00000000000080bfaf56c73e999f133f09d723bdfd76b43b0ad723be0000000000000000000080bfd095343fd17335bf00000000000080bfd4dcc93e35e5153f05d723bd1877b4bb0ad723be0000000000000000000080bfe895343fba7335bf00000000000080bf5fc4cd3ed3f3133f57b0d0bc2de7193c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bf009ccd3ec027193f54b0d0bc3ae719bc0ad723be0000000000000000000080bf0996343f9a7335bf00000000000080bfd844d43e65d7153f2de719bc54b0d03c0ad723be0000000000000000000080bfbf95343fe27335bf00000000000080bf0a95cd3e92d71e3f2be719bc5cb0d0bc0ad723be0000000000000000000080bf1d96343f857335bf00000000000080bf7da4df3ee0da153f0677b4bb05d7233d0ad723be0000000000000000000080bff195343fb27335bf00000000000080bfe6cdc93ecf17223ff576b4bb0ad723bd0ad723be0000000000000000000080bf3596343f6e7335bf00000000000080bf9229e63e4afb133f6b562fbbcccc4c3d0ad723be0000000000000000000080bffc95343fa77335bf00000000000080bf3242c73ede5b243f05678b3bb9e522be073320be14319f3dda5928bff7d33fbfae3e06bf5bbd1c3f8f7b17bf000080bf74ebf03efcd3b83e5572893b0ad723becd171fbe824ea53cc53c7ebf4154ecbdbec494be8e3ed63d997c73bf000080bf575df03e802cb93e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2be03d390bda132e13e993165bf000080bffec6f03e5290ba3e60562fbb0ad723be989919be00000000000080bf000000000000000000000000000080bf000080bf15cfed3e7b9cbb3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894be7e2809bc9368943e130075bf000080bfce15f13e5743bc3e5d562f3b0ad723be999919be00000000000080bf000000000000000000000000000080bf000080bf74b6ed3e90b6b93e6d562f3b0ad723becbcc4cbd00000000000080bf000000000000000000000000000080bf000080bf2ec4bb3e97b8b93e6b562fbb0ad723bececc4cbd00000000000080bf000000000000000000000000000080bf000080bfd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd00000000000080bf000000000000000000000000000080bf000080bf3aebb63ee39fbc3e0677b43b0ad723be07d723bd00000000000080bf000000000000000000000000000080bf000080bf84b8b63ea0b7b83e38e7193c0ad723be54b0d0bc00000000000080bf000000000000000000000000000080bf000080bf6265af3e0357b73e2de719bc0ad723be5cb0d0bc00000000000080bf000000000000000000000000000080bf000080bfe1bbaf3e1601be3e57b0d0bc0ad723be38e719bc00000000000080bf000000000000000000000000000080bf000080bfbafda73ec4b5c33e5cb0d03c0ad723be23e719bc00000000000080bf000000000000000000000000000080bf000080bf2913a73efda2b13e0ad723bd0ad723be0677b4bb00000000000080bf000000000000000000000000000080bf000080bfb54fa63ee8dcc83e06d7233d0ad723befd76b4bb00000000000080bf000000000000000000000000000080bf000080bf65dfa43e027cac3ececc4cbd0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfa613a53e1469cc3ececc4c3d0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf4247a33ef3efa83e999919be0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf0ae0a63e36e2ef3e6c2c1dbe0ad723be00000000835d95bd77517fbf000000000000000000000000000080bf000080bf059aa53e2c1ff13e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf000000000000000000000000000080bf000080bf786ea73e191ff13e9e081f3e0ad723be000000004e4f0f3ef56d7dbfc2c5a2bc334405bd13467d3c77d57fbf000080bf5a0ca03e0195833e9899193e0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfde7aa13ed376853e20731e3e0ad723be1d9e83bb38bbba3e88ff6dbfde1754bd256915bd022d293d6d9c7fbf000080bf8e10a23eb6c8833e0ad7233e71c31fbe00000000ba917f3f18cf6bbd5f2be3bb56c7a4bb5dca073d25db7fbf000080bf1209a03e7d83803e1e5b213e205b21befaaf88bb5ae5243f446a42bfac4bbbbd7eac84bd4e0e853d96eb7ebf000080bf7022a23e0dec813e0ad7233ebd3d1fbe37ca8abbf27e733f32ed9cbe5b2d17bd2a47eabc8246013d88c47fbf000080bffc28a23e6055803e0ad7233e999919be77562fbb0000803f00000000000000000000000000000000000080bf000080bfde7aa13e78c87c3e0ad7233e2b811c3e00000000b2887d3f46ca0d3e000000000000000000000000000080bf000080bf0297a53e08111d3d0ad7233ececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bf4247a33e0647363e0ad7233ecccc4c3d77562fbb0000803f00000000000000000000000000000000000080bf000080bfa613a53e248bdf3d0ad7233e07d723bd0e77b4bb0000803f00000000000000000000000000000000000080bf000080bf65dfa43ef6392f3e0ad7233e5cb0d0bc3ae719bc0000803f00000000000000000000000000000000000080bf000080bf2913a73e12fc243e0ad7233e9999193e6d562fbb0000803f00000000000000000000000000000000000080bf000080bf0ae0a63e7810253d0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f000000000000000000000000000080bf000080bfce53a73e74101d3d0ad7233e54b0d03c3ae719bc0000803f00000000000000000000000000000000000080bf000080bfbafda73efb0f013e0ad7233e05d7233d1877b4bb0000803f00000000000000000000000000000000000080bf000080bfb54fa63ecca4ed3d0ad7233e3ae719bc5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bf6265af3edaa4193e0ad7233e1877b4bb06d723bd0000803f00000000000000000000000000000000000080bf000080bf84b8b63ed4e6163e0ad7233e2de7193c5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bfe1bbaf3ee5650c3e0ad7233e77562fbbcecc4cbd0000803f00000000000000000000000000000000000080bf000080bf2ec4bb3e46e7143e0ad7233e60562f3bcecc4cbd0000803f00000000000000000000000000000000000080bf000080bfd1dcbb3e7921113e0ad7233efd76b43b07d723bd0000803f00000000000000000000000000000000000080bf000080bf3aebb63ebc220f3e0ad7233e6d562fbb989919be0000803f00000000000000000000000000000000000080bf000080bf72b6ed3e36e3143e0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be6f1c33be00000000b00d7cbf000080bf12e6ef3e2200133e0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf100e04bfae492e3d6d0a5bbf000080bf6893ef3eb1a3153e0ad7233e6b562f3b999919be0000803f00000000000000000000000000000000000080bf000080bf16cfed3e681d113e0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bf567506bffd9315bd3fa559bf000080bfd6c1ef3ee257103ef85820bef75820be9ed46dbb78733dbfdc2c2cbf0000000075cb01bd75d10e3d39b77f3f000080bf789b2d3faae97e3e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf0000000022701fbd188fb53c39be7f3f000080bf018c2d3f73c1813e6c2c1dbe0ad723be00000000835d95bd77517fbf00000000268f0bbd094a233bbed97f3f000080bf02762e3f87d7813e0ad723be2e811cbe00000000a6cd7fbfe58620bd00000000ea5f03bb3459513d37aa7f3f000080bfd6912e3f98057a3e0ad723be2e811cbe52fb63bb4efc5ebfc680fbbe000000009abacdbcd366363d4daa7f3f000080bfa5b32d3fa9db793e0ad723be989919be59562fbb000080bf0000000000000000000000006ea7873d13707f3f000080bff4e62d3f3fe2773e0ad723be78c31f3e000000001b807dbff0b80d3e248888bc262bf2bb21c4893dc2697f3f000080bfd6912e3fd87ff73c0ad723bececc4cbd6d562fbb000080bf00000000000000000000000096a5873d17707f3f000080bff4e62d3f16f3303e0ad723bececc4c3d59562fbb000080bf000000000000000000000000a2ab873d0b707f3f000080bff4e62d3fd407d43d0ad723be0ad723bd0677b4bb000080bf000000000000000000000000e6a2873d1d707f3f000080bf13322d3f09b9293e0ad723be5cb0d0bc36e719bc000080bf0000000000000000000000001da6873d17707f3f000080bfdc392c3f853c1f3e0ad723be9999193e6d562fbb000080bf000000000000000000000000bfa5873d17707f3f000080bff4e62d3f00530c3d0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd50cb80bc370a923d0c517f3f000080bf4e832d3f60ccf83c0ad723be57b0d03c23e719bc000080bf0000000000000000000000002ea4873d1b707f3f000080bfdc392c3f0e31f63d0ad723be09d7233df376b4bb000080bf0000000000000000000000006c0f873d56717f3f000080bf13322d3f68f3e13d0ad723be36e719bc5cb0d0bc000080bf0000000000000000000000005ca5873d17707f3f000080bfbb36283f7712133e0ad723be0677b4bb0ad723bd000080bf000000000000000000000000bba5873d17707f3f000080bffc96243fafa10f3e0ad723be2de7193c54b0d0bc000080bf00000000000000000000000031bd873de56f7f3f000080bfbc36283fe6be053e0ad723be6d562fbbcecc4cbd000080bf0000000000000000000000005fa5873d17707f3f000080bf4518223fe4260d3e0ad723be66562f3bcbcc4cbd000080bf00000000000000000000000025a5873d19707f3f000080bf4518223f385b093e0ad723befd76b43b06d723bd000080bf000000000000000000000000cc95873d39707f3f000080bffc96243f82d1073e0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33bed3bd32bef7d88a3dbe787b3f000080bfbe13083f0f58063e0ad723be60562f3b989919be000080bf00000000000000000000000003a6873d17707f3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbee0e058bfe968933d87c206bf083304bf7cb8f83d3602593f000080bf6e34083f97b6033e0ad723be74562fbb999919be000080bf0000000000000000000000009fa5873d17707f3f000080bf2425093f8071083e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bf0f8d05bf1e602d3d77225a3f000080bf832e083f8609093ea7081fbe0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e203a963b0ad723be78c31f3e0000000000000000000000000000803f000000000000803f00000000000080bf670b9e3e000000000ad723be2e811cbe0000000000000000000000000000803f000000000000803f00000000000080bf0048e53b000000006c2c1dbe0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf00000000a05fd03b672c1d3e0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e91c79c3e9e081f3e0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf0000000025b09d3e0ad7233e2b811c3e0000000000000000000000000000803f000000000000803f00000000000080bfef739c3e1209a03e0ad7233e71c31fbe0000000000000000000000000000803f000000000000803f00000000000080bf40d77e3b1209a03ecbcc4c3d6b562f3b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803fde755b3e12efe43e04d7233d0677b43b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f53b35b3e9666e03e54b0d03c2de7193c0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f8a0e5c3e91e5d93e57b0d0bc2de7193c0ad723be00000000000000000000803ff3672e3f3f663bbf000000000000803f03f3863e79973b3f09d723bdfd76b43b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fd1488a3e90c9383fcecc4cbd60562f3b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fce9c8c3e8dd5363f0ad723be57b0d03c23e719bc0000803f000000000000000000000000000000000000803f0000803fb837793f62e9d53e0ad723be09d7233df376b4bb0000803f000000000000000000000000000000000000803f0000803f3ca6763f69c6d03e0ad723bececc4c3d59562fbb0000803f000000000000000000000000000000000000803f0000803f96e1743f1c3dcd3e6b562fbb0ad723bececc4cbd000000000000803f000000000000000000000000000080bf0000803fd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd000000000000803f000000000000000000000000000080bf0000803f3aebb63ee39fbc3e2de719bc0ad723be5cb0d0bc000000000000803f000000000000000000000000000080bf0000803fe1bbaf3e1601be3ecccc4cbd77562fbb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803fe199563fb2edf83e05d723bd1877b4bb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803f3623583f47e5f53e54b0d0bc3ae719bc0ad723be00000000000000000000803fa02f8cbea337763f000000000000803f28625a3f0c78f13e0ad723bececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bff2f8773f3ae3fb3e0ad723be0ad723bd0677b4bb0000803f00000000000000000000000000000000000080bf000080bf5dd6793f588ef83e0ad723be5cb0d0bc36e719bc0000803f00000000000000000000000000000000000080bf000080bfd48b7c3f81b7f33e38e7193c0ad723be54b0d0bc000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803fe4026f3f2cfa5e3c0677b43b0ad723be07d723bd000000000000803f0000000046ec7f3f00000000b4fcc8bc0000803f7b9f6e3ff6f4e33c6d562f3b0ad723becbcc4cbd000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803ff7536e3fd7151a3d5cb0d03c3ae719bc0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803fd429753f5968603f07d7233d0e77b4bb0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803ff5c3723fc6845d3fcecc4c3d6d562fbb0ad723be00000000000000000000803ff3b4acbefbfe703f000000000000803f9e1b713f01855b3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3e96198f3e264199be648c69bf000080bfd0dbaf3e1cbcff3d0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fd0d0993e781301bff0444fbf000080bfe1bbaf3ee5650c3e0ad7233efd76b43b07d723bdc1fb813e458c6ebf10c5843e9f71553e6e1c56be949674bf000080bf3aebb63ebc220f3e0ad7233e60562f3bcecc4cbd3a4b843efd3c77bfab21ba3c0cf7a03debf61ebb11357fbf000080bfd1dcbb3e7921113e992a333e4fe2da3bcfcc4cbd88f80f3f9c8053bfb5b20a3d13e0203dafe468bccfc67fbf000080bf58aabb3e53b0033e0ad7233e6b562f3b999919be9053843e8f4c77bf484fa2bbf0f498bd489d73bcb4417fbf000080bf16cfed3e681d113e992a333e4fe2da3b989919bef1ed0f3f2b8753bf9aae0bbdfb0f22bdae826a3cf7c57fbf000080bf9c9ced3e43ac033e0ad7233e1300773bd08d1dbea8467f3e7a896ebf6d1a87be414759be9d6b5a3e7d2374bf000080bfd6c1ef3ee257103ebeb1203ef00d7a3bc0b120be0ba6723e94dc71bf5ad467befe863cbe9c953d3eab1e77bf000080bf5158f13e497d123ed18d1d3e2600773b0ad723be7ca8823e80686ebf691c85be8a2b50bec243583efac074bf000080bf02eff23e90b2143eb9f5453e9911cd3ccfcc4cbd6a2e5e3f064afdbeed41383d3084b13c4f2358bd49957fbf000080bf58aabb3ec874d33d9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe5fc29bbee90ab33e38d762bf000080bf9eb0f93e1ab0ff3d9899193e60562f3b0ad723be4fa6a83ceb3f77bfcd4c84beeebb66bee2417d3e1e3f71bf000080bfc0fbf23e3b35183e9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbfb2b77fbe8ab1093f3f214ebf000080bfee87fa3edb61153ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf3be980be69360d3fc4914bbf000080bf5254fc3e1d545c3ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584bee0be7ebed1c4833ecc096fbf000080bf24c8f43e7c275f3ec9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5bebef7a3be929a903e247d67bf000080bf9eb0f93e3c22db3d9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebfcc0012bf19a4123f75b716bf000080bf1d30003fb076ed3db9f5453e9711cd3c989919be6a2e5e3f064afdbeeb4138bda5dab2bc03f8563d0a967fbf000080bf9c9ced3eac6cd33dc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e08e4a33e1dbd90be3c7b67bf000080bfd0dbaf3e402edb3d9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd790c3f26db05bf04fd26bf000080bf2ea3a93ecc84ed3dcbcc4c3ececc4c3dcbcc4cbd7e487f3fa09758bda697583de3133f3d4600e7bdf9157ebf000080bf8afebb3e7cc5a63db9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3eee81f03ef48e7fbe6fc758bf000080bfeba4af3eee41b03dcbcc4c3ecccc4c3d989919be7e487f3fa39758bd9e9758bdeb2b3fbd0334e63dcc187ebf000080bfcdf0ed3e5cbda63db9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe188af0be002d7f3e62cc58bf000080bfee87fa3ec035b03db9f5453e9899193e992a33be6a2e5e3fea41383d064afdbebd6ff8be4e7a943e852c53bf000080bf5254fc3e70cb8c3ccbcc4c3e9999193e999919be7e487f3fa297583d9f9758bd1d4378bd9a19213ede557cbf000080bf32bdef3ec0d34d3cc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be18740abf05937b3e7cf04dbf000080bf2d59fc3ec006ab3bb9f5453e982a333e989919be692e5e3f064afd3ef04138bde24223bed73e443ee1ea77bf000080bfe44ef03e00000000b9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d8f86233eccb844be0de277bf000080bfa15cbe3e00408237cbcc4c3e9999193ecbcc4cbd7e487f3fa397583da397583d575a783d4b9c21be8e507cbf000080bfedcabd3eb0144e3cb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e3869f83e17b594be192453bf000080bf4f71b13e30fc8c3cc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e327c0a3fd00c7cbebae14dbf000080bf5e84b23e00c7ab3b9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd9e29bf1d373fbfd636633d000080bf05e1d83e2a523b3f0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fac9029bf366110bf307efcbe000080bfd0b3e33e16d43a3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3ead4e1ebf2fc829bf21dcd7be000080bfc272dd3e4c09393f0ad7233e54b0d03c3ae719bcdb87753e013e0bbf0ddd4d3fa1b133bfa25a2bbfba4879be000080bffc03de3e00ac3d3f992a333ececc4c3d60e2dabbbe09113f0c62f7bcf6ce523fe5a01cbf87502fbf56aaca3e000080bfbe0cd03ea65c3f3f0ad7233e05d7233d1877b4bb5bf4783ec51c82be4aa56f3f20ff34bf8a0735bf74c308bc000080bf05e1d83e7c3d403fc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e9a2e15bfb1992abfc920ee3e000080bf474fd43e4c09393fb9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3e2999cfbe92b523bf2937273f000080bf408fc93ee71d3c3f0ad7233ecccc4c3d77562fbb6451843eec474cbc6948773f29352fbf4c4235bfe424323e000080bfb857d53e2202423fb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e974bc8be16460dbfcf8a3c3f000080bf4932a63e63cc4d3f992a333e9899193e60e2dabb8bf80f3fb7b20a3d9c80533f604f21bf322221bf5cd1e83e000080bfc6afac3e220b513f0ad7233e9999193e6d562fbb154d843eccb3a53c6140773fd69233bf1ef92ebf3cd54e3e000080bfc0fab13e9fb0533f9c15323e9c15323e40c057bcf473ef3e2e75ef3eb801403fe7c407bff3c407bf0b52293f000080bfd09aa43e4575553fc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53ea47b86bee772c1be3e49633f000080bf1309a03e662c533f0ad7233e2b811c3e1cfb63bb9c467f3e7c1a873e7a896e3f54ae28bfe3ad28bfcbcbb93e000080bff6f9b03e0331543ff558203ef558203e62d46dbb0e14833e4ead833eb38c6e3f1bae28bf1bae28bfd0cbb93e000080bffcdab03e4575553f672c1d3e0ad7233eb01a70bb731a873eb6467f3e78896e3f16ae28bf1fae28bfd0cbb93e000080bfd4beb03ef59b563f9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53ea572c1bed47b86be4449633f000080bf1409a03e23be573f9999193e0ad7233e74562fbb0595a73cf64c843e1440773f98f92ebf8e8f33bf63fc4e3e000080bfc0fab13eeb39573f9899193e982a333e60e2dabbb0b20a3d8bf80f3f9c80533f2d2221bf644f21bf5dd1e83e000080bfc8afac3e68df593f9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e0d460dbfa44bc8bed38a3c3f000080bf4932a63e271e5d3fcbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e3ec018bf664dd7be3bf82e3f000080bf408fc93ea2cc6e3fcbcc4c3d0ad7233e74562fbbc3474cbc6a51843e6748773f754235bf01352fbfc524323e000080bfb857d53e67e8683fcbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533fa80933bffd0a1abfd681c53e000080bfbf0cd03ee48d6b3f06d7233d0ad7233e0e77b4bb2ea785bee218813e838b6e3faaf434bf341335bf170dd9bb000080bf04e1d83e0dad6a3f78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403f214e52bfd57411bf551344bd000080bf05e1d83e5f986f3f54b0d03c0ad7233e3ae719bc485413bfc979733efe4f483f618926bfb38136bfcf0e86be000080bffc03de3e893e6d3f23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f89cf0abf9fbb2bbf178501bf000080bfd0b3e33e7316703f20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e1f4827bf200b20bfd787dabe000080bfc272dd3e3ee1713fb9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe216dc7bce0a77d3fdbfe07be000080bfaebd143f1ce32e3fc9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5be22b5693e5b965f3f1748dcbe000080bf10c30e3f7882303f9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebf6c3cb83b2be3633fc03fe9be000080bf10c30e3f99bd333f992a333ececc4c3db9f545be064afd3eeb4138bd6a2e5ebff60f25bdec137f3f0dd098bd000080bfaebd143ff679333f992a333e9899193eb9f545be064afd3eea41383d6a2e5ebf8a10253dec137f3f36d0983d000080bf18bf2d3ff679333fb9f5453e9899193e992a33be6a2e5e3fea41383d064afdbed76cc73ce0a77d3fc9fe073e000080bf18bf2d3f1ce32e3fc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be67a913be3558533fa1aa0b3f000080bfb6b9333f7882303f9c15323e9c15323ec9503fbe5125d53e5725d53e55ee4ebf7e53863c48ac623ff1cded3e000080bfb6b9333f9abd333f9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be40faf5bd7fb3003f57265b3f000080bfd7f4363f9abd333f9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea2a349bcf1c5fd3ebc515e3f000080bf3394383f37b8393f9899193e9999193ecbcc4cbe9e97583da297583d7e487fbf42558b3baea27f3f93d0593d000080bf18bf2d3f37b8393f9999193ececc4c3dcbcc4cbe9f97583d9e9758bd7e487fbf17528bbbaea27f3f89d059bd000080bfaebd143f37b8393f9899193e982a333eb9f545bef241383d064afd3e692e5ebf0000000034685e3f328bfd3e000080bf59fd333f37b8393fcfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf75fc7d3b496d5e3f6177fd3e000080bf59fd333fa1b9523fcfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf3394383fa1b9523fcbcc4c3d9999193ecbcc4cbea39758bd9f97583d7e487fbf7e5a8bbbaea27f3f9ad0593d000080bf18bf2d3fa2b9523f80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf14a6923dd8b9663f20c6da3e000080bfb6b9333f3fb4583f9899193e9911cd3cb9f545beed41383d064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bf6c7f0e3f37b8393f9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe8f7fce3d8f580e3f5d3453bf000080bfef870b3f99bd333f9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbf8babd23bb918103f869653bf000080bf92e8093f37b8393fcbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf83abd2bbb618103f879653bf000080bf92e8093fa1b9523fcbcc4c3d9711cd3cb9f545beea4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf6c7f0e3fa1b9523fcbcc4c3dcccc4c3dcbcc4cbea09758bda39758bd7e487fbf355c8b3baea27f3f9fd059bd000080bfaebd143fa2b9523f78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebfde34b8bb29e3633fc73fe9be000080bf10c30e3f3fb4583f78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfbfd58fbd61b6153f09e14ebf000080bfef870b3f3fb4583fa011cd3c9899193eb9f545be064afdbefa41383d692e5ebfeb0f25bdec137f3f15d0983d000080bf18bf2d3fe2f7583f9811cd3ccecc4c3db9f545be064afdbed54138bd6a2e5ebf3a10253dec137f3f14d098bd000080bfaebd143fe2f7583f20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf96ce34bec96f623fd614ddbe000080bf10c30e3f60ef5b3f40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfceb32e3deefd7d3f38a6f0bd000080bfaebd143fbd8e5d3f60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf7fa425bd36f77d3f9900f43d000080bf18bf2d3fbc8e5d3f40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe444d763e55ec593f9ec7ee3e000080bfb6b9333f60ef5b3fb9f5453e982a333e989919be692e5e3f064afd3ef04138bd2bb866bdf67e403eaf057b3f000080bfd0322d3d1209a03ec9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be3bfd063eeba80f3fbb2f513f000080bf30e39a3c7425a33e9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be089229bd67cff23ed521613f000080bf08bf9e3ca24aa73e992a333eb9f5453e989919be104afd3e672e5e3ffb4138bd39edaebd47f0cc3d57c67d3f000080bf58f02f3d5ceca53e992a333eb9f5453ecfcc4cbd0e4afd3e672e5e3ffa41383d7ce9ed3d684ef0bd797c7c3f000080bfe9ef0f3e4a80a63eb9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d4581a03d673567beaa94783f000080bf86400f3e009da03ec9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e35a2dabd7a7c17bf038d4c3f000080bfa11c273e2200a43e9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53eb6a4923dc49ef8be550a5f3f000080bf1a98273e4e25a83e9899193ecbcc4c3ecbcc4cbda097583d7e487f3fa997583d92827f3dbcfb65bdc8187f3f000080bfc02f103e2757b13e9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e6bc3bb3df84ffebec7f15c3f000080bf79e4283eae84b23e9999193ecbcc4c3e989919bea497583d7e487f3fa09758bd1a0a18bd17c9603d01707f3f000080bfb0ef303d38c3b03e9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea47688bde450fe3edf875d3f000080bf203c983ce1a6b13ecfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbe30b8f7bdff41f93eeb755d3f000080bf283c983ca834e13ecbcc4c3dcbcc4c3ecbcc4cbda69758bd7e487f3fa897583dd34b473d84194ebd435f7f3f000080bfbf2f103eefe4e03ecbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e1374113ef01ff8be21f55c3f000080bf79e4283e7512e23ecbcc4c3dcbcc4c3e999919bea79758bd7e487f3fa79758bd9d4ad0bc8451533d82937f3f000080bfacef303d0051e03e80b9d53cc7503f3e9c1532be5f25d5be51ee4e3f5525d5bea96aecbd4d78d03e84f1673f000080bf10bf9e3c0e96ed3ecfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf31446abe9e30573fe063fb3e000080bf0000000078f0e33e80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf724ca1bea995443fbac70e3f000080bf2046ce3bbf82ef3e40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe688670be4047f23e425c593f000080bf40e39a3cd7baf53ea011cd3cb9f5453e989919be104afdbe672e5e3f024238bd897a273c8ece6b3de18f7f3f000080bf58f02f3d0a39ed3e9811cd3cb9f5453ecfcc4cbd104afdbe672e5e3fe341383d3e82273cb3323cbd5db77f3f000080bfe9ef0f3ef9cced3e40e2da3b982a333ecfcc4cbdf9ce52bfbb09113fc761f73c6a7defbc2ba3c3bd2ab87e3f000080bf86400f3e325ef93e60e2da3b982a333e989919be9c8053bf8af80f3fccb20abd1af8363d7b4e003e93b97d3f000080bfd0322d3d43caf83e78b9d53cc7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53ef988093e97dccbbe1e4d683f000080bf1b98273eba70ee3e78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403ff6728d3e3f9136bf17ef243f000080bfd706343ea683f03ecbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533f60ca6f3ec3354cbff0440e3f000080bf398d3a3e9204e53e20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e215b403ea575d5beb8aa633f000080bfa11c273e8495f63e23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f7babc43ef336fabe0989483f000080bffc34273ef888fa3ef376b43b0ad7233e07d723bd4ba56fbf61f4783eb81c823e1a99103e1acccdbe009b673f000080bf49b0183e934cfc3e59562f3b0ad7233ececc4cbd694877bf6451843e47474c3c5cf506bd84c22ebe6d1a7c3f000080bf80b10e3e8896fd3e74562f3b0ad7233e989919beb03e77bf2f4c843ecb2eb0bc32bf0c3dbccc563e5a267a3f000080bfb0f62a3d9a02fd3ea9ec933b0ad7233ec73f20be7a896ebfb1467f3e6f1a87be833108be2042e23ee91b633f000080bfb000113d2319fc3e33d2913bcddf213eccdf21bea38c6ebf5df9833eebc782be4a5102beada7da3e4d2d653f000080bf045f0a3da46afc3edb078d3b0a7d1f3e0ad723be78896ebf701a873ec5467fbe45b1fdbd1e2bd43e2bd1663f000080bf1859023de3d5fc3e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4c7f67bee17ad63ec622613f000080bf507d013de87ffe3e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbfc16ef8be8ad7ed3e5ca43d3f000080bf604c8b3c4982fc3e78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfe7e4a7be838acfbe4c735a3f000080bf03034e3ee8c6d83ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbfba676abe2a950abf831d4f3f000080bf625f4c3e1084e33ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584be111e53be95dc7dbec453723f000080bfde755b3e12efe43e54b0d03c2de7193c0ad723bea39706bf179650bf81347abe2c4937be3c0b33be45db773f000080bf8a0e5c3e91e5d93e21e7193c57b0d03c0ad723befd4f48bf4a5413bfb87973bef13e2cbe536d30beca77783f000080bf8a0e5c3eea85ce3e20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf308ed2be13c1a9befe5d593f000080bf01034e3e6ea3cf3e78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebf818212bf7b2212bf7bb7163f000080bf6bab403e2e33d43eeb76b43b0ad7233d0ad723be888b6ebf1ca785beca1881beb2684fbe544c4fbe4e47753f000080bf52b35b3e6101c83e40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfd97c0abf3ebc7fbe86984d3f000080bf635f4c3e8ce0c43e54562f3bcecc4c3d0ad723be694877bf31474cbc595184beb20c7fbe5b0367bea01c713f000080bfde755b3e8776c33e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf2b320dbf003181be57894b3f000080bf0306493e1873a13e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4dc482bee55c7fbe78226f3f000080bf7d1c583e1209a03e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eca56e73c44f222bf0150453f000080bf29ac9b3e6c1a673f2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133fd7d35abe9bfb43bfd1591b3f000080bf7b1c9e3e1fc4653ffd76b4bb0ad7233e07d723bd478c6e3fc6fb813e0bc5843e7ca7dfbc01db29bff1673f3f000080bf6e4e973e2c6c643f66562fbb0ad7233ececc4cbdfd3c773f454b843eb021ba3c5865313e792e35bfcd552f3f000080bf1898923e9185633f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d84f9b83e782f13bfa9ee3b3f000080bf2f3d903eca0e653f4fe2dabb982a333e989919beb628533f3e80103fd94e03bd0771fa3e111e2fbfd3860a3f000080bfe5244c3e56ac573f66562fbb0ad7233e999919beda4b773f3953843ea3e8dfbb0de0623ef95c50bfaf7d093f000080bfb8da503e1d23563f9e7289bb0ad7233ed4171fbe7c896e3fb9467f3e5a1a87bef412b33eb6a84fbf4af9ef3e000080bfb1dc4c3e342f553f2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe2662233f8e1532bf88daa83e000080bf83ae3a3e6651533f24678bbbcde5223ef83220be7d896e3f95467f3e601a87beeb12b33eada84fbf6df9ef3e000080bf0c594c3eebe5543f6fe889bbdb6c213edb6c21be458c6e3f2acb843e91f581be75a2b43ef3b04fbf78b0ee3e000080bfc3e84b3eb289543f606284bbca881e3e0ad723be7c896e3f681a873e97467fbe1c4fb53e28d14fbfecbced3e000080bfa8034b3e82d7533f60562fbb9999193e0ad723be793f773f5065ab3c904c84be29e32f3e33574cbf02cf133f000080bf1e814c3ee55b533f4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbf120aba3e627d4bbf93ccf83e000080bf8c48413e9fbc503f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bfa60faf3e319944bf13a60a3f000080bf001e6a3ee056423f6b562fbbcccc4c3d0ad723be6b48773fd7474cbc585184be88ca2b3e21f03abfa38b293f000080bf9356753e26f6443f0677b4bb05d7233d0ad723be858b6e3f24a785bed01881be005bb73bf62f2fbfe9a93a3f000080bfa4697a3e8815433f2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bf75d89c3d3f433bbfc3722d3f000080bfef0a773e16093e3f2de719bc54b0d03c0ad723befa4f483f4a5413bfca7973be60a130bee83511bfc0274e3f000080bf1ada803e6a64403f7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bf569745be48461ebf250d433f000080bfa46b803ea52d3a3f7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebfbd44173e5fa358bf790c033f000080bfffaa703e264f3a3f57b0d0bc2de7193c0ad723bea397063f179650bf8f347abe5537a1bec310e8be7f7b553f000080bf03f3863e79973b3fcecc4cbd60562f3b0ad723be6c29e03c432d77bfc18584be150aeebe3a4f77bee90d5a3f000080bfce9c8c3e8dd5363fcecc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbfe551f0be3b8b02bfd98a383f000080bfd67b853e4c68353f999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbfab530abfed9eeabe53aa343f000080bf84fb963eeff3253f999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84bef6fd02bf2ef658beb027553f000080bf7b1c9e3e2f61273f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bf6ab32ebdf0fd7d3f1ca6f0bd000080bfbf63363f87d7813e2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bfb3ce343ec86f623fd314ddbe000080bf2169303f3f16853e7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebf0135b83b28e3633fc93fe9be000080bf2169303f828c8b3e9711cdbccecc4c3db9f545be064afd3ee94138bd692e5ebf621025bdec137f3f2dd098bd000080bfbf63363f3b058b3e9911cdbc9899193eb9f545be064afd3ee641383d6a2e5ebf8a10253dec137f3f34d0983d000080bf29654f3f3b058b3e4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbff0a4253d34f77d3fcd00f43d000080bf29654f3f87d7813e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe16471cbeb5854f3f7eb8103f000080bfc75f553f4016853e7db9d5bc9c15323ec9503fbe5325d53e5525d53e54ee4ebf0353863c48ac623ff1cded3e000080bfc75f553f828c8b3e7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be3cfaf5bd7eb3003f59265b3f000080bfe89a583f828c8b3ececc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbea4a349bcf1c5fd3ebc515e3f000080bf443a5a3fbe81973ececc4cbd9999193ecbcc4cbea297583da797583d7e487fbf34558b3baea27f3f97d0593d000080bf29654f3fbe81973ecccc4cbdcecc4c3dcbcc4cbea497583da09758bd7e487fbfda548bbbaea27f3f93d059bd000080bfbf63363fbe81973ececc4cbd982a333eb9f545bef441383d064afd3e6a2e5ebf0000000035685e3f308bfd3e000080bf6aa3553fbe81973e989919be982a333eb9f545bef04138bd064afd3e692e5ebf86127e3b496d5e3f5d77fd3e000080bf6aa3553f9384c93e989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf443a5a3f9384c93e999919be9999193ecbcc4cbea39758bda497583d7e487fbf04548bbbaea27f3f96d0593d000080bf29654f3f9384c93e9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf61a6923ddab9663f19c6da3e000080bfc65f553fce79d53ececc4cbd9911cd3cb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bf7d25303fbe81973e7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bfc4d58f3d62b6153f07e14ebf000080bf002e2d3f828c8b3ececc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbf8fabd23bb918103f869653bf000080bfa38e2b3fbe81973e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf7fabd2bbb718103f869653bf000080bfa38e2b3f9384c93e999919be9711cd3cb9f545beeb4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf7d25303f9384c93e999919becccc4c3dcbcc4cbea29758bda39758bd7e487fbf83558b3baea27f3f96d059bd000080bfbe63363f9384c93e9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfea32b8bb28e3633fc93fe9be000080bf2169303fce79d53e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe23a1cebd7c4e0e3fa33a53bf000080bfff2d2d3fce79d53e982a33be9899193eb9f545be064afdbefb41383d692e5ebf0f1025bdec137f3f1fd0983d000080bf29654f3f1401d63e992a33bececc4c3db9f545be064afdbed84138bd6a2e5ebf7a10253dec137f3f27d098bd000080bfbe63363f1501d63eca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5beecb469be5a965f3f3448dcbe000080bf2169303f11f0db3eb9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe7c6dc73cdea77d3fddfe07be000080bfbe63363fca2edf3eb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe976dc7bcdea77d3ffcfe073e000080bf29654f3fc92edf3ec7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be18b5693e5a965f3f2948dc3e000080bfc65f553f10f0db3e4fe2dabb982a333e989919beb628533f3e80103fd94e03bdeaaebcbd84b4423e7a387a3f000080bf1257143f23fbfd3e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe843be93d27e81a3fa8b7493f000080bfb35f0e3f739d003f7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be4ad068bd09d0f53e2c18603f000080bfb4840e3fa5af023f9711cdbcb9f5453e989919be104afd3e672e5e3ff74138bdb9c2cebdbad4de3d142a7d3f000080bfa08b143fa8ee013f9911cdbcb9f5453ecfcc4cbd0e4afd3e672e5e3ff441383d4cc2ce3d78d4debd152a7d3f000080bf02892d3fa7ee013f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d79d6b83d570744be6b337a3f000080bf74542d3f23fbfd3e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eec1d48bd321411bf088d523f000080bf6450333f729d003f7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3cf683d09d0f5be2c18603f000080bf6475333fa4af023fcecc4cbdcbcc4c3ecbcc4cbda397583d7e487f3fa997583d8d184c3d086b63bd61497f3f000080bf02a92d3fcf59073fcecc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e5a71a23d9455febe5f405d3f000080bfd4d7333f47de073fcccc4cbdcbcc4c3e989919bea797583d7e487f3fa39758bdb5194cbd106b633d5f497f3f000080bfa0ab143fcf59073fcecc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbe7c72a2bd9155fe3e5c405d3f000080bff35f0e3f48de073f989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbe56d606be40b2f83eb4375d3f000080bf53a60e3fc3a41f3f999919becbcc4c3ecbcc4cbda79758bd7e487f3fab97583d76f8173dcbb550bdb07d7f3f000080bf63ef2d3f4b201f3f999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e20d6063e43b2f8beb5375d3f000080bf341e343fc3a41f3f999919becbcc4c3e999919bea89758bd7e487f3fa79758bdadf817bdc5b5503dae7d7f3f000080bf00f2143f4b201f3f9c1532bec7503f3e9c1532be5f25d5be51ee4e3f5a25d5be8e0b00be3323ce3e5d23683f000080bfbcec0e3fc1d4253f989919be982a333eb9f545bef04138bd064afd3e692e5ebfdf3573be60ac563f7808fb3e000080bf92e8093fbb10213f9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf4155a5be3d6c433f82380f3f000080bf38960b3f00d5263fc7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be69b062be036ee13e2dc15e3f000080bfecd90e3f6fe7293f982a33beb9f5453e989919be0e4afdbe672e5e3f054238bd00000000f1ea533d3aa87f3f000080bf25f5143f6394253f992a33beb9f5453ecfcc4cbd104afdbe672e5e3fe441383d00000000feea53bd3aa87f3f000080bf88f22d3f6394253f9d1532bec7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53e360b003e4723cebe5b23683f000080bf6cdd333fc1d4253fb9f545be982a333ecfcc4cbd692e5ebf0a4afd3ed241383dfdc4a6bc0ded00becce87d3f000080bfced72d3f685d2b3f9d1532be9c15323e40c057bc787debbedd46eb3e0382423fe8f1963e3c653abf4f6b1e3f000080bf20fc363fffd4263f999919be982a333e60e2dabb4ed907bd5532103f125b533fb329683ea7df4cbf171b0e3f000080bfad8c383fba10213fca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e40b0623e276ee1be27c15e3f000080bf9cca333f6fe7293fb9f545be982a333e989919be692e5ebf0d4afd3e044238bd6ac4a63c04ed003ecce87d3f000080bf6cda143f685d2b3fcbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583d72bf273db06a52be4c517a3f000080bf94a62d3f1be32e3fb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e4089d93e1ec3e5be0044493f000080bf20df333f8a4c2d3fcbcc4cbe9999193e989919be7e487fbfa697583da39758bd78bf27bd9d6a523e4c517a3f000080bf32a9143f1be32e3fb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe4089d9be14c3e53e0244493f000080bf3e670e3f8a4c2d3f0ad723befd76b43b06d723bdc3fb81be478c6ebf0cc5843ef7a9253ea2c6643e7511763f000080bffc96243f82d1073e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133fefce803e8fcd053fbf87503f000080bfbc36283fe6be053e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ed4947a3ee924a63e28e7693f000080bfee4a283fca80f23d0ad723be66562f3bcbcc4cbd414b84befd3c77bfb321ba3c3d09e53cc059833cf5dd7f3f000080bf4518223f385b093e982a33be4fe2da3bcbcc4cbd87f80fbf9d8053bfb8b20a3d000000003be6273deac87f3f000080bf3e58223f40f8f73d992a33be4fe2da3b989919be2dea0fbf978953bf64e40bbdf7a1a4bd811a5d3cec257f3f000080bf1e65093f788dee3d0ad723be60562f3b989919be9b5384be984c77bf0e7c9ebb583802be3c0dee3c05d07d3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbe9a467fbe7f896ebf551a87be553d86be09194abe9cd2713f000080bf6e34083f97b6033e73a520be555c783b72a520be82e272be8fd471bfd41a68bea15e71be297a2ebed6ee743f000080bf4d60073f51ba053e8b751dbe2048753b0ad723be59a682be21686ebf2a2185be61b081bea8d347be728f723f000080bfca8b063fe0cd073e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe2607b0beab73a5be4eb6613f000080bf6669033f2095e43d999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84beff6980bea6177bbe39bc6f3f000080bfae7b063f83360b3e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf517f90becc2a08bf70634c3f000080bfb5bf023ff1aa073eb9f545be9911cd3c989919be692e5ebf0a4afdbed04138bdf60c3ebd7a7c1abc7fb67f3f000080bf90b3093f60b0ba3dc7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53ede06993e045aa33e9c3d663f000080bf2882283f58fdcd3d9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f23e5063f94e70c3f62c9253f000080bf36842b3f9463e13db9f545be9711cd3ccbcc4cbd692e5ebf0d4afdbefc41383d9d44f7ba882fc03db0de7e3f000080bfb1a6223f2c1bc43dca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5be41ccafbe5ed776beea61683f000080bfa0a0033fac11c03d9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfd4fa19bfbe640abfbb93163f000080bf1d30003fec08d13dcbcc4cbececc4c3d999919be7e487fbf999758bd9b9758bdd2134dbd1eaf59bd14517f3f000080bf1cd0093f56de8d3db9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe4c17f5be5ddf42be866b5b3f000080bfdf78033fceea943dcbcc4cbecccc4c3dcbcc4cbd7e487fbfa79758bda697583d4d65313d231e2c3e371d7c3f000080bf3ec3223f2049973db9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3ec1c5eb3e60ea993e54d0553f000080bf61e1283f6609a33db9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3ebf9ff73e71889b3eee23523f000080bf60e1283fa058293ccbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583db0ba7e3d4058463e8ba57a3f000080bf3ec3223fc0ac963bcbcc4cbe9999193e989919be7e487fbfa697583da39758bd611b67bd4d208bbdf7ff7e3f000080bf1dd0093f00000000b9f545be9899193e992a33be692e5ebf0342383d0a4afdbe16e9fcbef3c83bbe8394593f000080bfdf78033f808f613bb9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3e3299cf3e8eb523bf2a37273f000080bf5afd6e3f9405d93ec7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53e9a2e153fb9992abfb420ee3e000080bf5e5d743fca2edf3e9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f27bd293f151c3fbf2149633d000080bf3ca6763f0d9dda3e982a33bececc4c3d40e2dabb89f80fbf9fb20abd9c80533f0c791d3fc7512fbf9603c83e000080bf1a3c723f1688d23e992a33be9899193e60e2dabb8af80fbfb1b20a3d9c80533f604f213f332221bf58d1e83e000080bf9d8d603f1e2baf3eb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e9a4bc83e15460dbfcf8a3c3f000080bfde4e5d3f9ca8b53eca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e0728803ecf44cbbed60d623f000080bf443a5a3f96e8aa3e9d1532be9c15323e40c057bc787debbedd46eb3e0382423fb087093fb08b09bff570263f000080bf22835c3fd956a63e0ad723be9999193e6d562fbb6d4c84be5a5fad3c273f773fa885333fd2fa2ebf0a754f3e000080bf1a33633f24e0a93e0ad723bececc4c3d59562fbbc78584be4329e0bc432d773f61d62f3f224135bf6400283e000080bf96e1743f1c3dcd3e0ad723bec33d1f3e6eca8abb8dbd84be21bb823e2b736e3f959b283fd69c28bf994dba3e000080bfbc39623f69eda73e0ad723be57b0d03c23e719bc86347abea39706bf1796503f86f2323f73882dbf383e69be000080bfb837793f62e9d53e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133f8790293f3f6110bf787efcbe000080bfa20f7c3f3599db3e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ea34e1e3f2ec829bf40dcd7be000080bf1bef783fca2edf3e999919be982a333e60e2dabb4ed907bd5532103f125b533fcc5c273f59d31cbf0c6fe33e000080bf9d8d603f93829d3e235b21be235b213e37b088bbfeed6cbe7587723e5e8f713f43cf2a3f76cf2abffa83a93e000080bf0e4a623fd856a63e27731ebe0ad7233e639e83bb661a87bebe467f3e7a896e3f61ae283fd6ad28bfc9cbb93e000080bfb85c623f507aa43e999919be0ad7233e74562fbb0a45c6bb6e53843e2a4c773f0bd92e3f975b34bf2f65453e000080bf1a33633f8ccda23ececc4cbd982a333e60e2dabbb2b20a3d8af80f3f9a80533fc0512f3f10791dbf9d03c83e000080bf1a3c723f364b743e999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e3471153f6f0fc2beccd0373f000080bfde4e5d3f1505973ececc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e90b5233f3399cfbe2837273f000080bf5afd6e3f3a50673ecccc4cbd0ad7233e74562fbbbf21ba3c4f4b843efb3c773f6855353fa5952fbf82d72a3e000080bf96e1743f28e17e3e7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3be403f002b10bf0a5eae3e000080bf5e5d743fcffd5a3e7cb9d5bc9c15323e40c057bc7efdcf3e046c063f4d723f3f8e7c3f3fa34229bf9a3c6d3d000080bf3ca6763f4821643e07d723bd0ad7233e0e77b4bb18c5843ecffb813e448c6e3f511e353fb2ea34bf8a6c8ebb000080bf3ca6763f90ce773e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3e43b7263fc5f732bff02897be000080bf1bef783fcefd5a3e54b0d0bc0ad7233e3ae719bc4754133fd679733efd4f483f5289263fc78136bfa80e86be000080bfb837793f9e886d3e2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133f3c61103f999029bf4f7efcbe000080bfa20f7c3ff728623ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3eb3aa173f6f03d83e31b12f3f000080bf6e916f3ffe542a3f7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53eada0203f6d36163fb509033f000080bfdac2743fd4b52d3f7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f5e37363fc6ff313f8be3cb3d000080bfba2b773fd28e2b3fcecc4cbd992a33be60e2dabbeaf8003d13ab10bfcf0c533fc711243f55f4243f079cd53e000080bfa2fd723f5846273f989919be992a33be40e2dabbbc2a0ebd8cc10fbfb3a3533ffbd7163ffb19283f2408f13e000080bf3855623f28a0143f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e5ce8023f8191cf3ebdfa413f000080bf03e95e3fceae173f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53e38c6b73e82948c3e455e643f000080bf24235c3f9224123f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433f99db013ffe6c123fc905253f000080bf048c5e3f90fd0f3f0ad723bd0ad723be0677b4bb2ca7853ed91881be838b6e3fb3742a3f8ff53e3f24e67a3c000080bfa472773f80a5263fcecc4cbd0ad723be6d562fbb18484c3c5a5184be6948773f876c2a3f4b13393f75433d3e000080bf32c8753f15c8243f57b0d0bc0ad723be38e719bc4754133fcb7973befd4f483fbd211e3f7fe0403fa4c866be000080bf0fde793ff75a293f2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3e8ed2253fb369293fc244c1be000080bfbc52793fb2f72d3f2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f4cf2033fd172383f2a87edbe000080bfd48b7c3fb65a2c3f999919be0ad723be5d562fbb2ef292bba35384beb24c773f906d243fb05a3d3ff2b14d3e000080bfc81f653fe421123f6c2c1dbe0ad723bede1a70bb651a87be98467fbe7d896e3fbffb1e3fa8fb313f1648b93e000080bff68a643f487b113ff85820bef75820be9ed46dbb791864be538972be2817723ff446213f198f343f3b6ca63e000080bf9ca9643fdc55103f0ad723be2e811cbe52fb63bb316485be1f9782beda606e3fe4d31e3f8ada313f4c4fba3e000080bf56cb643ffe120f3f0ad723be989919be59562fbb124d84be8fb3a5bc6140773f3b0c2a3fafe2383f0a78453e000080bfc252653f089a0e3f982a33be989919be40e2dabb89f80fbf9fb20abd9c80533f290d1a3fcf222b3f70c1df3e000080bf7ed4623f78cf0b3f992a33becfcc4cbd60e2dabb8af80fbfb3b20a3d9c80533f4bb2143fae303a3fb82cbb3e000080bfae7a753f1a4ef63e0ad723bececc4cbd6d562fbbc98584beb529e03c432d773fc360253f23803f3fd39f1b3e000080bff2f8773f3ae3fb3eb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e3252c03eaa9d173fde7c363f000080bfd8c55f3f4363083fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e4e2e663e58e0de3e3a2c5f3f000080bf02655c3fb0940d3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ee915c63e77942f3fabca1d3f000080bf086c723fb075ef3eca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e1286133f5249343f0251d43e000080bf45f6773ff2e9e93e9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423ff0b6363fb8ac303fa3f0f43d000080bf471d7a3fb2bbee3e0ad723be5cb0d0bc36e719bc96347abea397063f1696503f438e3c3fd9ab253f056d49be000080bfd48b7c3f81b7f33e6b562fbb0ad723bececc4cbd432d773fc08584be8329e03cc825df3bb4c9a3bd8f2c7fbf000080bfd2dcbb3e839ebb3e2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f1fede93eae4393be407c57bf000080bfe1bbaf3e1601be3e2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3ed7b1963e702e8ebebd1a6abf000080bfd0dbaf3e443fc43e4fe2dabb992a33becfcc4cbd9d80533f87f80fbfb5b20a3ddbc75d3cfcf224bdd4c47fbf000080bf59aabb3ee750c23e7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53e67a98f3e7881a4be408a67bf000080bfd0dbaf3ebc62cd3e7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f3b30043fc8260cbfeb9428bf000080bf2fa3a93ee9d4c83e4fe2dabb992a33be989919be9c80533f88f80fbfaab20abd3fce60bc04d7233d5fc57fbf000080bf9c9ced3edf4ec23e60562fbb0ad723be989919beb23e773f254c84be7b2eb0bc00000000ee7da23d65317fbf000080bf15cfed3e7b9cbb3e2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbe426eb3be687c9d3e377762bf000080bf9fb0f93e443cc43e93ec93bb0ad723bec73f20beea776e3f129284bea5c482beb67151be12b5543e75e174bf000080bfce15f13e5743bc3e9911cdbcb9f545be989919be064afd3e6a2e5ebfe64138bd1c1855bda6ffb43c3b977fbf000080bf9c9ced3ed749cf3e9711cdbcb9f545becfcc4cbd064afd3e6a2e5ebfe841383d4eed533d8d55b6bcf6977fbf000080bf59aabb3edf4bcf3e4fe2dabb989919be992a33be9644533fefe305bd195510bf23fe09bfff20813e41bb4dbf000080bfef87fa3e2581b93e1cd291bbcddf21beccdf21be57bb713f82106cbe7da070be4cee44be2fa9453e395076bf000080bf43e9f13e3b90bb3ec3078dbb097d1fbe0ad723be7f896e3f501a87bea7467fbe2f874cbe74964d3e058575bf000080bfc6e8f23ea6b0ba3e6b562fbb999919be0ad723bea54b773f9a97efbb125384be380c80be9496683ea7f270bf000080bfc0fbf23ece15b83e60562fbbcecc4cbd0ad723befd3c773fa121ba3c3a4b84be1bd281be6cd8953e2e076cbf000080bf24c8f43e14d5943e4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbfcfbb0bbfb144973e42b948bf000080bf5254fc3e6c40963e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf61a622bfaa91553eaf573ebf000080bf2e59fc3ecf1f903ef576b4bb0ad723bd0ad723be478c6e3f0dc5843ebbfb81bea49caabe5b2fab3ed9ae61bf000080bf3803f53ec74f923e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be81e1e7bef420873edc025abf000080bffc57f53ed2918e3ecccc4cbdcbcc4cbecbcc4cbda397583d7e487fbfa397583dd79ee33dc4793fbde0217ebf000080bf8afebb3e0182da3ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3e18997c3ee8c0f0be76ed58bf000080bfeca4af3eaf27d83e989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e9b227b3eedb2fabe3c3356bf000080bf5071b13ecea0fb3e999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583d8dbf063e718173bd2e517dbf000080bfeecabd3e22fbfd3ececc4cbdcbcc4cbe999919be9e97583d7e487fbfa39758bd526ae4bdd3613f3d181f7ebf000080bfcef0ed3efa7fda3e999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd7b2e07bec295733d694d7dbf000080bf32bdef3e1af9fd3ececc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbefffa7cbecdb8f03e94e858bf000080bfee87fa3ea324d83e999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe9a8c7bbe59aefa3ece2c56bf000080bf5254fc3ec49dfb3e7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be09cc8fbeb46da43e648867bf000080bf9eb0f93eba5fcd3e7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfd90012bf0ea4123f73b716bf000080bf1d30003f60d1c83e4fe2dabb989919be992a33be9644533fefe305bd195510bfce262abda0fa7d3f2655f2bd000080bfb8512d3deff3253f2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbede2f753e8fbd5a3fde0fecbe000080bfb04f9b3c4c93273f7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfbf2bb83b24e3633fd73fe9be000080bfb84f9b3c6dce2a3f9711cdbc989919beb9f545be064afd3ee94138bd692e5ebf171125bdeb137f3f5ed098bd000080bfb8512d3dc98a2a3f9911cdbccfcc4cbdb9f545be044afd3ee541383d6a2e5ebf8110253dec137f3f31d0983d000080bf175a0f3eca8a2a3f4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbf50a5253d34f77d3f1101f43d000080bf175a0f3eeff3253f2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bff598b2bdcb1c583f4466073f000080bf8e44273e4c93273f7db9d5bc80b9d5bcc9503fbe4f25d53e5625d53e55ee4ebfb651863c4bac623fe8cded3e000080bf8e44273e6dce2a3f7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bfa2d58fbd5eb6153f0ae14e3f000080bf1231343e6dce2a3fcecc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbf8fabd2bbbc18103f8596533f000080bf84ae3a3e0bc9303fcecc4cbdcbcc4cbdcbcc4cbe9e97583da797583d7e487fbf29558b3baea27f3f99d0593d000080bf185a0f3e0bc9303fcccc4cbd989919becbcc4cbea097583d9e9758bd7e487fbf425b8bbbaea27f3f9ad059bd000080bfb8512d3d0ac9303fcecc4cbda011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000034685e3f348bfd3e000080bf1b53283e0bc9303f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf06f97d3b486d5e3f6377fd3e000080bf1a53283e75ca493f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8aabd23bba18103f8596533f000080bf84ae3a3e75ca493f999919becbcc4cbdcbcc4cbea39758bda797583d7e487fbfa65b8bbbaea27f3fa5d0593d000080bf175a0f3e76ca493f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebf1ca6923dd8b9663f20c6da3e000080bf8e44273e13c54f3fcecc4cbd992a33beb9f545bef141383d064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c0bc9303f7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be6bfaf53d7ab3003f5a265bbf000080bf20aecf3b6dce2a3fcecc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbe8ba3493cecc5fd3ebf515ebf000080bf000000000bc9303f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bf0000000075ca493f999919be992a33beb9f545bee94138bd064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c75ca493f999919be999919becbcc4cbe9f9758bda39758bd7e487fbf755b8b3baea27f3fa1d059bd000080bfb4512d3d76ca493f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebfe834b8bb28e3633fcb3fe9be000080bfa84f9b3c13c54f3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be57faf5bd78b3003f5c265bbf000080bf20aecf3b13c54f3f982a33becfcc4cbdb9f545be064afdbefa41383d692e5ebfd50f25bdec137f3f0fd0983d000080bf175a0f3eb608503f992a33be989919beb9f545be064afdbed34138bd6a2e5ebf3210253dec137f3f10d098bd000080bfb4512d3db608503fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5beefb469be5b965f3f2f48dcbe000080bfb04f9b3c3400533fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbed76dc73cdea77d3feffe07be000080bfb4512d3d919f543fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbeec6cc7bce0a77d3fd6fe073e000080bf175a0f3e909f543fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5be2cb5693e5b965f3f1b48dc3e000080bf8e44273e3400533f54b0d0bc3ae719bc0ad723bea397063f1696503f9b347abe9ae73b3f582894be414a1d3f000080bf28625a3f0c78f13e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be8a791a3f22461bbf0f87043f000080bf24235c3f8aaced3e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf0b98283f6bc50dbf1b6f023f000080bffc11593ff2e9e93e7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bf7aef5d3f44c906beb721f63e000080bf3aa9573f8af6ec3ecccc4cbd77562fbb0ad723be9629e03c432d773fca8584becd833b3fe598203e2198293f000080bfe199563fb2edf83ececc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbfefa3463f8874aa3e442a093f000080bfecc9533f56dbf33e999919be6d562fbb0ad723be6da6a8bce93f773fd54c84bed91c2e3f11d64f3efc55343f000080bfa679453f43f50c3f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8d5e1d3f69faeb3eaddb233f000080bfb2a9423f156c0a3f9c1532be40c057bc9c1532be6830eabe5427433f526feabebb17f53e151f253f8b7d183f000080bf6a583e3fe4dc0e3f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf65d5d93e26a84b3f60e1dc3e000080bfd5603e3f9af1073f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebfe3828e3ee199673f4829a53e000080bf31543b3f331e0d3fd38d1dbe530077bb0ad723be91a882be7d686e3f771c85be895f243f9480ba3e87b02c3f000080bff3be443f72a50d3fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5bea2955c3e4e015e3f94dbe53e000080bf31543b3fc199113f982a33be60e2dabb989919bef2ed0fbf2b87533fa7ae0bbd31331b3f9334e13eb69d293f000080bfb2a9423f7d15133fc1b120be1b0e7abbc1b120be95a672be7bdc713f61d567bebd12283ff0ada73efaf22d3f000080bf6fbe443f9db60e3f0ad723be410077bbd28d1dbebc467fbe7f896e3f431a87bec653243f29dcb93e00e82c3f000080bff4be443fa3c60f3f0ad723be74562fbb999919bea15384be8d4c773fbf4fa2bb8b8b333f1bc0433e1acc2f3f000080bfa679453f646d103f0ad723be6d562fbbcecc4cbd4b4b84befb3c773fb121ba3caff5343faf22313e9f942f3f000080bfe199563f42a0223fb9f545bea011cdbc989919be672e5ebf0e4afd3e004238bde048cd3e2548403ff544063f000080bfd6603e3ffef8163fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bd4ce2df3ca1776a3fb10ecd3e000080bf70ae3b3f183f193fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbe4e3fb9bda805773f6b587c3e000080bfae8c383fdb99133fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583de31b943d03a55c3ff77c003f000080bfabce4c3ff7712b3fb9f545bea011cdbccfcc4cbd692e5ebf0f4afd3ed041383daf5ad93eb80e313ffa95153f000080bf10814f3fdd2b293f992a33be60e2dabbcfcc4cbd8bf80fbf9c80533f98b20a3dfdf71b3f42cec53e8747313f000080bfecc9533f5c48253f9d1532be40c057bc80b9d5bc026c06bf50723f3f80fdcf3ea5c3303faa34c33de08f373f000080bf3aa9573fb0c3293f0ad723be0677b4bb0ad723bdc7fb81be448c6e3f18c5843ef7293d3f0fe7623c43742c3f000080bf3623583f2e94243f0ad723be36e719bc5cb0d0bccc7973befb4f483f4954133f6584453fd6c554be43ed193f000080bf28625a3f9967273f0ad723be5cb0d0bc36e719bc96347abea397063f1696503fc3ea443f1826d0bef869fc3e000080bf24235c3f10162b3f9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423f27ac413f10f551bea3f81e3f000080bffc11593ff2b82c3fca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e6b7c153fac14f43ee236283f000080bf01a5543f8d802c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3e6aaaaf3e6d43463f0610083f000080bf253a523f1ae32e3f999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583da6a07fbf68fb553d1af05abc000080bf000040325fd1763f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e07317ebf2c05bf3dd134963d000080bfe074973b8aff7c3f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53ea01861bf28ebf23ed2d42b3d000080bf77afd13c71e17c3f982a33beb9f545becbcc4cbd064afdbe6a2e5ebff641383d0d765ebf0245fd3e491151bc000080bf72dfb23cb1f8763f992a33beb9f545be989919be064afdbe692e5ebfdd4138bd28515ebf14c7fd3eba134ebc000080bf70dfb23c76fe5d3f999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd46747fbf3e70603d5a3a11bd000080bf0000000023d75d3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be080960bfe9f9f53e6e4d6cbd000080bf76afd13c68f5573f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbece8f7cbfbf75ee3d4a9eeabd000080bfd074973b628c573fb9f545be992a33be989919be692e5ebf0a4afdbed54138bd62c6fdbe82515e3f39614b3c000080bf8a47413d9afe5d3fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e9ff3f2bed315613f9d842cbd000080bf80f3313d8be17c3f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433fddfd34bf090c353f00000000000080bfb9760d3d0000803fb9f545be992a33becbcc4cbd692e5ebf0b4afdbefe41383d0746fdbeec755e3ffc4e4e3c000080bf8b47413dd6f8763fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5bef0f1f5beea0b603f18a46b3d000080bf8af3313d82f5573f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebf470135bf9f08353f00000000000080bfb7760d3d909f543fcbcc4cbe989919be999919be7e487fbf969758bd999758bda2eb5fbd4c7a7f3fff15073d000080bfd6738d3d86d75d3fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbe9eb7b1bdf38a7e3fa0397d3d000080bf5e05843db88c573fcbcc4cbe999919becbcc4cbd7e487fbfa49758bda397583d636c53bd33947f3f706acc3c000080bfd4738d3dc3d1763fb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e16b370bdc3897f3f91f449bc000080bf6105843de1ff7c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ea19d643d2c987f3f6fa9e93b000080bfacdd083eed297c3fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583d70805f3ddb7e7f3fcbcdfd3c000080bfe7940d3ecffb753fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bdd9e4503d837f7f3f169e143d000080bfe7940d3e93015d3fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbec645b93c8d997f3fff5b513d000080bfabdd083ec5b6563f9899193eb9f545bea011cdbcf341383d692e5ebf084afd3ef6450dbfaf4bc83ee18a3c3f000080bfcea83b3f32a6433f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53ead44cbbe2528803ed90d623f000080bf3494383f3506493f9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f8b2f08bf732f083f8aa6283f000080bf12dd3a3f144f4b3f9899193e992a33be60e2dabb35eb033d0e7510bffa2f533f4c2121bf8934213f261ee93e000080bf8de73e3ff0e4463fcfcc4c3d992a33be40e2dabbbdf800bd12ab10bfd00c533fd3632fbf57de1c3fd5a8c93e000080bf0996503f7536353fcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e91b523bf2999cf3e2b37273f000080bf4a574d3fb6f7313f80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53ec9992abf942e153f9220ee3e000080bf4eb7523f1be32e3f80b9d53c9c1532be20c057bc682bcfbe499105bfe443403f47833fbf3e44293fca92663d000080bf2c00553ffa2b313f20731e3e0ad723be1d9e83bb6d1a873eb7467fbe7a896e3f0aae28bf2eae283fcbcbb93e000080bfaab6403fce604a3f9899193e0ad723be6d562fbba344c63b5c5384be2e4c773f0dd92ebf975b343f1065453e000080bf0a8d413f6d8a493fcecc4c3d0ad723be5d562fbb6b474cbc595184be6b48773f5a4235bf1c352f3fcf24323e000080bf863b533ff2db373f06d7233d0ad723befd76b4bb20a785bec91881be868b6e3f7ff434bf5f13353f3103d9bb000080bf2c00553f4b17363f5cb0d03c0ad723be23e719bc4d5413bfb57973bef94f483f498926bfce81363faf0e86be000080bfa891573fcf85333f40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3ebf9f26bf997d203f513adbbe000080bf0a49573f1be32e3f38e7193c0ad723be54b0d0bc189650bf87347abea197063f8d3508bf45e22c3fb2be02bf000080bf92695a3fe6ad303f1e5b213e205b21befaaf88bb5edf833ee7e182beaa8c6e3f1cae28bf1cae283fc7cbb93e000080bf00a4403f144f4b3f0ad7233ebd3d1fbe37ca8abbb7467f3e6d1a87be7a896e3f1eae28bf1aae283fcacbb93e000080bfad93403f5d1a4c3f992a333e989919be60e2dabba482103f852d03bd2627533f923121bf4121213f7c26e93e000080bf8de73e3f37b94f3fc9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53e322880be9f44cb3edb0d623f000080bf3494383ff2974d3fb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ea14bc8be0c460d3fd48a3c3f000080bfcea83b3ff6f7523f0ad7233e999919be77562fbb2f53843e70cae5bbc54b773fd44d34bfaedb2e3fc808463e000080bf0a8d413fba134d3fb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e2299cfbe9fb5233f1f37273f000080bf4a574d3f72a6643f992a333ecfcc4cbd60e2dabb8af80f3fb7b20a3d9c80533f09791dbfcc512f3f9203c83e000080bf0996503fb367613f0ad7233ececc4cbd6d562fbb464b843ec021ba3cfd3c773f9c952fbf7255353f69d72a3e000080bf863b533f36c25e3f9c15323e80b9d5bc40c057bc026c063f82fdcf3e4e723f3f964229bf9b7c3f3f5e3b6d3d000080bf2c00553f2e72653fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53efd2a10bfb9be403ff35dae3e000080bf4eb7523f0cbb673f0ad7233e07d723bd0e77b4bbcdfb813e1bc5843e428c6e3fa5ea34bf5e1e353f01718ebb000080bf2c00553fdc86603f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3ec6f732bf40b7263fff2897be000080bf0b49573f0cbb673f0ad7233e5cb0d0bc3ae719bcd179733e4a54133ffa4f483fb18136bf6189263fd30e86be000080bfa891573f5818633f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133fac9029bf3661103f317efcbe000080bf92695a3f42f0653f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53e78ba8fbec377a43e5589673f000080bf6a72283f7e70b23ec9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53ebeeda3be2dac903e2a7c673f000080bf3a72283ff593bb3e9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f84d907bf5b85083f78a6283f000080bfa38e2b3f93feb63eb9f5453e992a33becfcc4cbd692e5e3f064afdbef541383ddb2db2bc218f573da8957f3f000080bfec8a223fd881bd3ecbcc4c3e989919becbcc4cbd7e487f3f9b9758bda697583dd11f3fbd0f9be63d60177e3f000080bf9a60223fa8adc83eb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ef485f0bef35e7f3edbc9583f000080bf758d283f0c4fc63ecbcc4c3ecbcc4cbdcbcc4cbd7e487f3fa297583da297583de14e78bdb55b213e30537c3f000080bfb079213f4eeeeb3eb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e6f6cf8be5598943e3728533f000080bf8ba6273fb28fe93ec9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e45780abfbad17b3ee3e84d3f000080bfe41c273f4db0ef3eb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d456523bed07c443e65e6773f000080bfb530213fe65cf23ecbcc4c3ecbcc4cbd999919be7e487f3fa397583da09758bdd44e783d8d5b21be30537c3f000080bf8e80083f4eeeeb3eb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd2365233e8a7c44be6be6773f000080bf9337083fe65cf23ec9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be3b780a3f51d17bbef1e84d3f000080bf7c32023f4eb0ef3eb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe696cf83e3f9894be3b28533f000080bf0a35023fb28fe93ecbcc4c3e999919be989919be7e487f3f9e9758bd9b9758bdc61f3f3d029be6bd60177e3f000080bf7767093fa8adc83eb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbeed85f03ed75e7fbedec9583f000080bff41b033f0c4fc63ec9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5beb6eda33e1dac90be2d7c673f000080bfd387033ff693bb3eb9f5453e992a33be989919be692e5e3f064afdbeed4138bd802eb23c828e57bdaa957f3f000080bfca91093fd881bd3e992a333eb9f545be989919be064afd3e692e5ebfed4138bda981543de4abb5bc9b977f3f000080bf0e92093fe186b03e992a333eb9f545becfcc4cbd064afd3e6a2e5ebff041383dac8154bde6abb53c9b977f3f000080bf308b223fe086b03e9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be4eba8f3ed677a4be5689673f000080bf0288033f7e70b23e9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf4dfa113f97aa12bf72b7163f000080bf1d30003f94feb63e9899193ecbcc4cbe999919be9e97583d7e487fbf9f9758bdf903e43dd96d3fbd7f207e3f000080bf2f68093fba50a53e9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe47c97c3eebbcf0be0feb583f000080bf931c033f8eaba73e9999193ecbcc4cbecbcc4cbda297583d7e487fbfa397583d0e04e4bdd96d3f3d7d207e3f000080bf5161223fba50a53e9899193eb9f545bea011cdbcf341383d692e5ebf084afd3e78c97cbee6bcf03e0ceb583f000080bf148e283f8eaba73ecfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3eff567bbeb0b0fa3e0e30563f000080bf9ba8273f5b32843ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583dadf606be8d8b733d504f7d3f000080bfd87b213f86d7813ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdbef6063e8c8b73bd4e4f7d3f000080bfb682083f86d7813ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe0e577b3ea9b0fabe0e30563f000080bf1937023f5b32843e0ad7233e1877b4bb06d723bdc8fb813e448c6e3f19c5843e44d526bfef7b08bd05fc413f000080bf3471773fd9a1343f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133ff5043fbfc8c06dbeb2bb1f3f000080bffe677a3f7792323f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3e9a443fbf91be343e870b243f000080bf0c50783f2464303f0ad7233e77562fbbcecc4cbd474b843efd3c773fcf21ba3cbd1527bf74f4203e3bbc3d3f000080bf1865753f520a363f992a333e60e2dabbcfcc4cbd8af80f3f9c80533fb8b20a3dacb121bf253bce3e2095293f000080bf6c44733fac95333f992a333e60e2dabb989919be2eea0f3f9789533f8ae40bbd0c702bbfd346f53e8646113f000080bf1002603f3482433fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e7d8816bf5e35093f50141b3f000080bfaee1763f1be32e3fb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d4bf9dfbee7de373feb830a3f000080bf0a3c713fc572313f0ad7233e6d562fbb989919bea053843e984c773fe77b9ebb862b36bf836a463ecae22c3f000080bfbc22623fdaf6453fb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd701fddbe36d44b3f1bf1d83e000080bfaef95d3f4d5f413f0ad7233efc4775bb87751dbeb1467f3e7c896e3f621a87be3c4c2fbf677cb93e82e1213f000080bfa274613f43a2463f72a5203e465c78bb71a520bec1e2723e83d4713f631b68be21cf2fbfd9f9a73e400d263f000080bf5a56613fd3b2473f87751d3e0e4875bb0ad723be6aa6823e1f686e3f322185be170f2fbfbb56ba3effe4213f000080bf7736613fc9c1483f9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabeead21abfeedc243f9de1ef3e000080bfefd75b3f1dee473fc9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5beeda3abbe0220683f99fa823e000080bf91695a3f146d463f9999193e77562fbb0ad723be5362a83cf43f773fdc4c84be6b1231bffe294d3e16a0313f000080bff7be613f185f493f9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf793c31bf05b6d93e7c3e153f000080bff7085f3ff4034c3fcecc4c3d6d562fbb0ad723be8c29e0bc412d773fcd8584be292f2ebf89d22f3e3162363f000080bf9e1b713f01855b3fcfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbfcc9435bf66ccc03ebf8c183f000080bf9e656e3fdc295e3f80b9d53c40c057bc9c1532be9cf1ccbe0231423f0fa003bf0c9e34bfb2d7d23df07e333f000080bf3b8d723fc0c1623f5cb0d03c3ae719bc0ad723bea59706bf1696503f9b347abec6081cbfe55224be10c0463f000080bfd429753f5968603fcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfe3da3abf03af133f2fbbbb3e000080bf20a66b3fc947623f80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf586241bf3a3eac3e3ef30f3f000080bff49d703fbea7653f3ae7193c5cb0d0bc0ad723befa4f48bf4a54133fcd7973be89320bbf1f0ce4be6218363f000080bfb252783f625f643f40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bfce4227bf08c89ebed4cb303f000080bf2517753f50f1653f1877b43b06d723bd0ad723be448c6ebf19c5843ecafb81be06b3b9beab5024bf02f62c3f000080bfe68a793fec05663f77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beead556be2b7927bf89053a3f000080bffe677a3f1730673f60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf8a08e6be7f5324bf94121f3f000080bf94e8763f31d8683fb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbe566dc7bcdea77d3fe4fe07be000080bff266393f00000000c9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5be19b5693e5b965f3f1d48dcbe000080bf546c333f20aecf3b9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf8439b83b2be3633fbe3fe9be000080bf546c333fa84f9b3c992a333e989919beb9f545be044afd3eea4138bd6a2e5ebf051025bdec137f3f12d098bd000080bff266393f48db923c992a333ecfcc4cbdb9f545be064afd3eed41383d6a2e5ebf4a10253dec137f3f28d0983d000080bf5c68523f48db923cb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe806dc73cdea77d3fecfe073e000080bf5c68523f00000000c9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be6da913be3558533f9faa0b3f000080bffa62583f40aecf3b9c15323e80b9d5bcc9503fbe4e25d53e5a25d53e54ee4ebf3952863c49ac623fedcded3e000080bffa62583fb84f9b3c9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabe0ba1cebd7d4e0e3fa33a533f000080bf1b9e5b3fb84f9b3c9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf8cabd2bbbb18103f8596533f000080bf773d5d3fb8512d3d9899193ecbcc4cbdcbcc4cbe9997583da697583d7e487fbf16558b3baea27f3f97d0593d000080bf5c68523fb8512d3d9999193e989919becbcc4cbe9d97583d9d9758bd7e487fbf3f528bbbaea27f3f89d059bd000080bff266393fb4512d3d9899193ea011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000032685e3f338bfd3e000080bf9da6583fb8512d3dcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfd3147e3b496d5e3f6177fd3e000080bf9da6583f175a0f3ecfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbf8eabd23bba18103f8596533f000080bf773d5d3f175a0f3ecbcc4c3dcbcc4cbdcbcc4cbea09758bda297583d7e487fbf01548bbbaea27f3f8ed0593d000080bf5c68523f175a0f3e80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf18a6923dd8b9663f1cc6da3e000080bffa62583f8d44273e9899193e992a33beb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bfb028333fb4512d3d9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be56faf53d7db3003f59265bbf000080bf3331303fb04f9b3c9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe8fa3493ceac5fd3ebf515ebf000080bfd6912e3fb4512d3dcbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bfd6912e3f175a0f3ecbcc4c3d992a33beb9f545beeb4138bd064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bfb028333f175a0f3ecbcc4c3d999919becbcc4cbe9e9758bda09758bd7e487fbf50558b3baea27f3f91d059bd000080bff266393f175a0f3e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf0535b8bb28e3633fcb3fe9be000080bf546c333f8e44273e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5be5bfaf5bd78b3003f5c265bbf000080bf3231303f8e44273ea011cd3ccfcc4cbdb9f545be084afdbefb41383d692e5ebf3c1025bdec137f3f2dd0983d000080bf5c68523f1a53283e9811cd3c989919beb9f545be064afdbed54138bd6a2e5ebf4310253dec137f3f16d098bd000080bff266393f1b53283e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbefaf274be28e55a3fb98cebbe000080bf546c333f1331343e40e2da3b989919be992a33be205f53bf673708bd0c2c10bf43fd273d08f97d3fc71ff3bd000080bff266393f84ae3a3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbfa9a425bd34f77d3fba00f43d000080bf5c68523f83ae3a3e40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bf1679343e1650623feda7dd3e000080bffa62583f1231343ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583deb207f3f609765bd179c77bd000080bf0fb87d3f57cd063dcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e486b7b3f752c04bed36e0cbe000080bf41087c3f5138173c80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53e3c0b5b3f86ce00bf2d77f8bd000080bfccb0763fe2ef3a3ca011cd3cb9f545becbcc4cbd084afdbe692e5ebff341383d81835d3f7f51febed3278abd000080bfae22783f59b20b3d9811cd3cb9f545be989919be084afdbe692e5ebfdb4138bd194b5e3f68a7fbbe6e0e88bd000080bfba2f7a3f287f063ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdd47d7f3f7cb950bda6b417bd000080bf1bc57f3fe845053e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5bed18e643f6b6ce6be9e4b9bbc000080bfecb8793f72df1e3ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbed6c97e3ff72fa7bd95eb573d000080bf7a1b7f3fa7be1e3e40e2da3b992a33be989919be9c8053bf89f80fbf94b20abd491e103f365852bfaf9db6bd000080bfd6b7733f4ca0083e40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3e85e9063fdc6a58bff78fb2bd000080bf0023723f9fec523c80b9d53c9c1532be20c057bc682bcfbe499105bfe443403ff67b2f3f4d7637bfeba103be000080bf4427743f0000000060e2da3b992a33becbcc4cbd9c8053bf8af80fbfc5b20a3d91b30e3f921d53bfb95fc4bd000080bfcaaa713fec36143d6d562f3b0ad723becbcc4cbd432d77bfc28584beb129e03c26b0823e065376bf5b66c2bd000080bff7536e3fd7151a3d38e7193c0ad723be54b0d0bc189650bf87347abea197063fab38703edfde77bfc400b1bd000080bfe4026f3f2cfa5e3c5d562f3b0ad723be999919be3a3f77bf6e4c84bef7f4acbcc2b8843e540d76bfe16bc2bd000080bf0361703f08180a3e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbe1b5a0f3ffa6d52bf8781d4bd000080bf222b753f405f203e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf06ba413fedc526bf7d1a5ebd000080bf14b7773fc2eb2c3e5572893b0ad723becd171fbe71666ebf0cfa84be78da82be21f4943ea0c873bff918bdbd000080bfdac1703fdf650f3e40e2da3b989919be992a33be205f53bf673708bd0c2c10bffac5fc3d03177cbfc680fbbd000080bfefd66f3f67c5233e05678b3bb9e522be073320be75c073bfd60153bed11c67beeb5d6d3e0add77bfe360c0bd000080bfc7a0703f788e103e65e8893bda6c21bedb6c21be783571bfaf2171bedcf973be43f7863ee4c775bf8aa3bfbd000080bf4864703f97e1113e5062843bc9881ebe0ad723be7a896ebf721a87beab467fbe5ed7963e736f73bf6cd1c1bd000080bff3e96f3fe47d143e54562f3b989919be0ad723be234c77bf65a4c9bb575384be176c253d71b47dbf956902be000080bf54d36e3f54f7143e77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beb3fe363b9cc47ebf6699c8bd000080bf773d5d3faf1d1e3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf6c67ba3cb9d07ebfa533bfbd000080bf12415e3fc2eb2c3e + m_DataSize: 143856 + _typelessdata: 628091b90ad7233e64cb1fbe0681e5bdc66a423fd40e24bf7cbd13bf652213bff68614bf000080bfe48fd83e9c4cdd3e24678bbbcde5223ef83220be0681e5bdc66a423fd40e24bf7dbd13bf652213bff78614bf000080bf03add93ec461dc3e9e7289bb0ad7233ed4171fbe0681e5bdc66a423fd40e24bf7cbd13bf652213bff68614bf000080bf5762d93e451fdc3eb27289bb0ad7233ed6171f3eb281e5bd476a423f660f243f45da21bf95d8e23e15b622bf000080bff2d7893e3b008d3e37678bbbcde5223efa32203eb281e5bd476a423f660f243f45da21bf96d8e23e15b622bf000080bf0e95893eeab58c3e628091b90ad7233e66cb1f3eb281e5bd476a423f660f243f45da21bf96d8e23e15b622bf000080bfb9ab883e45d48d3e05678b3bb9e522be073320be5b82e53d136a42bf9f0f24bf081c143f5eff123f6e4b14bf000080bf645b163f8062dc3e5572893b0ad723becd171fbe5b82e53d136a42bf9f0f24bf081c143f5fff123f6e4b14bf000080bf1d36163fd51fdc3e16c890390ad723be6ccb1fbe5b82e53d136a42bf9f0f24bf081c143f5fff123f6e4b14bf000080bf8dcc153fd94cdd3e5d72893b0ad723becc171f3e2c83e53d406a42bf650f243f2446223f1352e2be6a7922bf000080bfb90add3eced78c3efe668b3bc0e522be0033203e2c83e53d406a42bf650f243f2546223f1352e2be6b7922bf000080bff8c7dc3e568d8c3e610491390ad723be66cb1f3e2c83e53d406a42bf650f243f2546223f1252e2be6b7922bf000080bf01dedb3e49ab8d3e6d562f3bcccc4c3d0ad7233e000000006cc2e1340000803f90073a3fd0dd2fbf000000000000803fe67fbd3ecab42f3e59562f3b9999193e0ad7233e000000006cc2e1340000803f000000000000803f000000000000803fe57fbd3efcea773e59562f3bcecc4cbd0ad7233e000000006cc2e1340000803f000000000000803f000000000000803fe67fbd3e2efdce3d999919be0ad7233e66562f3bcfd4a8340000803f00000000000000000000803f000000000000803f3c0ed63e908e8e3ececc4cbd0ad7233e66562f3bcfd4a8340000803f00000000000080bf00000000000000000000803fad97bc3eac27a83ececc4c3d0ad7233e66562f3bcfd4a8340000803f00000000000000000000803f000000000000803f1d21a33ec8c0c13e235b21be235b213e37b088bb58e524bf466a423f0f4bbbbd800c15bf207610bf73d615bf000080bfa5bcd93e885c8e3e0ad723bec33d1f3e6eca8abb58e524bf466a423f0f4bbbbdf90b15bfc77510bf51d715bf000080bffa5eda3ebfc18d3e0ad723be78c31f3e6c47f33258e524bf466a423f0f4bbbbd4e0c15bfff7510bfc8d615bf000080bf6a49d93ea6ad8c3e27731ebe0ad7233e639e83bb58e524bf466a423f0f4bbbbd840c15bf227610bf6ed615bf000080bf81f9d83e6d0c8f3ea7081fbe0ad7233e6c47f33258e524bf466a423f0f4bbbbd5d0c15bf087610bfaed615bf000080bf7617d83e39e18d3e6fe889bbdb6c213edb6c21be7daa91bd180f233f998244bfe9fe03bf32a82ebf01b204bf000080bf80f8d93ecfb2dc3e24678bbbcde5223ef83220be7daa91bd180f233f998244bf17ff03bf20a82ebfedb104bf000080bf03add93ec461dc3e628091b90ad7233e64cb1fbe7daa91bd180f233f998244bf1bff03bf1ea82ebfebb104bf000080bfe48fd83e9c4cdd3e606284bbca881e3e0ad723be7daa91bd180f233f998244bfd4fe03bf3ba82ebf0bb204bf000080bf0c88da3e9357dd3edb078d3b0a7d1f3e0ad723be7daa91bd180f233f998244bf4aff03bf09a82ebfd7b104bf000080bf2468d83e5e7adf3ea9ec933b0ad7233ec73f20be7daa91bd180f233f998244bfcdff03bfd2a72ebf9cb104bf000080bfa174d73e90a3de3e33d2913bcddf213eccdf21be7daa91bd180f233f998244bf0f1404bf4f9f2ebfaba804bf000080bfd0e0d73ece06df3ef558203ef658203e59d46d3b64733d3ff12c2c3fa95260b51fa20ebfb9f11c3f75630fbf000080bf89be873e8acbdc3e0ad7233e2b811c3e13fb633b64733d3ff12c2c3fa95260b522a20ebfbaf11c3f6d630fbf000080bf0fea863ed7b4dd3e0ad7233e2b811c3e1cfb63bb64733d3ff12c2c3fa95260b502a20ebf97f11c3fb3630fbf000080bffcb1883e5e7adf3ef558203ef558203e62d46dbb64733d3ff12c2c3fa95260b50ea20ebfa4f11c3f9e630fbf000080bf299a893ea8a4de3e672c1d3e0ad7233eb01a70bb64733d3ff12c2c3fa95260b52ea20ebfc8f11c3f52630fbf000080bf7c668a3eccdbdd3e672c1d3e0ad7233ea61a703b64733d3ff12c2c3fa95260b535a20ebfcff11c3f45630fbf000080bf5086883e28fedb3e628091b90ad7233e66cb1f3eb9aa91bd160f233f9a82443fe0e77ebf000000009a27bdbd000080bff60ebe3e59237f3e37678bbbcde5223efa32203eb9aa91bd160f233f9a82443fe8e77ebf000000009024bdbd000080bf2577bf3e2f797e3e83e889bbdc6c213edc6c213eb9aa91bd160f233f9a82443fe6e77ebf00000000b125bdbd000080bf3e96bf3e6e6f7d3e716284bbcc881e3e0ad7233eb9aa91bd160f233f9a82443fe2e77ebf000000001e27bdbd000080bf95ccbf3eab657b3ed5078d3b0c7d1f3e0ad7233eb9aa91bd160f233f9a82443fdae77ebf000000004729bdbd000080bf24f1bc3e0e127c3e9fec933b0ad7233eca3f203eb9aa91bd160f233f9a82443fd6e77ebf00000000a42abdbd000080bfec77bc3e75237f3e29d2913bcddf213ecddf213eb9aa91bd160f233f9a82443f51e67ebf00000000e4adbdbd000080bf10acbc3ea9c07d3e29731ebe0ad7233e619e833b69e524bf3d6a423fcf49bb3d98a620bf289fe9be3e8021bf000080bf12ebd63ec4008d3ea7081fbe0ad7233e6c47f33269e524bf3d6a423fcf49bb3d64a620bfbd9ee9be988021bf000080bf7617d83e39e18d3e0ad723be78c31f3e6c47f33269e524bf3d6a423fcf49bb3d64a620bfb89ee9be9c8021bf000080bf6a49d93ea6ad8c3e0ad723bec43d1f3e69ca8a3b69e524bf3d6a423fcf49bb3da0a620bf3b9fe9be318021bf000080bfda33d83e8e998b3e245b21be245b213e32b0883b69e524bf3d6a423fcf49bb3d77c520bfa3e0e9becb4921bf000080bfef99d73eb23c8c3ed38d1dbe530077bb0ad723be6f7634bffa87a0bd4e7634bf10231e3f1f670ebf914d0ebf000080bfa52d273e048e043fc1b120be1b0e7abbc1b120be6f7634bffa87a0bd4e7634bf271a1e3f437c0ebf4f420ebf000080bf51a2253e1228043f0ad723be410077bbd28d1dbe6f7634bffa87a0bd4e7634bf45231e3fa2660ebfd54d0ebf000080bf7b0b243e56c5033fb1fb1dbe151886320ad723be6f7634bffa87a0bd4e7634bf32231e3fca660ebfbd4d0ebf000080bfcf40253e2409053f0ad723befcfb8932b0fb1dbe6f7634bffa87a0bd4e7634bf6b231e3f48660ebf044e0ebf000080bf6a55223e2a4e043f8b751dbe2048753b0ad723beff2d34bf3f16c53dbe2d34bf6056053f77941abf51791abf000080bf6957233e6883053fb1fb1dbe151886320ad723beff2d34bf3f16c53dbe2d34bf3656053fbb941abf30791abf000080bfcf40253e2409053f0ad723befcfb8932b0fb1dbeff2d34bf3f16c53dbe2d34bfa656053f01941abf88791abf000080bf6a55223e2a4e043f0ad723be0f48753b89751dbeff2d34bf3f16c53dbe2d34bfcb56053fc5931abfa5791abf000080bf2529203eb4b7043f73a520be555c783b72a520beff2d34bf3f16c53dbe2d34bfbf55053f7d951abfd4781abf000080bfb7b9213efc1e053f0ad723be9d0077bbd88d1d3e487634bf6f8aa0bd6d76343f122e08bf9b5519bf003b19bf000080bf500cdf3b96f3b83ec3b120be700e7abbc3b1203e487634bf6f8aa0bd6d76343ff52c08bf835719bf173a19bf000080bfc0b7ad3b0a28b83ed88d1dbeaa0077bb0ad7233e487634bf6f8aa0bd6d76343f0e2e08bfa25519bffd3a19bf000080bf208f753b3e62b73eb5fb1dbe40e735b40ad7233e487634bf6f8aa0bd6d76343f122e08bf9c5519bf003b19bf000080bf40b6f43a7b58b83e0ad723be1c326bb4b4fb1d3e487634bf6f8aa0bd6d76343f162e08bf975519bf033b19bf000080bf309a9a3b6cceb93e0ad723be2a48753b8c751d3e012e34bfed15c53dbe2d343f685b20bf35270dbfe50e0dbf000080bfe0904b3b6ee4ba3e0ad723be1c326bb4b4fb1d3e012e34bfed15c53dbe2d343f605b20bf47270dbfdb0e0dbf000080bf309a9a3b6cceb93eb5fb1dbe40e735b40ad7233e012e34bfed15c53dbe2d343f715b20bf1a270dbff40e0dbf000080bf40b6f43a7b58b83e8d751dbe4648753b0ad7233e012e34bfed15c53dbe2d343f795b20bf09270dbffd0e0dbf000080bf00000000074db93e73a520be705c783b74a5203e012e34bfed15c53dbe2d343fce5b20bf36260dbf6f0f0dbf000080bf00b4c83a021cba3e0ad7233efdfb8932aefb1dbe6576343f788aa03d4e7634bfb40963bd55367f3f520a633d000080bf7cf1063e5dcb2f3eaefb1d3e151886320ad723be6576343f788aa03d4e7634bfa60863bd55367f3f5f0b633d000080bf7cf1063eaaa2353ed18d1d3e2600773b0ad723be6576343f788aa03d4e7634bf260a63bd55367f3fdd09633d000080bf32aa093e73d9353e0ad7233e1300773bd08d1dbe6576343f788aa03d4e7634bf2a0b63bd55367f3fdd08633d000080bf32aa093e94942f3ebeb1203ef00d7a3bc0b120be6576343f788aa03d4e7634bf93a363bd55367f3f7370623d000080bfcfb2093e04b7323e0ad7233efc4775bb87751dbee82d343f3017c5bdd12d34bf915d8b3dd1cf7e3fd75c8bbd000080bf943d043e78882f3e72a5203e465c78bb71a520bee82d343f3017c5bdd12d34bf57948b3dd1cf7e3f10268bbd000080bfe434043e03b7323e87751d3e0e4875bb0ad723bee82d343f3017c5bdd12d34bfb05d8b3dd1cf7e3fb85c8bbd000080bf933d043e8fe5353eaefb1d3e151886320ad723bee82d343f3017c5bdd12d34bf3f5d8b3dd1cf7e3f295d8bbd000080bf7cf1063eaaa2353e0ad7233efdfb8932aefb1dbee82d343f3017c5bdd12d34bf1e5d8b3dd1cf7e3f4a5d8bbd000080bf7cf1063e5dcb2f3eb2fb1d3e79d7ab320ad7233e6e76343fdf88a03d4b76343f650435bf000000008005353f000080bf1496893e599c0b3e0ad7233e94f3a732b0fb1d3e6e76343fdf88a03d4b76343f620435bf000000008305353f000080bf0ff9863e259c0b3e0ad7233e2c00773bd28d1d3e6e76343fdf88a03d4b76343f640435bf000000008205353f000080bfc6ec863eda540e3ed48d1d3e5300773b0ad7233e6e76343fdf88a03d4b76343f660435bf000000007f05353f000080bfd1ba893e11550e3ec1b1203e0b0e7a3bc1b1203e6e76343fdf88a03d4b76343f660435bf000000008005353f000080bff253883e935d0e3e8b751d3e474875bb0ad7233ee32d343f4816c5bddb2d343f880535bf000000005d04353f000080bff0c2893e73e8083e72a5203e705c78bb73a5203ee32d343f4816c5bddb2d343f880535bf000000005d04353f000080bfb056883ea8df083e0ad7233e1e4875bb89751d3ee32d343f4816c5bddb2d343f8a0535bf000000005b04353f000080bf0fea863e3ce8083eb2fb1d3e79d7ab320ad7233ee32d343f4816c5bddb2d343f890535bf000000005d04353f000080bf1496893e599c0b3e0ad7233e94f3a732b0fb1d3ee32d343f4816c5bddb2d343f8a0535bf000000005b04353f000080bf0ff9863e259c0b3e16c890390ad723be6ccb1fbe0faa913d2d0f23bf888244bfac5d043f35802e3f338804bf000080bf8dcc153fd94cdd3e93ec93bb0ad723bec73f20be0faa913d2d0f23bf888244bfee5d043f1a802e3f168804bf000080bf9d3e153f22a3de3e1cd291bbcddf21beccdf21be0faa913d2d0f23bf888244bf2e5d043f6a802e3f6c8804bf000080bf9b74153f9806df3ec3078dbb097d1fbe0ad723be0faa913d2d0f23bf888244bf5b5d043f57802e3f568804bf000080bf27b8153f6c7adf3e5062843bc9881ebe0ad723be0faa913d2d0f23bf888244bf9c5d043f3c802e3f3a8804bf000080bfa8c8163fbc58dd3e05678b3bb9e522be073320be0faa913d2d0f23bf888244bf7e5d043f47802e3f478804bf000080bf645b163f8062dc3e65e8893bda6c21bedb6c21be0faa913d2d0f23bf888244bf8f3b043f998e2e3f4c9704bf000080bf0d81163fadb3dc3e1e5b213e205b21befaaf88bb59e5243f4a6a42bfe949bbbd0047153f2d9c103f667715bf000080bf5577163f525d8e3e0ad7233ebd3d1fbe37ca8abb59e5243f4a6a42bfe949bbbd3c47153f549c103f047715bf000080bfa8c8163fddc28d3e0ad7233e71c31fbe6c47f33259e5243f4a6a42bfe949bbbd2647153f459c103f297715bf000080bf273e163f35ae8c3e20731e3e0ad723be1d9e83bb59e5243f4a6a42bfe949bbbd1b47153f3d9c103f3c7715bf000080bf9515163fd40c8f3e9e081f3e0ad723be6c47f33259e5243f4a6a42bfe949bbbd3d47153f549c103f037715bf000080bfdda4153f2ce18d3e20731e3e0ad723be149e833b4be5243f536a42bfa54abb3dd5e2203f751eea3e0f1621bf000080bfe50e153f1c008d3e9e081f3e0ad723be6c47f3324be5243f536a42bfa54abb3dcae2203f5f1eea3e201621bf000080bfdda4153f2ce18d3e0ad7233e71c31fbe6c47f3324be5243f536a42bfa54abb3dc5e2203f541eea3e2a1621bf000080bf273e163f35ae8c3e0ad7233ebd3d1fbe2eca8a3b4be5243f536a42bfa54abb3dd3e2203f721eea3e131621bf000080bfa7b3153f8e998b3e205b213e1e5b21bef2af883b4be5243f536a42bfa54abb3daaea203f172fea3e2f0821bf000080bf8766153f643c8c3ef85820bef75820be9ed46dbb7a733dbfd82c2cbfda5260b5936e0a3f675218bf163818bf000080bf216b253ea32bba3e6c2c1dbe0ad723bede1a70bb7a733dbfd82c2cbfda5260b5806e0a3f525218bf3c3818bf000080bfa52d273e114fb93e6c2c1dbe0ad723bede1a703b7a733dbfd82c2cbfda5260b59f6e0a3f765218bff93718bf000080bf2570233eff6fb73ef85820bef85820be90d46d3b7a733dbfd82c2cbfda5260b5a26e0a3f785218bff83718bf000080bfb4b6213e1a51b83e0ad723be2e811cbe4cfb633b7a733dbfd82c2cbfda5260b5936e0a3f675218bf173818bf000080bf9edf1f3e2050b93e0ad723be2e811cbe52fb63bb7a733dbfd82c2cbfda5260b5956e0a3f695218bf0f3818bf000080bfc56c233e0217bb3efed191bbcadf21becadf213ee7aa913df80e23bfb482443f25e87ebf000000006610bd3d000080bf42b8bf3e8093cb3c77ec93bb0ad723bec43f203ee7aa913df80e23bfb482443f23e87ebf00000000b310bd3d000080bf608fbf3eb87bc03c610491390ad723be66cb1f3ee7aa913df80e23bfb482443f23e87ebf000000001611bd3d000080bf64debd3e307cc03ca2078dbb057d1fbe0ad7233ee7aa913df80e23bfb482443f23e87ebf00000000d410bd3d000080bfb7e3bf3e000ad93c3f62843bc5881ebe0ad7233ee7aa913df80e23bfb482443f23e87ebf00000000b210bd3d000080bf4808bd3e186dde3cfe668b3bc0e522be0033203ee7aa913df80e23bfb482443f25e87ebf000000006810bd3d000080bf4b8dbc3e28cec53c56e8893bd96c21bed96c213ee7aa913df80e23bfb482443fb2e97ebf00000000f689bc3d000080bf62b4bc3ef01cce3c0ad7233e2c00773bd28d1d3e0000803f000000006e15b5b5000000000000803f00000000000080bf7a9c093e909f933c0ad7233e94f3a732b0fb1d3e0000803f000000006e15b5b5000000000000803f00000000000080bfbbe3063e40e9913c0ad7233e60562f3b9999193e0000803f000000006e15b5b5000000000000803f00000000000080bf81d2083e7865a33c0ad7233e60562f3bcecc4cbd0000803f000000006e15b5b5000000000000803f00000000000080bf6cdb083e4018f53d0ad7233e6b562f3bcccc4c3d0000803f000000006e15b5b5000000007165ba3ec06e6ebf000080bff7d6083ecef88e3d0ad7233efd76b43b07d723bd0000803f000000006e15b5b5000000000000803f00000000000080bf7de60a3ee6e1ea3d0ad7233e0677b43b05d7233d0000803f000000006e15b5b5000000000000803f00000000000080bfece20a3e282f993d0ad7233e2de7193c5cb0d0bc0000803f000000006e15b5b5000000000000803f00000000000080bf3db40d3e7e0cdc3d0ad7233e2de7193c54b0d03c0000803f000000006e15b5b5000000000000803f00000000000080bff8b10d3e9004a83d0ad7233e57b0d03c2be7193c0000803f000000006e15b5b5000000000000803f00000000000080bf7e4f193ebe70b83d0ad7233e54b0d03c3ae719bc0000803f000000006e15b5b5000000000000803f00000000000080bf5450193e52a0cb3d0ad7233e05d7233d1877b4bb0000803f000000006e15b5b5000000000000803f00000000000080bf53cd233e58a8c73d0ad7233e0ad7233df576b43b0000803f000000006e15b5b5000000000000803f00000000000080bfd6cc233eb668bc3d0ad7233ecccc4c3d77562fbb0000803f000000006e15b5b5000000000000803f00000000000080bfd2052b3efac3c43d0ad7233ececc4c3d60562f3b0000803f000000006e15b5b5000000000000803f00000000000080bf96052b3e124dbf3d0ad7233e9999193e6d562fbb0000803f000000006e15b5b5000000000000803f00000000000080bf053c733efac3c43d0ad7233e9999193e6b562f3b0000803f000000006e15b5b5000000000000803f00000000000080bfc83b733e124dbf3d0ad7233e2b811c3e13fb633b0000803f000000006e15b5b5000000000000803f00000000000080bf1b48753e127bbe3d0ad7233e2b811c3e1cfb63bb0000803f000000006e15b5b5000000000000803f00000000000080bf6a48753efa95c53d0ad7233e6b562f3b999919be0000803f000000006e15b5b5000000000000803f00000000000080bfe1df083ed89b2d3e0ad7233efdfb8932aefb1dbe0000803f000000006e15b5b5000000000000803f00000000000080bf7cf1063e5dcb2f3e0ad7233e1300773bd08d1dbe0000803f000000006e15b5b5000000000000803f00000000000080bf32aa093e94942f3e0ad7233e6d562fbb989919be0000803f000000006e15b5b5000000000000803f00000000000080bfb402053ed79b2d3e0ad7233efc4775bb87751dbe0000803f000000006e15b5b5000000000000803f00000000000080bf943d043e78882f3e0ad7233e6d562fbbcecc4c3d0000803f000000006e15b5b5000000000000803f00000000000080bfcaf9043ecef88e3d0ad7233e77562fbbcecc4cbd0000803f000000006e15b5b50000000019f9763e547178bf000080bf3ffe043e4018f53d0ad7233e77562fbb9999193e0000803f000000006e15b5b5000000000000803f00000000000080bf55f5043e7865a33c0ad7233e1e4875bb89751d3e0000803f000000006e15b5b5000000000000803f00000000000080bfde2f043e7000943c0ad7233e0e77b4bb09d7233d0000803f000000006e15b5b5000000000000803f00000000000080bfb8ee023e262f993d0ad7233e1877b4bb06d723bd0000803f000000006e15b5b5000000000000803f00000000000080bf4af2023ee6e1ea3d0ad7233e3ae719bc5cb0d0bc0000803f000000006e15b5b5000000000000803f00000000000080bf3d23003e7e0cdc3d0ad7233e3ae719bc57b0d03c0000803f000000006e15b5b5000000000000803f00000000000080bff720003e9004a83d0ad7233e5cb0d0bc3ae719bc0000803f000000006e15b5b5000000000000803f00000000000080bf6e0be93d52a0cb3d0ad7233e5cb0d0bc2de7193c0000803f000000006e15b5b5000000000000803f00000000000080bfc309e93dbe70b83d0ad7233e06d723bd0677b43b0000803f000000006e15b5b5000000000000803f00000000000080bfc30fd43db668bc3d0ad7233e07d723bd0e77b4bb0000803f000000006e15b5b5000000000000803f00000000000080bfbe10d43d58a8c73d0ad7233ececc4cbd6d562fbb0000803f000000006e15b5b5000000000000803f00000000000080bf409fc53dfac3c43d0ad7233ececc4cbd6b562f3b0000803f000000006e15b5b5000000000000803f00000000000080bfc59ec53d124dbf3d0ad7233e989919be60562f3b0000803f000000006e15b5b5000000000000803f00000000000080bf88c9d43c124dbf3d0ad7233e999919be77562fbb0000803f000000006e15b5b5000000000000803f00000000000080bf68cbd43cfac3c43d0ad7233ebd3d1fbe37ca8abb0000803f000000006e15b5b5000000000000803f00000000000080bfc8f8b43cd65bc63d0ad7233ebd3d1fbe2eca8a3b0000803f000000006e15b5b5000000000000803f00000000000080bfc8f5b43c36b5bd3d0ad7233e71c31fbe6c47f3320000803f000000006e15b5b5000000000000803f00000000000080bf0005b23c8408c23d5062843bc9881ebe0ad723be0000000000000000000080bf000000000000803f00000000000080bf90f5b83cd42c813ec3078dbb097d1fbe0ad723be0000000000000000000080bf000000000000803f00000000000080bfa890b33c2d4e833e6b562fbb999919be0ad723be0000000000000000000080bf000000000000803f00000000000080bf80c9d43cbde3823e54562f3b989919be0ad723be0000000000000000000080bf000000000000803f00000000000080bf70cbd43c0486813e60562fbbcecc4cbd0ad723be0000000000000000000080bf000000000000803f00000000000080bfc59ec53dbde3823e60562fbb9999193e0ad723be0000000000000000000080bf000000000000803f00000000000080bfc83b733ebde3823e6b562fbbcccc4c3d0ad723be0000000000000000000080bf000000000000803f00000000000080bf96052b3ebde3823ef576b4bb0ad723bd0ad723be0000000000000000000080bf000000000000803f00000000000080bfc20fd43dd59c833e0677b4bb05d7233d0ad723be0000000000000000000080bf000000000000803f00000000000080bfd6cc233ed59c833e2be719bc5cb0d0bc0ad723be0000000000000000000080bf000000000000803f00000000000080bfc109e93dd29a843e2de719bc54b0d03c0ad723be0000000000000000000080bf000000000000803f00000000000080bf7d4f193ed29a843e54b0d0bc3ae719bc0ad723be0000000000000000000080bf000000000000803f00000000000080bff720003edeb5883e57b0d0bc2de7193c0ad723be0000000000000000000080bf000000000000803f00000000000080bff8b10d3edeb5883e05d723bd1877b4bb0ad723be0000000000000000000080bf000000000000803f00000000000080bfb8ee023e386b8c3e09d723bdfd76b43b0ad723be0000000000000000000080bf000000000000803f00000000000080bfebe20a3e396b8c3ecccc4cbd77562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bfc9f9043ecff88e3ececc4cbd60562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bff6d6083ecff88e3e999919be6b562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bf80d2083ea980a83e999919be6d562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bf54f5043ea980a83e8b751dbe2048753b0ad723be0000000000000000000080bf000000000000803f00000000000080bfa197093efb76a93ed38d1dbe530077bb0ad723be0000000000000000000080bf000000000000803f00000000000080bf022b043e097da93eb1fb1dbe151886320ad723be0000000000000000000080bf000000000000803f00000000000080bfbae3063e6d98a93ed18d1d3e2600773b0ad723be0000000000000000000080bf000000000000803f00000000000080bf32aa093e73d9353eaefb1d3e151886320ad723be0000000000000000000080bf000000000000803f00000000000080bf7cf1063eaaa2353e87751d3e0e4875bb0ad723be0000000000000000000080bf000000000000803f00000000000080bf933d043e8fe5353e9999193e77562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bfb402053e31d2373e9899193e60562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bfe1df083e31d2373ececc4c3d6d562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bf3ffe043ee6e16a3ecbcc4c3d6b562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bf6bdb083ee7e16a3e07d7233d0e77b4bb0ad723be0000000000000000000080bf000000000000803f00000000000080bf49f2023e12fd6f3e04d7233d0677b43b0ad723be0000000000000000000080bf000000000000803f00000000000080bf7de60a3e14fd6f3e5cb0d03c3ae719bc0ad723be0000000000000000000080bf000000000000803f00000000000080bf3c23003ec667773e54b0d03c2de7193c0ad723be0000000000000000000080bf000000000000803f00000000000080bf3db40d3ec667773e3ae7193c5cb0d0bc0ad723be0000000000000000000080bf000000000000803f00000000000080bf6e0be93ddd9d7f3e21e7193c57b0d03c0ad723be0000000000000000000080bf000000000000803f00000000000080bf5450193edd9d7f3e1877b43b06d723bd0ad723be0000000000000000000080bf000000000000803f00000000000080bfbe10d43deccc803eeb76b43b0ad7233d0ad723be0000000000000000000080bf000000000000803f00000000000080bf54cd233eedcc803e77562f3bcecc4cbd0ad723be0000000000000000000080bf000000000000803f00000000000080bf3e9fc53d0486813e54562f3bcecc4c3d0ad723be0000000000000000000080bf000000000000803f00000000000080bfd2052b3e0486813e77562f3b9999193e0ad723be0000000000000000000080bf000000000000803f00000000000080bf053c733e0486813edb078d3b0a7d1f3e0ad723be0000000000000000000080bf000000000000803f00000000000080bf2063773e941b813e606284bbca881e3e0ad723be0000000000000000000080bf000000000000803f00000000000080bf83b6763eee3c833e0ad723be0f48753b89751dbe000080bf0000000000000000000000006b1435bf7af534bf000080bf2529203eb4b7043f0ad723befcfb8932b0fb1dbe000080bf000000000000000000000000441435bfa3f534bf000080bf6a55223e2a4e043f0ad723be60562f3b989919be000080bf000000000000000000000000541435bf91f534bf000080bf3cc81e3ea319043f0ad723be60562f3bcecc4c3d000080bf000000000000000000000000371535bfaff434bf000080bf6cc6623d281fd53e0ad723be66562f3bcbcc4cbd000080bf000000000000000000000000fec9afbd230e7fbf000080bfd879d73d38a9ee3e0ad723bef576b43b0ad7233d000080bf000000000000000000000000531435bf92f534bf000080bf2468713dfe65d83e0ad723befd76b43b06d723bd000080bf000000000000000000000000bb1435bf2af534bf000080bfc45fca3d70d4ec3e0ad723be29e7193c57b0d03c000080bf000000000000000000000000a21435bf43f534bf000080bfe28f833d9219dd3e0ad723be2de7193c54b0d0bc000080bf000000000000000000000000b11435bf34f534bf000080bf5393b73dac1cea3e0ad723be54b0d03c29e7193c000080bf000000000000000000000000901435bf56f534bf000080bf0e8d833da94fe53e0ad723be57b0d03c23e719bc000080bf000000000000000000000000811435bf65f534bf000080bff6ba963df81bea3e0ad723be09d7233df576b43b000080bf000000000000000000000000951435bf50f534bf000080bfff5b713dc602ea3e0ad723be09d7233df376b4bb000080bf000000000000000000000000a71435bf3ef534bf000080bfa6ec833decd2ec3e0ad723bececc4c3d59562fbb000080bf000000000000000000000000631435bf83f534bf000080bf9fa26d3d22a7ee3e0ad723becccc4c3d60562f3b000080bf0000000000000000000000003f1435bfa7f534bf000080bfc3b5623d4b49ed3e0ad723be9999193e66562f3b000080bf000000000000000000000000421435bfa4f534bf000080bf702ab33b7a67033f0ad723be9999193e6d562fbb000080bf000000000000000000000000ef1335bff8f534bf000080bfb048053c6516043f0ad723bec33d1f3e6eca8abb000080bf0000000000000000000000007c1435bf69f534bf000080bf4001ca3b5efd043f0ad723bec43d1f3e69ca8a3b000080bf000000000000000000000000e71435bffef434bf000080bf808bfe3a72e8033f0ad723be78c31f3e6c47f332000080bf0000000000000000000000004b1635bf9af334bf000080bf80f7783b9183043f0ad723be410077bbd28d1dbe000080bf0000000000000000000000000b1435bfdbf534bf000080bf7b0b243e56c5033f0ad723be74562fbb999919be000080bf000000000000000000000000411435bfa6f534bf000080bfec83213ed56a033f0ad723be6d562fbbcecc4cbd000080bf000000000000000000000000ab1435bf3af534bf000080bf37f1dc3d9c4bed3e0ad723be6d562fbb9999193e000080bf000000000000000000000000741435bf71f534bf000080bfa81f063c7e37ba3e0ad723be74562fbbcccc4c3d000080bf0000000000000000000000002cc7b9be9f8d6e3f000080bf2db56d3d8dc1d33e0ad723be0677b4bb0ad723bd000080bf000000000000000000000000441435bfa1f534bf000080bf5da0d53dc604ea3e0ad723be0e77b4bb07d7233d000080bf000000000000000000000000681435bf7ef534bf000080bfa9f4833d5496d53e0ad723be36e719bc5cb0d0bc000080bf0000000000000000000000009e1435bf47f534bf000080bf8cc4ca3d3251e53e0ad723be3ae719bc54b0d03c000080bf000000000000000000000000b51435bf31f534bf000080bf1bc1963d184ed83e0ad723be5cb0d0bc2de7193c000080bf0000000000000000000000008b1435bf5bf534bf000080bf7799b73dcd4ed83e0ad723be5cb0d0bc36e719bc000080bf000000000000000000000000921435bf54f534bf000080bf61c7ca3d1b1bdd3e0ad723be07d723bdfd76b43b000080bf000000000000000000000000951435bf51f534bf000080bfc867ca3dd997d53e0ad723be0ad723bd0677b4bb000080bf0000000000000000000000009c1435bf4af534bf000080bf6fa6d53dff67d83e0ad723bececc4cbd66562f3b000080bf000000000000000000000000901435bf56f534bf000080bf1e83d73da2c3d33e0ad723bececc4cbd6d562fbb000080bf0000000000000000000000008c1435bf5af534bf000080bf8cf9dc3d7a21d53e0ad723be989919be59562fbb000080bf0000000000000000000000007e1435bf68f534bf000080bfe390213ed29bbb3e0ad723be999919be60562f3b000080bf000000000000000000000000721435bf74f534bf000080bfabd51e3efa3dba3e0ad723be2e811cbe4cfb633b000080bf000000000000000000000000631435bf82f534bf000080bf9edf1f3e2050b93e0ad723be2e811cbe52fb63bb000080bf000000000000000000000000781435bf6df534bf000080bfc56c233e0217bb3e0ad723be1c326bb4b4fb1d3e000080bf000000000000000000000000951435bf51f534bf000080bf309a9a3b6cceb93e0ad723be2a48753b8c751d3e000080bf000000000000000000000000cc1435bf19f534bf000080bfe0904b3b6ee4ba3e0ad723be66562f3b9999193e000080bf000000000000000000000000901435bf56f534bf000080bf50c9b43b1a95bb3e0ad723be9d0077bbd88d1d3e000080bf000000000000000000000000871435bf5ef534bf000080bf500cdf3b96f3b83ed5078d3b0c7d1f3e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf24f1bc3e0e127c3e716284bbcc881e3e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf95ccbf3eab657b3e66562fbb9999193e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff554bf3ee5ea773e59562f3b9999193e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe57fbd3efcea773e66562fbbcecc4c3d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff654bf3eb3b42f3e66562fbbcecc4cbd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff654bf3efefcce3dfd76b4bb07d723bd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf354dc03e246edd3dfd76b4bb09d7233d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf354dc03e067c283e66562fbb989919be0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff654bf3e7042fa3c2de719bc5cb0d0bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdfa1c13e5868f23d2de719bc57b0d03c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdfa1c13ec9fe1d3e54b0d0bc2de7193c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf9023c73eb361123e57b0d0bc3ae719bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf9023c73eb2d0043e07d723bdfd76b43b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdc1ccc3e0b930f3e09d723bd0e77b4bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdc1ccc3ed89e073ecccc4cbd66562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf7889cf3e5b870d3ececc4cbd74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf7889cf3e2faa093e999919be74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf8dc7f13e6fa8093e999919be60562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf8dc7f13e9b850d3e8d751dbe4648753b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfec11f33ed74a0e3ed88d1dbeaa0077bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf0c1af33e38de083eb5fb1dbe40e735b40ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfc83ef33eea960b3e59562f3bcecc4cbd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe67fbd3e2efdce3d6d562f3b999919be0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe67fbd3e2843fa3c3f62843bc5881ebe0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4808bd3e186dde3ca2078dbb057d1fbe0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfb7e3bf3e000ad93cf376b43b07d723bd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfa787bc3e866edd3d6d562f3bcccc4c3d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe67fbd3ecab42f3e0677b43b09d7233d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfa687bc3e387c283e23e7193c5cb0d0bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bffd32bb3e0069f23d36e7193c54b0d03c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bffc32bb3e1dff1d3e54b0d03c3ae719bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4cb1b53e96d1043e5cb0d03c29e7193c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4bb1b53e9762123e06d7233d0e77b4bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfffb7b03e3ea0073e0ad7233df576b43b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfffb7b03e71940f3ecbcc4c3d74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf634bad3eefab093ececc4c3d60562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf634bad3e1b890d3e9899193e74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4f0d8b3eaead093e9999193e66562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4f0d8b3edb8a0d3e8b751d3e474875bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff0c2893e73e8083ed48d1d3e5300773b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfd1ba893e11550e3eb2fb1d3e79d7ab320ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf1496893e599c0b3e9899193e0ad723be6d562fbb3d1634b5000080bf000000001ee8343f00000000c32135bf000080bf0d4f153ff6ea8f3e20731e3e0ad723be1d9e83bb3d1634b5000080bf00000000d9e7343f00000000092235bf000080bf9515163fd40c8f3e9e081f3e0ad723be6c47f3323d1634b5000080bf00000000e3e7343f00000000fe2135bf000080bfdda4153f2ce18d3ececc4c3d0ad723be5d562fbb3d1634b5000080bf0000000013e8343f00000000cf2135bf000080bf2c8d083fea76a93e999919be0ad723be60562f3b3d1634b5000080bf00000000e8e7343f00000000f92135bf000080bfe4b4dc3e5131db3e999919be0ad723be5d562fbb3d1634b5000080bf00000000f2e7343f00000000ef2135bf000080bfd512de3ed38edc3ececc4cbd0ad723be6d562fbb3d1634b5000080bf0000000039e8343f00000000a82135bf000080bf9796f73ede02c33e06d7233d0ad723befd76b4bb3d1634b5000080bf00000000bbe7343f00000000272235bf000080bf30a3073fe2bdac3e0ad723bd0ad723be0677b4bb3d1634b5000080bf0000000043e8343f000000009f2135bf000080bff9dcfa3ed92dc13e5cb0d03c0ad723be23e719bc3d1634b5000080bf0000000006e8343f00000000db2135bf000080bfe347063faa71b13e57b0d0bc0ad723be38e719bc3d1634b5000080bf00000000dee7343f00000000042235bf000080bfe28fff3ebc75be3e38e7193c0ad723be54b0d0bc3d1634b5000080bf00000000e7e7343f00000000fa2135bf000080bf8c48063fc1a7b93e2de719bc0ad723be5cb0d0bc3d1634b5000080bf00000000dae7343f00000000092235bf000080bffce2033f6a74be3e0677b4bb0ad723be06d723bd3d1634b5000080bf00000000f7e7343f00000000ea2135bf000080bfe03c063f042bc13e0677b43b0ad723be07d723bd3d1634b5000080bf000000000de8343f00000000d52135bf000080bf9aa4073faa5abe3e6d562f3b0ad723becbcc4cbd3d1634b5000080bf00000000f0e7343f00000000f22135bf000080bf1d8f083f0ba1c13e6b562fbb0ad723bececc4cbd3d1634b5000080bf00000000eee7343f00000000f42135bf000080bf5ce0073ffdfec23e60562fbb0ad723be989919be3d1634b5000080bf00000000d0e7343f00000000122235bf000080bf56a6143fbf82dc3e5d562f3b0ad723be999919be3d1634b5000080bf00000000d6e7343f000000000b2235bf000080bf1755153fcd24db3e5572893b0ad723becd171fbe3d1634b5000080bf00000000d9e7343f00000000092235bf000080bf1d36163fd51fdc3e16c890390ad723be6ccb1fbe3d1634b5000080bf00000000cfe7343f00000000142235bf000080bf8dcc153fd94cdd3e93ec93bb0ad723bec73f20be3d1634b5000080bf00000000c3e7343f000000001e2235bf000080bf9d3e153f22a3de3e6c2c1dbe0ad723bede1a703b3d1634b5000080bf00000000dfe7343f00000000022235bf000080bf5090db3effd4db3e6c2c1dbe0ad723bede1a70bb3d1634b5000080bf00000000eee7343f00000000f32135bf000080bf866fdd3e9bb3dd3ecccc4cbd0ad723be6b562f3b3d1634b5000080bf00000000a9a97bbf0000000046b23bbe000080bfa538f63e5da5c13ecbcc4c3d0ad723be60562f3b3d1634b5000080bf0000000002e8343f00000000df2135bf000080bf34de073f6819a83e9999193e0ad723be6b562f3b3d1634b5000080bf00000000b4e7343f000000002d2235bf000080bf14a0143f748d8e3e20731e3e0ad723be149e833b3d1634b5000080bf00000000e0e7343f00000000022235bf000080bfe50e153f1c008d3e07d7233d0ad723bef576b43b3d1634b5000080bf00000000c8e7343f00000000192235bf000080bf033b063f6eeea93e05d723bd0ad723be0677b43b3d1634b5000080bf0000000023e8343f00000000bf2135bf000080bf9e0cf83e645ebe3e54b0d03c0ad723be2be7193c3d1634b5000080bf00000000e1e7343f00000000012235bf000080bf8ee1033f8ba6ac3e54b0d0bc0ad723be2de7193c3d1634b5000080bf00000000a7e7343f000000003a2235bf000080bf38c3fa3e9daab93e23e7193c0ad723be54b0d03c3d1634b5000080bf00000000d9e7343f000000000a2235bf000080bf068dff3edca7ac3e2be719bc0ad723be57b0d03c3d1634b5000080bf00000000bee7343f00000000222235bf000080bfe7c1fa3e8674b13efd76b43b0ad723be05d7233d3d1634b5000080bf00000000dae7343f00000000072235bf000080bf3ed9fa3e42f1a93ef576b4bb0ad723be0ad7233d3d1634b5000080bf00000000e3e7343f00000000ff2135bf000080bfca09f83e9dc1ac3e5d562f3b0ad723becccc4c3d3d1634b5000080bf00000000d8e7343f00000000092235bf000080bf4692f73e491da83e60562fbb0ad723bececc4c3d3d1634b5000080bf00000000d2e7343f00000000102235bf000080bfc434f63e3b7ba93e6d562f3b0ad723be9999193e3d1634b5000080bf00000000efe7343f00000000f32135bf000080bf5106de3e88998e3e6b562fbb0ad723be9999193e3d1634b5000080bf00000000f0e7343f00000000f22135bf000080bfcfa8dc3e7af78f3e77ec93bb0ad723bec43f203e3d1634b5000080bf00000000fde7343f00000000e62135bf000080bf0c88da3e9cc78e3e5d72893b0ad723becc171f3e3d1634b5000080bf00000000fbe7343f00000000e72135bf000080bfb90add3eced78c3e610491390ad723be66cb1f3e3d1634b5000080bf000000008de7343f00000000552235bf000080bf01dedb3e49ab8d3ea7081fbe0ad7233e6c47f332cfd4a8340000803f000000004a8a34bf000000004a7f35bf000080bf7617d83e39e18d3e999919be0ad7233e74562fbbcfd4a8340000803f00000000098a34bf000000008a7f35bf000080bfe26cd73e5ceb8f3e27731ebe0ad7233e639e83bbcfd4a8340000803f00000000868a34bf000000000f7f35bf000080bf81f9d83e6d0c8f3e9899193e0ad7233e66562f3bcfd4a8340000803f000000007b8a34bf000000001a7f35bf000080bf8eaa893ee459db3ecccc4cbd0ad7233e74562fbbcfd4a8340000803f000000001f8a34bf00000000747f35bf000080bf53f6bd3e7884a93e999919be0ad7233e66562f3bcfd4a8340000803f00000000438a34bf00000000507f35bf000080bf3c0ed63e908e8e3e29731ebe0ad7233e619e833bcfd4a8340000803f00000000418a34bf00000000547f35bf000080bf12ebd63ec4008d3ececc4c3d0ad7233e66562f3bcfd4a8340000803f000000000000803f0000000000000000000080bf1d21a33ec8c0c13ecbcc4c3d0ad7233e74562fbbcfd4a8340000803f00000000808a34bf00000000157f35bf000080bfc37fa43e951dc33e07d723bd0ad7233e0e77b4bbcfd4a8340000803f00000000868a34bf00000000107f35bf000080bf0c24bc3e62ccac3e9999193e0ad7233e74562fbbcfd4a8340000803f00000000908a34bf00000000027f35bf000080bf34098b3eb2b6dc3e672c1d3e0ad7233ea61a703bcfd4a8340000803f00000000848a34bf00000000107f35bf000080bf5086883e28fedb3e672c1d3e0ad7233eb01a70bbcfd4a8340000803f00000000a58a34bf00000000ef7e35bf000080bf7c668a3eccdbdd3e06d7233d0ad7233e0e77b4bbcfd4a8340000803f00000000588a34bf000000003c7f35bf000080bf33c5a73edf46c13e54b0d0bc0ad7233e3ae719bccfd4a8340000803f00000000578a34bf000000003d7f35bf000080bfde6fb93e9081b13e54b0d03c0ad7233e3ae719bccfd4a8340000803f000000001c8a34bf00000000787f35bf000080bfb376ac3e558cbe3e2de719bc0ad7233e5cb0d0bccfd4a8340000803f000000005d8a34bf00000000377f35bf000080bf6d75b93ea6b7b93e23e7193c0ad7233e5cb0d0bccfd4a8340000803f00000000578a34bf000000003e7f35bf000080bfc9acb43ec786be3efd76b4bb0ad7233e07d723bdcfd4a8340000803f000000004c8a34bf00000000497f35bf000080bff62fbc3e2669be3ef376b43b0ad7233e07d723bdcfd4a8340000803f000000004a8a34bf00000000497f35bf000080bff661b93ef43ac13e66562fbb0ad7233ececc4cbdcfd4a8340000803f00000000278a34bf000000006d7f35bf000080bfac06be3e95aec13e59562f3b0ad7233ececc4cbdcfd4a8340000803f00000000218a34bf00000000727f35bf000080bfe0a9bc3e3c0dc33e74562f3b0ad7233e989919becfd4a8340000803f00000000608a34bf00000000337f35bf000080bffb42d63eca83dc3e66562fbb0ad7233e999919becfd4a8340000803f000000005d8a34bf00000000387f35bf000080bfc99fd73e2425db3e9e7289bb0ad7233ed4171fbecfd4a8340000803f00000000698a34bf000000002a7f35bf000080bf5762d93e451fdc3e628091b90ad7233e64cb1fbecfd4a8340000803f00000000748a34bf00000000217f35bf000080bfe48fd83e9c4cdd3ea9ec933b0ad7233ec73f20becfd4a8340000803f00000000828a34bf00000000127f35bf000080bfa174d73e90a3de3e07d7233d0ad7233efd76b43bcfd4a8340000803f00000000298a34bf000000006b7f35bf000080bf64f3a43edf78be3ececc4c3d0ad7233e66562f3bcfd4a8340000803f00000000208a34bf00000000737f35bf000080bf1d21a33ec8c0c13ececc4cbd0ad7233e66562f3bcfd4a8340000803f00000000648a34bf00000000307f35bf000080bfad97bc3eac27a83e09d723bd0ad7233efd76b43bcfd4a8340000803f00000000668a34bf000000002e7f35bf000080bf3d52b93e62fea93e5cb0d03c0ad7233e2de7193ccfd4a8340000803f000000006d8a34bf00000000287f35bf000080bf91a7a73eb1c3b93e57b0d0bc0ad7233e2de7193ccfd4a8340000803f00000000208a34bf00000000737f35bf000080bfbda0b43eecb8ac3e3ae7193c0ad7233e57b0d03ccfd4a8340000803f00000000528a34bf00000000427f35bf000080bf03a2a73e9c8db13e2de719bc0ad7233e54b0d03ccfd4a8340000803f00000000538a34bf00000000407f35bf000080bfa76aac3e7abeac3efd76b4bb0ad7233e07d7233dcfd4a8340000803f000000004e8a34bf00000000467f35bf000080bf7ab5a73e4d0aaa3e0e77b43b0ad7233e09d7233dcfd4a8340000803f00000000528a34bf00000000427f35bf000080bf79e7a43e1bdcac3e66562fbb0ad7233ecccc4c3dcfd4a8340000803f000000004e8a34bf00000000467f35bf000080bf906da43e0638a83e74562f3b0ad7233ececc4c3dcfd4a8340000803f000000004d8a34bf00000000477f35bf000080bfc310a33eac96a93e66562fbb0ad7233e9999193ecfd4a8340000803f000000004b8a34bf000000004a7f35bf000080bf74d48a3e76c18e3e59562f3b0ad7233e9999193ecfd4a8340000803f00000000498a34bf000000004a7f35bf000080bfa777893e1c20903e9fec933b0ad7233eca3f203ecfd4a8340000803f000000003c8a34bf00000000567f35bf000080bf4556873e57f18e3eb27289bb0ad7233ed6171f3ecfd4a8340000803f000000003e8a34bf00000000557f35bf000080bff2d7893e3b008d3e628091b90ad7233e66cb1f3ecfd4a8340000803f00000000d48934bf00000000bf7f35bf000080bfb9ab883e45d48d3e7cb9d5bc2bc0573c9c15323e3ccd133f2ecd13bf45cd133f570935bf000000009000353f000080bf2af1c83e401c153e2bc057bc7db9d53c9c15323e3ccd133f2ecd13bf45cd133f570935bf000000008f00353f000080bf7f84c43e16711e3e7db9d5bc7bb9d53cc7503f3e3ccd133f2ecd13bf45cd133f570935bf000000008f00353f000080bfe16bca3e89711e3e7cb9d5bc9c15323ec7503f3e37cd133f37cd133f41cd133f950035bf000000005209353f000080bfe16bca3e0698843e2bc057bc9c15323e9c15323e37cd133f37cd133f41cd133f960035bf000000005209353f000080bf7e84c43ecc97843e7db9d5bcc7503f3e9c15323e37cd133f37cd133f41cd133f950035bf000000005209353f000080bf2af1c83efd41893e7cb9d5bcc7503f3e7db9d53c42cd133f3bcd133f31cd13bfb759303f335a39bf4c0710bd000080bf34c73e3f11a9033e2bc057bc9c15323e7bb9d53c42cd133f3bcd133f31cd13bfb759303f335a39bf4c0710bd000080bfa0a1413f5633043e7db9d5bc9c15323e2bc0573c42cd133f3bcd133f31cd13bfb759303f335a39bf4c0710bd000080bf1cdb3f3f9c28f23d9c1532be2bc0573c9d15323e37cd13bf3ecd13bf3bcd133ff30435bff204353f00000000000080bf00000000bc65453f9c1532be7db9d53cca503f3e37cd13bf3ecd13bf3bcd133ff30435bff204353f00000000000080bfc549153ce3ba473fc7503fbe7bb9d53c9d15323e37cd13bf3ecd13bf3bcd133ff30435bff204353f00000000000080bfc349153cbc65453f9d1532bec7503f3e9c15323e28cd13bf44cd133f44cd133f00000000f30435bff304353f000080bf4ef9343f8b9f2f3fca503fbe9c15323e9c15323e28cd13bf44cd133f44cd133f00000000f30435bff304353f000080bf4ef9343fb2f4313f9d1532be9c15323ec7503f3e28cd13bf44cd133f44cd133f00000000f30435bff304353f000080bf754e373f8b9f2f3f9d1532be2bc0573c7db9d53c36cd13bf3bcd13bf3dcd13bff704353f00000000ef0435bf000080bf6081613f858e1d3eca503fbe7db9d53c7bb9d53c36cd13bf3bcd13bf3dcd13bff704353f00000000ef0435bf000080bf20db5f3f8727243e9d1532be7bb9d53c2bc0573c36cd13bf3bcd13bf3dcd13bff704353f00000000ef0435bf000080bfa027633f8727243e9c1532bec7503f3e7cb9d53c37cd13bf41cd133f37cd13bff704353fee04353f00000000000080bf75cffa3d1bb62a3f9c1532be9c15323e2bc0573c37cd13bf41cd133f37cd13bff704353fee04353f00000000000080bf3d26e83df460283fc7503fbe9c15323e7db9d53c37cd13bf41cd133f37cd13bff704353fee04353f00000000000080bf3d26e83d1bb62a3f9c15323e2bc0573c9c15323e39cd133f47cd13bf2fcd133f5909353f000000008f0035bf000080bfccb00f3f48a6533fc9503f3e7db9d53c9c15323e39cd133f47cd13bf2fcd133f5909353f000000008f0035bf000080bf22e7113f1351513f9c15323e7bb9d53cc7503f3e39cd133f47cd13bf2fcd133f5909353f000000008f0035bf000080bf71f30e3ff650513f9c15323e9c15323ec7503f3e31cd133f4ccd133f31cd133f9100353f00000000550935bf000080bf71f30e3f55a1363fc9503f3e9c15323e9c15323e31cd133f4ccd133f31cd133f9100353f00000000560935bf000080bf22e7113f72a1363f9c15323ec7503f3e9c15323e31cd133f4ccd133f31cd133f9200353f00000000550935bf000080bfccb00f3f5a4c343f9c15323e2bc0573c7cb9d53c39cd133f3bcd13bf3bcd13bffa05d13eeb05513fe205d1be000080bf656c103e282f993d9d15323e7db9d53c2bc0573c39cd133f3bcd13bf3bcd13bff805d13eeb05513fe005d1be000080bf95c1193e2a61a63dc9503f3e7bb9d53c7db9d53c39cd133f3bcd13bf3bcd13bffa05d13eeb05513fe205d1be000080bf95c1193e26fd8b3d9c15323ec7503f3e7db9d53c44cd133f44cd133f28cd13bff405d1bee405513ff905d13e000080bf0fea863e2a2f993dc9503f3e9c15323e7bb9d53c44cd133f44cd133f28cd13bff605d1bee405513ffb05d13e000080bf0b40823e28fd8b3d9c15323e9c15323e2bc0573c44cd133f44cd133f28cd13bff405d1bee405513ffb05d13e000080bf0b40823e2c61a63d80b9d53c2bc0573c9d15323e3acd13bf41cd13bf33cd133f00000000ed0435bff80435bf000080bf02076d3f8e998b3e80b9d53c7db9d53cca503f3e3acd13bf41cd13bf33cd133f00000000ed0435bff80435bf000080bf82ba693f8e998b3e40c0573c7bb9d53c9d15323e3acd13bf41cd13bf33cd133f00000000ee0435bff80435bf000080bfc2606b3f0ee68e3e78b9d53cc7503f3e9c15323e2dcd13bf48cd133f3bcd133f00000000ec0435bff904353f000080bf5d4bc33e3d8f363f20c0573c9c15323e9c15323e2dcd13bf48cd133f3bcd133f00000000ed0435bff904353f000080bf5d4bc33e64e4383f78b9d53c9c15323ec7503f3e2dcd13bf48cd133f3bcd133f00000000ec0435bff904353f000080bfabf5c73e3d8f363f80b9d53cc7503f3e7cb9d53c35cd13bf3fcd133f3bcd13bf000000000a0535bfdc0435bf000080bf82ba693f50addd3e80b9d53c9c15323e2bc0573c35cd13bf3fcd133f3bcd13bf000000000a0535bfdc0435bf000080bf03076d3f51addd3e40c0573c9c15323e7db9d53c35cd13bf3fcd133f3bcd13bf000000000a0535bfdc0435bf000080bfc2606b3fd060da3e9c15323e2bc0573c80b9d5bc3dcd133f40cd13bf33cd133fce1940bfc16627bf6098c53d000080bf9e4e4f3ffc77e23ec9503f3e7db9d53c80b9d5bc3dcd133f40cd13bf33cd133fce1940bfc06627bf6098c53d000080bfe31a4c3f6d0be33e9c15323e7bb9d53c40c057bc3dcd133f40cd13bf33cd133fce1940bfc16627bf6298c53d000080bfd4514e3fb7f2e63e9c15323e9c15323e40c057bc34cd133f45cd133f34cd133f93d0a2be740bfcbe146e4f3f000080bfaead3c3f537f073fc9503f3e9c15323e80b9d5bc34cd133f45cd133f34cd133f96d0a2be770bfcbe146e4f3f000080bfbd763a3fae8b053f9c15323ec7503f3e80b9d5bc34cd133f45cd133f34cd133f96d0a2be770bfcbe146e4f3f000080bff5943a3f15c2083f9c15323e2bc0573c9c1532be37cd133f3ecd13bf3bcd13bffc05d13eea05513fe705d1be000080bfcf24fe3e272f993d9d15323e7db9d53cc9503fbe37cd133f3ecd13bf3bcd13bffa05d13ee805513fe605d1be000080bfb467013f2861a63dc9503f3e7bb9d53c9c1532be37cd133f3ecd13bf3bcd13bffa05d13eea05513fe705d1be000080bfb467013f26fd8b3d9c15323ec7503f3e9c1532be28cd133f5ecd133f28cd13bf1b06d1bed305513f2006d13e000080bf566c1e3f2a2f993dc9503f3e9c15323e9d1532be28cd133f5ecd133f28cd13bf1b06d1bed305513f2006d13e000080bf54171c3f29fd8b3d9c15323e9c15323ec9503fbe28cd133f5ecd133f28cd13bf1b06d1bed305513f2006d13e000080bf54171c3f2c61a63d78b9d53cc7503f3e80b9d5bc30cd13bf41cd133f3ecd133f00000000f10435bff504353f000080bfa247133f8b9f2f3f20c0573c9c15323e80b9d5bc30cd13bf41cd133f3ecd133f00000000f00435bff604353f000080bfa247133fb2f4313f78b9d53c9c15323e40c057bc30cd13bf41cd133f3ecd133f00000000f00435bff504353f000080bfc89c153f8b9f2f3f78b9d53c2bc0573c9c1532be28cd13bf52cd13bf35cd13bf2e002abf0194a2bda3523e3f000080bfb128503e1ea44a3f20c0573c7db9d53c9d1532be28cd13bf52cd13bf35cd13bf2e002abf0294a2bda3523e3f000080bfe75f563ec2e6483f78b9d53c7bb9d53cc9503fbe28cd13bf52cd13bf35cd13bf2e002abf0194a2bda4523e3f000080bf4233493e5016493f80b9d53cc7503f3e9c1532be4acd13bf2ecd133f36cd13bf8ae950bfc4b1dcbe9121c53e000080bff42dea3ed6e8683f80b9d53c9c15323ec9503fbe4acd13bf2ecd133f36cd13bf88e950bfc4b1dcbe9121c53e000080bf0f8dea3eff336c3f40c0573c9c15323e9c1532be4acd13bf2ecd133f36cd13bf8ae950bfc4b1dcbe9021c53e000080bfaca8ed3ea4766a3f7cb9d5bc9c15323e40c057bc33cd133f40cd133f3dcd133f9f822b3fcc393dbfe6b98d3d000080bfdb287a3f3414e83e2bc057bc9c15323e80b9d5bc33cd133f40cd133f3dcd133f9e822b3fcd393dbfe5b98d3d000080bf960b7c3f5f89e33e7db9d5bcc7503f3e80b9d5bc33cd133f40cd133f3dcd133f9e822b3fcd393dbfe6b98d3d000080bf6ed6783f3df6e33e7db9d5bc2bc0573c9c1532be38cd133f3fcd13bf37cd13bfd505d13ee805513f0f06d1be000080bf646c103e396b8c3e7bb9d5bc7db9d53cc9503fbe38cd133f3fcd13bf37cd13bfd505d13ee805513f0f06d1be000080bf94c1193eb9b78f3e2bc057bc7bb9d53c9c1532be38cd133f3fcd13bf37cd13bfd505d13ee805513f0f06d1be000080bf94c1193eb81e893e7cb9d5bcc7503f3e9c1532be2ecd133f49cd133f38cd13bfd705d1bee205513f2b06d13e000080bf0fea863e396b8c3e2bc057bc9c15323e9d1532be2ecd133f49cd133f38cd13bfd605d1bee205513f2a06d13e000080bf0b40823eb81e893e7db9d5bc9c15323ec9503fbe2ecd133f49cd133f38cd13bfd605d1bee205513f2a06d13e000080bf0b40823eb9b78f3e9c1532be2bc0573c78b9d5bc3ccd13bf34cd13bf3ecd133f150535bfd104353f00000000000080bf3817023ebc65453f9c1532be7db9d53c20c057bc3ccd13bf34cd13bf3ecd133f140535bfd204353f00000000000080bfd46b0b3ee4ba473fc7503fbe7bb9d53c78b9d5bc3ccd13bf34cd13bf3ecd133f140535bfd204353f00000000000080bfd46b0b3ebd65453f9d1532bec7503f3e80b9d5bc2bcd13bf3ccd133f46cd133f00000000f60435bff004353f000080bf4ef9343fdcfac73eca503fbe9c15323e80b9d5bc2bcd13bf3ccd133f46cd133f00000000f50435bff004353f000080bf4ef9343f2aa5cc3e9d1532be9c15323e40c057bc2bcd13bf3ccd133f46cd133f00000000f50435bff004353f000080bf764e373fdcfac73e9d1532be2bc0573c9c1532be28cd13bf50cd13bf38cd13bf0006d13edc0551bf1206d13e000080bf8f368a3e34954e3fca503fbe7db9d53c9d1532be28cd13bf50cd13bf38cd13bffe05d13edc0551bf1206d13e000080bf0eea863ef4ee4c3f9d1532be7bb9d53cc9503fbe28cd13bf50cd13bf38cd13bf0006d13edc0551bf1406d13e000080bf0eea863e743b503f9c1532bec7503f3e9c1532be4ccd13bf31cd133f31cd13bfe804353ffe04353f00000000000080bff37e7f3e1cb62a3f9c1532be9c15323ec9503fbe4ccd13bf31cd133f31cd13bfe804353ffe04353f00000000000080bf572a763ef560283fc7503fbe9c15323e9c1532be4ccd13bf31cd133f31cd13bfe804353ffe04353f00000000000080bf572a763e1cb62a3f9c15323ec9503fbe9c15323e3fcd133f3fcd13bf31cd133f350935bf00000000b200353f000080bf939e1c3f884c343fc9503f3e9c1532be9c15323e3fcd133f3fcd13bf31cd133f350935bf00000000b300353f000080bf3d681a3fbea1363f9c15323e9d1532bec7503f3e3fcd133f3fcd13bf31cd133f350935bf00000000b300353f000080bfee5b1d3fdaa1363f9c15323e80b9d5bcc7503f3e36cd133f4acd133f2ecd133f8e0035bf000000005909353f000080bfee5b1d3f7b51513fc9503f3e80b9d5bc9c15323e36cd133f4acd133f2ecd133f8f0035bf000000005909353f000080bf3d681a3f5e51513f9c15323e40c057bc9c15323e36cd133f4acd133f2ecd133f8e0035bf000000005909353f000080bf929e1c3f77a6533f9c15323ec9503fbe7cb9d53c2dcd133f45cd13bf3bcd13bf0706d13ee305513ff205d1be000080bf00000000262f993d9d15323e9c1532be2bc0573c2dcd133f45cd13bf3bcd13bf0706d13ee305513ff205d1be000080bf0053153c2661a63dc9503f3e9d1532be7db9d53c2dcd133f45cd13bf3bcd13bf0706d13ee305513ff205d1be000080bff052153c26fd8b3d9c15323e40c057bc7db9d53c3bcd133f48cd133f2dcd13bffc05d1bee205513f0406d13e000080bf74cffa3d282f993dc9503f3e80b9d5bc7bb9d53c3bcd133f48cd133f2dcd13bff905d1bee205513f0306d13e000080bf6327e83d26fd8b3d9c15323e80b9d5bc2bc0573c3bcd133f48cd133f2dcd13bff905d1bee205513f0306d13e000080bf6327e83d2a61a63d80b9d53cc9503fbe9d15323e3ecd13bf3ecd13bf34cd133ff40435bff204353f00000000000080bf52897f3e0fb4233f80b9d53c9c1532beca503f3e3ecd13bf3ecd13bf34cd133ff50435bff104353f00000000000080bf52897f3e3609263f40c0573c9d1532be9d15323e3ecd13bf3ecd13bf34cd133ff40435bff204353f00000000000080bff66e843e0fb4233f78b9d53c40c057bc9c15323e31cd13bf45cd133f38cd133ffa0435bf00000000ed0435bf000080bfd21e6a3fd1c6343f20c0573c80b9d5bc9c15323e31cd13bf45cd133f38cd133ffa0435bf00000000ed0435bf000080bf12c56b3f9120333f78b9d53c80b9d5bcc7503f3e31cd13bf45cd133f38cd133ffa0435bf00000000ec0435bf000080bf9278683f9120333f78b9d53cc9503fbe7db9d53c50cd13bf35cd13bf28cd13bfe60435bfff04353f00000000000080bf51897f3e6e04093f20c0573c9c1532be7bb9d53c50cd13bf35cd13bf28cd13bfe60435bfff04353f00000000000080bff66e843e6e04093f78b9d53c9d1532be2bc0573c50cd13bf35cd13bf28cd13bfe70435bfff04353f00000000000080bf51897f3e47af063f7cb9d5bcc9503fbe9c15323e49cd133f2ecd13bf38cd133f500935bf000000009700353f000080bf2bf1c83e60fb953b2bc057bc9c1532be9c15323e49cd133f2ecd13bf38cd133f510935bf000000009600353f000080bf8084c43e104b603c7db9d5bc9d1532bec7503f3e49cd133f2ecd13bf38cd133f510935bf000000009600353f000080bfe26bca3e4052603c7cb9d5bc80b9d5bcc7503f3e3bcd133f35cd133f3fcd133f980035bf000000004f09353f000080bfe26bca3e4d87f13d2bc057bc80b9d5bc9c15323e3bcd133f35cd133f3fcd133f980035bf000000005009353f000080bf7f84c43e6686f13d7db9d5bc40c057bc9c15323e3bcd133f35cd133f3fcd133f980035bf000000005009353f000080bf2af1c83e9517023e2be719bc0ad723be57b0d03c288c6e3f2ccd81be78f384be6b2414beaf1ecb3e520e68bf0000803f79b12c3fc458723df576b4bb0ad723be0ad7233d288c6e3f2ccd81be78f384be6a2414bead1ecb3e520e68bf0000803f2ef52d3f08a6523d60562fbb0ad723bececc4c3d288c6e3f2ccd81be78f384be6a2414bead1ecb3e520e68bf0000803fcbd62e3f788e3c3d7db9d5bcc9503fbe7cb9d53c2ccd133f40cd13bf43cd13bfcd5e303fd055393fd5710fbd000080bf5881273f1050643d7bb9d5bc9c1532be2bc0573c2ccd133f40cd13bf43cd13bfcd5e303fd155393fd5710fbd000080bf8495283fc052873d2bc057bc9d1532be7db9d53c2ccd133f40cd13bf43cd13bfcd5e303fd055393fd5710fbd000080bf035c2a3f2c29623d9c1532bec9503fbe9d15323e3ecd13bf3ecd13bf31cd133ff304353ff30435bf00000000000080bf9041603c6e04093f9c1532be9c1532beca503f3e3ecd13bf3ecd13bf31cd133ff304353ff30435bf00000000000080bf9041603c47af063fc7503fbe9d1532be9d15323e3ecd13bf3ecd13bf31cd133ff304353ff30435bf00000000000080bfc0ef953b6e04093f9d1532be40c057bc9c15323e2ccd13bf41cd133f41cd133fc105d13ee705513f2a06d1be000080bf7838533f2742043fca503fbe80b9d5bc9c15323e2ccd13bf41cd133f41cd133fc005d13ee705513f2806d1be000080bf3892513fe69b023f9d1532be80b9d5bcc7503f3e2ccd13bf41cd133f41cd133fc105d13ee705513f2a06d1be000080bf3892513f67e8053f9d1532bec9503fbe7db9d53c48cd13bf2dcd13bf3acd13bfe704353fff0435bf00000000000080bf9041603c0fb4233fca503fbe9c1532be7bb9d53c48cd13bf2dcd13bf3acd13bfe704353fff0435bf00000000000080bfa0ef953b0fb4233f9d1532be9d1532be2bc0573c48cd13bf2dcd13bf3acd13bfe704353ffe0435bf00000000000080bf9041603c3609263f9c1532be40c057bc7cb9d53c40cd13bf3dcd133f33cd13bff204353ff404353f00000000000080bf006e543f98a1363f9c1532be80b9d5bc2bc0573c40cd13bf3dcd133f33cd13bff104353ff404353f00000000000080bfd918523f714c343fc7503fbe80b9d5bc7db9d53c40cd13bf3dcd133f33cd13bff204353ff404353f00000000000080bfd918523f98a1363f7cb9d5bcc9503fbe80b9d5bc44cd133f36cd13bf33cd133f02862b3f49373d3fc1898d3d000080bf0e10463faa657b3f2bc057bc9c1532be80b9d5bc44cd133f36cd13bf33cd133f02862b3f49373d3fc1898d3d000080bf4c45493f0b9c7b3f7db9d5bc9d1532be40c057bc44cd133f36cd13bf33cd133f02862b3f49373d3fc2898d3d000080bfc262473f7956793f7db9d5bcc9503fbe9c1532be3bcd133f3bcd13bf39cd13bff005d13eeb05513fe905d1be000080bf00000000386b8c3e7bb9d5bc9c1532bec9503fbe3bcd133f3bcd13bf39cd13bff005d13eeb05513fe905d1be000080bf0053153cb8b78f3e2bc057bc9d1532be9c1532be3bcd133f3bcd13bf39cd13bff005d13eeb05513fe905d1be000080bff052153cb81e893e7cb9d5bc40c057bc9c1532be32cd133f46cd133f35cd13bfd205d1bee305513f2906d13e000080bf72cffa3d396b8c3e2bc057bc80b9d5bc9d1532be32cd133f46cd133f35cd13bfd205d1bee305513f2806d13e000080bf6227e83db81e893e7db9d5bc80b9d5bcc9503fbe32cd133f46cd133f35cd13bfd205d1bee305513f2806d13e000080bf6227e83db9b78f3e9c1532bec9503fbe78b9d5bc44cd13bf36cd13bf37cd133f00000000f20435bff30435bf000080bfae491a3fdded0d3f9c1532be9c1532be20c057bc44cd13bf36cd13bf37cd133f00000000f20435bff30435bf000080bf87f4173fdded0d3fc7503fbe9d1532be78b9d5bc44cd13bf36cd13bf37cd133f00000000f20435bff30435bf000080bfae491a3f0443103f9d1532be40c057bc80b9d5bc30cd13bf3acd133f44cd133ffd04353f00000000e904353f000080bf38cee03ee473613fca503fbe80b9d5bc80b9d5bc30cd13bf3acd133f44cd133ffd04353f00000000e804353f000080bfb881dd3e241a633f9d1532be80b9d5bc40c057bc30cd13bf3acd133f44cd133ffd04353f00000000e904353f000080bfb81ae43e241a633f9d1532bec9503fbe9c1532be2dcd13bf48cd13bf3acd13bf00000000ea04353ffc0435bf000080bf4ff9343fdded0d3fca503fbe9c1532be9d1532be2dcd13bf48cd13bf3acd13bf00000000ea04353ffc0435bf000080bf4ff9343f0443103f9d1532be9d1532bec9503fbe2dcd13bf48cd13bf3acd13bf00000000ea04353ffc0435bf000080bf764e373fdded0d3f9c1532be40c057bc9c1532be45cd13bf34cd133f34cd13bfeb0435bffb0435bf00000000000080bf35a6393fdcfac73e9c1532be80b9d5bcc9503fbe45cd13bf34cd133f34cd13bfeb0435bffb0435bf00000000000080bf5cfb3b3f2aa5cc3ec7503fbe80b9d5bc9c1532be45cd13bf34cd133f34cd13bfea0435bffc0435bf00000000000080bf5cfb3b3fdcfac73e9c15323ec9503fbe80b9d5bc42cd133f38cd13bf32cd133f8ff2a2be08eefb3e58704f3f000080bf9a992f3ec452d63ec9503f3e9c1532be80b9d5bc42cd133f38cd13bf32cd133f8ff2a2be08eefb3e58704f3f000080bfda202f3ebcbfdc3e9c15323e9d1532be40c057bc42cd133f38cd13bf32cd133f8ff2a2be08eefb3e58704f3f000080bf52fd373ed8d8d83e9c15323e80b9d5bc40c057bc39cd133f44cd133f33cd133f771940bf4667273f2a91c53d000080bfce8c7e3ea272003fc9503f3e80b9d5bc80b9d5bc39cd133f44cd133f33cd133f771940bf4667273f2a91c53d000080bf56b0753e1466023f9c15323e40c057bc80b9d5bc39cd133f44cd133f33cd133f771940bf4667273f2a91c53d000080bf793f813ec2af023f9c15323ec9503fbe9c1532be3ecd133f3ecd13bf31cd13bffa05d1bee80551bfe605d13e000080bfec9dc53eb138053f9d15323e9c1532bec9503fbe3ecd133f3ecd13bf31cd13bffa05d1bee80551bfe605d13e000080bf54f3c03e7192033fc9503f3e9d1532be9c1532be3ecd133f3ecd13bf31cd13bffa05d1bee80551bfe605d13e000080bf54f3c03ef1de063f9c15323e40c057bc9c1532be2ccd133f5ccd133f26cd13bf1106d13ed30551bf2606d1be000080bf0fea863eb138053fc9503f3e80b9d5bc9d1532be2ccd133f5ccd133f26cd13bf1106d13ed30551bf2606d1be000080bf13948b3ef1de063f9c15323e80b9d5bcc9503fbe2ccd133f5ccd133f26cd13bf1106d13ed30551bf2606d1be000080bf13948b3e7192033f80b9d53cc9503fbe78b9d5bc42cd13bf34cd13bf38cd133f00000000f404353ff304353f000080bfa247133f787ce63e80b9d53c9c1532be20c057bc42cd13bf34cd13bf38cd133f00000000f404353ff304353f000080bfc99c153f787ce63e40c0573c9d1532be78b9d5bc42cd13bf34cd13bf38cd133f00000000f404353ff304353f000080bfa247133f2bd2e13e78b9d53cc9503fbe9c1532be35cd13bf50cd13bf28cd13bf00000000e10435bf0605353f000080bf0230f13e797ce63e20c0573c9c1532be9d1532be35cd13bf50cd13bf28cd13bf00000000e10435bf0605353f000080bf0230f13e2bd2e13e78b9d53c9d1532bec9503fbe35cd13bf50cd13bf28cd13bf00000000e00435bf0505353f000080bfb485ec3e797ce63e80b9d53c40c057bc9c1532be44cd13bf33cd133f39cd13bfed0435bffa0435bf00000000000080bf50752e3b009a663f80b9d53c80b9d5bcc9503fbe44cd13bf33cd133f39cd13bfec0435bffa0435bf00000000000080bf10e7403c26ef683f40c0573c80b9d5bc9c1532be44cd13bf33cd133f39cd13bfed0435bffa0435bf00000000000080bf10e7403c009a663f999919bececc4c3dcbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bff25bf63e37b42f3ececc4cbdcccc4c3dcbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bfde1dd43ef7b52f3ecccc4cbd9999193ecbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bfdd1dd43e2aec773e999919be9999193ecbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bff25bf63e69ea773ecbcc4cbececc4c3dcccc4c3d000080bf00000000040048b4000000000000803f00000000000080bf26c6d43c25072f3fcbcc4cbecccc4c3d9999193e000080bf00000000040048b4000000000000803f00000000000080bf22c6d43cb114413fcbcc4cbe9999193e9999193e000080bf00000000040048b4000000000000803f00000000000080bfef9dc53db114413fcbcc4cbe9999193ececc4c3d000080bf00000000040048b4000000000000803f00000000000080bfef9dc53d25072f3f999919becbcc4c3ecccc4c3d040048340000803f0000000000000000000000000000803f000080bfb89a1e3f804e2b3f999919becbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf45a8303f804e2b3fcecc4cbdcbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf45a8303ff440193fcccc4cbdcbcc4c3ececc4c3d040048340000803f0000000000000000000000000000803f000080bfb89a1e3ff440193fcecc4cbd4fe2da3b982a333e7bf3843e268c6ebf35cd813e2d1f353f0e55a03b99e934bf000080bf78515e3f4823923ccccc4cbd66562f3b0ad7233e7bf3843e268c6ebf35cd813e5d68353f058eb43be99f34bf000080bf953a603f0047cf3c07d723bdfd76b43b0ad7233e7bf3843e268c6ebf35cd813ecb41353fc5e4a93bc7c634bf000080bf6081613fa06da63c54b0d0bc2de7193c0ad7233e7bf3843e268c6ebf35cd813e38e4343fec11903bc32435bf000080bf0d5c633ff82f563c7cb9d5bc2bc0573c9c15323e7bf3843e268c6ebf35cd813e5cbb343f4bd0843ba94d35bf000080bf6081613f1020d33bcecc4cbd4fe2da3b982a333e2f015f3eaeac30bfb4ac303f0c2274bf000000003b149a3e000080bf2840d13e666c103e7cb9d5bc2bc0573c9c15323e2f015f3eaeac30bfb4ac303f0c2274bf0000000031149a3e000080bf2af1c83e401c153e7db9d5bc7bb9d53cc7503f3e2f015f3eaeac30bfb4ac303f0c2274bf0000000039149a3e000080bfe16bca3e89711e3ececc4cbd9711cd3cb9f5453e2f015f3eaeac30bfb4ac303f0a2274bf0000000041149a3e000080bf145ad33e21ae1d3ececc4cbdcccc4c3dcbcc4c3eb260833eb86083beb68c6e3f61d876bfe790eabaaeb1873e000080bfde1dd43ef7b52f3ececc4cbd9711cd3cb9f5453eb260833eb86083beb68c6e3f01d076bf0000000060ef873e000080bf145ad33e21ae1d3e7db9d5bc7bb9d53cc7503f3eb260833eb86083beb68c6e3ff2c676bf5dbd013b2130883e000080bfe16bca3e89711e3e9911cdbccecc4c3db9f5453eb260833eb86083beb68c6e3f01d076bf0000000060ef873e000080bf6fcdca3e0db62f3e9911cdbccecc4c3db9f5453eb1ac303f24015fbeb2ac303f550635bf000000009003353f000080bf6fcdca3e0db62f3e7db9d5bc7bb9d53cc7503f3eb1ac303f24015fbeb2ac303f550635bf000000009003353f000080bfe16bca3e89711e3e2bc057bc7db9d53c9c15323eb1ac303f24015fbeb2ac303f550635bf000000009003353f000080bf7f84c43e16711e3e4fe2dabbcecc4c3d982a333eb1ac303f24015fbeb2ac303f550635bf000000009103353f000080bfac6ac23e69b52f3e2bc057bc7db9d53c9c15323e288c6e3f73f384be31cd813e058c86be030385baa200773f000080bf7f84c43e16711e3e2de719bc57b0d03c0ad7233e288c6e3f73f384be31cd813ed7c986be70e439bbf7f7763f000080bfdfa1c13ec9fe1d3efd76b4bb09d7233d0ad7233e288c6e3f73f384be31cd813eb06b86be000000001005773f000080bf354dc03e067c283e4fe2dabbcecc4c3d982a333e288c6e3f73f384be31cd813e0f4e86be000000001709773f000080bfac6ac23e69b52f3e66562fbbcecc4c3d0ad7233e288c6e3f73f384be31cd813e054e86be000000001909773f000080bff654bf3eb3b42f3e7cb9d5bc2bc0573c9c15323eabac303fb8ac30bf25015f3e97f0223fa30bdf3e87f022bf000080bf6081613f1020d33b54b0d0bc2de7193c0ad7233eabac303fb8ac30bf25015f3e97f0223fa10bdf3e88f022bf000080bf0d5c633ff82f563c2de719bc57b0d03c0ad7233eabac303fb8ac30bf25015f3e97f0223f9f0bdf3e8af022bf000080bf9369653f109da53b2bc057bc7db9d53c9c15323eabac303fb8ac30bf25015f3e97f0223fa30bdf3e89f022bf000080bfa027633f00000000cccc4cbd9999193ecbcc4c3eac60833ec260833eb68c6e3f8ad876bfbb2eef3a79b0873e000080bfdd1dd43e2aec773e9711cdbc9899193eb9f5453eac60833ec260833eb68c6e3f26d076bf000000004fee873e000080bf6fcdca3e3fec773e7cb9d5bc9c15323ec7503f3eac60833ec260833eb68c6e3f13c776bfe2eeffba322f883e000080bfe16bca3e0698843ececc4cbd982a333eb9f5453eac60833ec260833eb68c6e3f26d076bf000000004eee873e000080bf145ad33ea6f9843ececc4cbd982a333eb9f5453e46015f3ea9ac303fb8ac303f392274bf000000001d139a3e000080bf145ad33ea6f9843e7cb9d5bc9c15323ec7503f3e46015f3ea9ac303fb8ac303f372274bf0000000022139a3e000080bfe16bca3e0698843e7db9d5bcc7503f3e9c15323e46015f3ea9ac303fb8ac303f372274bf0000000028139a3e000080bf2af1c83efd41893ececc4cbdb9f5453e982a333e46015f3ea9ac303fb8ac303f372274bf0000000021139a3e000080bf2840d13e8e998b3ececc4cbdcbcc4c3e9999193ea460833eba8c6e3fae60833e00000000a4ed87be3fd0763f000080bf45a8303ff440193fcecc4cbdb9f5453e982a333ea460833eba8c6e3fae60833ebfe2ecba13b187be77d8763f000080bf242a353ff440193f7db9d5bcc7503f3e9c15323ea460833eba8c6e3fae60833e00000000a4ed87be3fd0763f000080bf4ef9343feaef143f9911cdbcb9f5453e9899193ea460833eba8c6e3fae60833eedeeeb3a162a88becdc7763f000080bf44a8303f15bf143f9911cdbcb9f5453e9899193eaeac303fb4ac303f30015f3e000000009a139abe2522743f000080bf44a8303f15bf143f7db9d5bcc7503f3e9c15323eaeac303fb4ac303f30015f3e00000000ac139abe2222743f000080bf4ef9343feaef143f2bc057bc9c15323e9c15323eaeac303fb4ac303f30015f3e000000009b139abe2522743f000080bf4ef9343fc39a123f4fe2dabb982a333e9899193eaeac303fb4ac303f30015f3e000000008c139abe2722743f000080bf44a8303fe46e113f2bc057bc9c15323e9c15323eba8c6e3f4d62833e065f833edbe387be0000000097d1763f000080bf7e84c43ecc97843e4fe2dabb9899193e982a333eba8c6e3f4d62833e065f833e33a787be5b9306bbcad9763f000080bfac6ac23e9beb773e66562fbb9999193e0ad7233eba8c6e3f4d62833e065f833e28a787be0aa606bbcad9763f000080bff554bf3ee5ea773e716284bbcc881e3e0ad7233eba8c6e3f4d62833e065f833e23a787bec4b006bbccd9763f000080bf95ccbf3eab657b3e83e889bbdc6c213edc6c213eba8c6e3f4d62833e065f833e32e087be0000000017d2763f000080bf3e96bf3e6e6f7d3e37678bbbcde5223efa32203eba8c6e3f4d62833e065f833e7c2088be0791cc3a27c9763f000080bf2577bf3e2f797e3eb27289bb0ad7233ed6171f3eba8c6e3f4d62833e065f833e522088be74efcb3a2cc9763f000080bf4252bf3e40237f3e66562fbb0ad7233e9999193eba8c6e3f4d62833e065f833e592088be7803cc3a2cc9763f000080bfdc2fbe3efe227f3e4fe2dabb982a333e9899193eba8c6e3f4d62833e065f833e662088be6936cc3a2ac9763f000080bfe38ebf3ee5f8843e4fe2dabb9899193e982a333eafac303f28015f3eb4ac303f940335bf000000005206353f000080bfac6ac23e9beb773e2bc057bc9c15323e9c15323eafac303f28015f3eb4ac303f930335bf000000005306353f000080bf7e84c43ecc97843e7cb9d5bc9c15323ec7503f3eafac303f28015f3eb4ac303f930335bf000000005306353f000080bfe16bca3e0698843e9711cdbc9899193eb9f5453eafac303f28015f3eb4ac303f930335bf000000005306353f000080bf6fcdca3e3fec773ecccc4cbdcbcc4c3ececc4c3db960833eb68c6e3fb36083be00000000a9ed873e3dd0763f000080bfb89a1e3ff440193f9711cdbcb9f5453ececc4c3db960833eb68c6e3fb36083bed0eaebba1d2a883ecdc7763f000080bfb89a1e3f15bf143f7cb9d5bcc7503f3e7db9d53cb960833eb68c6e3fb36083be00000000a9ed873e3dd0763f000080bfae491a3feaef143fcecc4cbdb9f5453e9911cd3cb960833eb68c6e3fb36083be24ebec3a14b1873e75d8763f000080bfd9181a3ff440193fcecc4cbdb9f5453e9911cd3c06015f3eb4ac303fb0ac30bf00000000f304353ff404353f000080bfd9181a3ff440193f7cb9d5bcc7503f3e7db9d53c06015f3eb4ac303fb0ac30bf00000000f104353ff504353f000080bfae491a3feaef143f7db9d5bc9c15323e2bc0573c06015f3eb4ac303fb0ac30bf00000000f104353ff404353f000080bf87f4173feaef143fcecc4cbd982a333e4fe2da3b06015f3eb4ac303fb0ac30bf00000000f204353ff404353f000080bfa8c8163ff440193f09d723bd0ad7233efd76b43b73f3843e31cd813e288c6ebfc4262d3fe3883cbf52b442bc000080bf997d403f2fc7d43dcecc4cbd0ad7233e66562f3b73f3843e31cd813e288c6ebfd1e92c3f41c03cbf41b74abc000080bffa9b3f3f73bbc93dcecc4cbd982a333e4fe2da3b73f3843e31cd813e288c6ebfd1e92c3f42c03cbf4eb74abc000080bf749b3d3fddcfd83d7db9d5bc9c15323e2bc0573c73f3843e31cd813e288c6ebf2d692d3f5b4c3cbff7f539bc000080bf1cdb3f3f9c28f23d57b0d0bc0ad7233e2de7193c73f3843e31cd813e288c6ebf2ee82d3f12d83bbffe3329bc000080bf52c1413f7aa0e43d2de719bc0ad7233e54b0d03cb8ac303f24015f3eabac30bfd932013f3a0c54bf2c24793e000080bf00f7433f9527003e57b0d0bc0ad7233e2de7193cb8ac303f24015f3eabac30bfd932013f3a0c54bf2a24793e000080bf52c1413f7aa0e43d7db9d5bc9c15323e2bc0573cb8ac303f24015f3eabac30bfd832013f3a0c54bf2724793e000080bf1cdb3f3f9c28f23d2bc057bc9c15323e7bb9d53cb8ac303f24015f3eabac30bfda32013f390c54bf2b24793e000080bfa0a1413f5633043e4fe2dabb982a333ececc4c3d288c6e3f32cd813e78f384be7396b03e3b5c57bf042bd53e000080bf4c8f433f1fb1113e66562fbb0ad7233ecccc4c3d288c6e3f32cd813e78f384be9c97b03ec85957bff433d53e000080bfae1c463f3e990d3efd76b4bb0ad7233e07d7233d288c6e3f32cd813e78f384be01f2b03eac9756bf58f3d73e000080bfec3a453fb713083e2de719bc0ad7233e54b0d03c288c6e3f32cd813e78f384beae77b03efa9c57bf293ed43e000080bf00f7433f9527003e2bc057bc9c15323e7bb9d53c288c6e3f32cd813e78f384bee81ab03e645c58bf777bd13e000080bfa0a1413f5633043e4fe2dabb982a333ececc4c3da8ac303fb9ac303f38015fbe000000008c139a3e2722743f000080bfb89a1e3fe46e113f2bc057bc9c15323e7bb9d53ca8ac303fb9ac303f38015fbe000000009a139a3e2522743f000080bfae491a3fc39a123f7cb9d5bcc7503f3e7db9d53ca8ac303fb9ac303f38015fbe00000000aa139a3e2222743f000080bfae491a3feaef143f9711cdbcb9f5453ececc4c3da8ac303fb9ac303f38015fbe0000000098139a3e2522743f000080bfb89a1e3f15bf143f9c1532be2bc0573c9d15323ea36083bebc8c6ebf9f60833e1dae283fb8cbb9be1eae28bf000080bfb0a24e3f8527a43d982a33be4fe2da3b9999193ea36083bebc8c6ebf9f60833e1eae283fb8cbb9be1fae28bf000080bf8a8d513fcca6bd3d0ad723be66562f3b9999193ea36083bebc8c6ebf9f60833e1eae283fb8cbb9be1eae28bf000080bfa876533fde5dae3d0ad723be2a48753b8c751d3ea36083bebc8c6ebf9f60833e1fae283fb8cbb9be1eae28bf000080bf7ffb523f9884aa3d73a520be705c783b74a5203ea36083bebc8c6ebf9f60833e1bae283fb8cbb9be22ae28bf000080bfb4fb523f8527a43d8d751dbe4648753b0ad7233ea36083bebc8c6ebf9f60833e1cae283fbacbb9be20ae28bf000080bf7efb523f75ca9d3d999919be60562f3b0ad7233ea36083bebc8c6ebf9f60833e1eae283fb7cbb9be1dae28bf000080bfa876533f2ef1993d989919be4fe2da3b992a333ea36083bebc8c6ebf9f60833e1fae283fb8cbb9be1cae28bf000080bf8a8d513f3da88a3d982a33be4fe2da3b9999193eb2ac30bfb2ac30bf28015f3e178a043f065d2ebf1e8a04bf000080bf8a8d513fcca6bd3d9c1532be2bc0573c9d15323eb2ac30bfb2ac30bf28015f3e188a043f055d2ebf1d8a04bf000080bfb0a24e3f8527a43dc7503fbe7bb9d53c9d15323eb2ac30bfb2ac30bf28015f3e178a043f055d2ebf1e8a04bf000080bf70fc4c3f8559b13db9f545be9711cd3c9999193eb2ac30bfb2ac30bf28015f3e178a043f055d2ebf1f8a04bf000080bfc6354f3fe764d03dcbcc4cbecccc4c3d9999193eb68c6ebfaf6083beb960833e98ed87be3fd0763f00000000000080bf22c6d43cb114413fb9f545be9711cd3c9999193eb68c6ebfaf6083beb960833e13b187be75d8763fd1e4ec3a000080bf8114093cb114413fc7503fbe7bb9d53c9d15323eb68c6ebfaf6083beb960833e99ed87be3fd0763f00000000000080bfc349153cbc65453fb9f545bececc4c3d992a333eb68c6ebfaf6083beb960833efe2988bed1c7763f0f84ebba000080bf24c6d43c9096453fb9f545bececc4c3d992a333eb9ac30bf26015fbeaaac303f58139abe2e22743f00000000000080bf24c6d43c9096453fc7503fbe7bb9d53c9d15323eb9ac30bf26015fbeaaac303f40139abe3222743f00000000000080bfc349153cbc65453f9c1532be7db9d53cca503f3eb9ac30bf26015fbeaaac303f55139abe2e22743f00000000000080bfc549153ce3ba473f982a33bececc4c3db9f5453eb9ac30bf26015fbeaaac303f69139abe2d22743f00000000000080bf24c6d43cc2e6483f999919bececc4c3dcbcc4c3e9b6083bea46083bebd8c6e3f06d176bf00000000fbe787be000080bff25bf63e37b42f3e982a33bececc4c3db9f5453e9b6083bea46083bebd8c6e3f37d976bf4539013b76ab87be000080bfcd24fe3e6eb32f3e9c1532be7db9d53cca503f3e9b6083bea46083bebd8c6e3f06d176bf00000000fce787be000080bf000afd3ef46e1e3e989919be9911cd3cb9f5453e9b6083bea46083bebd8c6e3f9bc876bf0be9d5ba622488be000080bf2898f53e62ac1d3e989919be9911cd3cb9f5453e2a015fbeaeac30bfb4ac303f1d8a043f085d2ebf158a04bf000080bfc6354f3f45d46f3d9c1532be7db9d53cca503f3e2a015fbeaeac30bfb4ac303f1c8a043f085d2ebf148a04bf000080bf70fc4c3f83f5963d9c1532be2bc0573c9d15323e2a015fbeaeac30bfb4ac303f1c8a043f085d2ebf148a04bf000080bfb0a24e3f8527a43d989919be4fe2da3b992a333e2a015fbeaeac30bfb4ac303f1d8a043f085d2ebf148a04bf000080bf8a8d513f3da88a3d999919becbcc4c3e9999193ea36083beba8c6e3fb560833e000000009ced87be3fd0763f000080bf45a8303f804e2b3f992a33beb9f5453e9899193ea36083beba8c6e3fb560833e9aefebba1f2a88becdc7763f000080bf44a8303f60d02f3f9d1532bec7503f3e9c15323ea36083beba8c6e3fb560833e000000009bed87be3fd0763f000080bf4ef9343f8b9f2f3f999919beb9f5453e982a333ea36083beba8c6e3fb560833e8752ed3afbb087be79d8763f000080bf242a353f814e2b3f999919beb9f5453e982a333e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf242a353f814e2b3f9d1532bec7503f3e9c15323e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf4ef9343f8b9f2f3f9d1532be9c15323ec7503f3e42015fbeb0ac303fb0ac303f00000000f20435bff304353f000080bf754e373f8b9f2f3f999919be982a333eb9f5453e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf557a383f814e2b3f999919be9999193ecbcc4c3eae6083bea260833eba8c6e3f78cf76bf000000003ef387be000080bff25bf63e69ea773e999919be982a333eb9f5453eae6083bea260833eba8c6e3fffc676bff115013bc52f88be000080bf2898f53ec6f8843e9d1532be9c15323ec7503f3eae6083bea260833eba8c6e3f78cf76bf000000003ef387be000080bf000afd3eba96843e992a33be9899193eb9f5453eae6083bea260833eba8c6e3fb8d776bff459d7ba96b687be000080bfcd24fe3ea0e9773e992a33be9899193eb9f5453eb0ac30bf2a015f3eb3ac303fbd139a3e2022743f00000000000080bfec9dc53dc2e6483f9d1532be9c15323ec7503f3eb0ac30bf2a015f3eb3ac303f7c139a3e2b22743f00000000000080bf3b26e83de2ba473fca503fbe9c15323e9c15323eb0ac30bf2a015f3eb3ac303f39139a3e3422743f00000000000080bf3b26e83dbc65453fb9f545be9899193e982a333eb0ac30bf2a015f3eb3ac303f86139a3e2922743f00000000000080bfec9dc53d9096453fcbcc4cbe9999193e9999193ebc8c6ebfa260833ea760833e85ed873e42d0763f00000000000080bfef9dc53db114413fb9f545be9899193e982a333ebc8c6ebfa260833ea760833eea29883ed2c7763f6b79eb3a000080bfec9dc53d9096453fca503fbe9c15323e9c15323ebc8c6ebfa260833ea760833e85ed873e42d0763f00000000000080bf3b26e83dbc65453fb9f545be982a333e9899193ebc8c6ebfa260833ea760833e00b1873e79d8763fdeeaecba000080bfe5ace93db114413fb9f545be982a333e9899193eb0ac30bfb3ac303f26015f3e0000000091139abe2522743f000080bf44a8303f9120333fca503fbe9c15323e9c15323eb0ac30bfb3ac303f26015f3e000000009c139abe2322743f000080bf4ef9343fb2f4313f9d1532bec7503f3e9c15323eb0ac30bfb3ac303f26015f3e00000000ab139abe2222743f000080bf4ef9343f8b9f2f3f992a33beb9f5453e9899193eb0ac30bfb3ac303f26015f3e000000009b139abe2522743f000080bf44a8303f60d02f3f9d1532be2bc0573c7db9d53c2dcd81be288c6ebf7ff384bea94d353f91d2843b5cbb34bf000080bf6081613f858e1d3e0ad723be29e7193c57b0d03c2dcd81be288c6ebf7ff384beacfa353ff5262a3b990d34bf000080bf0d5c633f86c4163e0ad723bef576b43b0ad7233d2dcd81be288c6ebf7ff384be16f3343f45bc9d3bbc1535bf000080bf6081613fd2590f3e992a33be4fe2da3bcecc4c3d2dcd81be288c6ebf7ff384beea9f343f4890b43b5e6835bf000080bf77515e3f1ee3113e0ad723be60562f3bcecc4c3d2dcd81be288c6ebf7ff384beea9f343f1190b43b5d6835bf000080bf953a603fa63e0a3e0ad723be54b0d03c29e7193c20015fbeacac30bfb5ac30bf95f0223fa40bdf3e88f022bf000080bf9369653f9efa1e3e0ad723be29e7193c57b0d03c20015fbeacac30bfb5ac30bfa3f0223f8d0bdf3e84f022bf000080bf0d5c633f86c4163e9d1532be2bc0573c7db9d53c20015fbeacac30bfb5ac30bfadf0223f7c0bdf3e7ff022bf000080bf6081613f858e1d3e9d1532be7bb9d53c2bc0573c20015fbeacac30bfb5ac30bf9ef0223f940bdf3e86f022bf000080bfa027633f8727243e9d1532be7bb9d53c2bc0573c21cd81be6af384be2b8c6ebffde7273fee1241bf24f3013d000080bf63324c3f00000000992a33bececc4c3d4fe2da3b21cd81be6af384be2b8c6ebf25d1243f96a543bf77de1a3d000080bf4a0a483f807ac13b0ad723becccc4c3d60562f3b21cd81be6af384be2b8c6ebfa639263f567c42bfd88f0f3d000080bfedca483ff0402c3c0ad723be54b0d03c29e7193c21cd81be6af384be2b8c6ebf2c66293fd3cb3fbf0b82eb3c000080bf6ffc4c3f60fd833b0ad723be09d7233df576b43b21cd81be6af384be2b8c6ebf9bacf8bd727772bf8a0c983e000080bf46824a3fb890013c992a33bececc4c3d4fe2da3bb0ac30bf1f015fbeb4ac30bf83139abe2922743f00000000000080bf28c6d43c1535273f9d1532be7bb9d53c2bc0573cb0ac30bf1f015fbeb4ac30bf8c139abe2722743f00000000000080bfc949153cf460283fca503fbe7db9d53c7bb9d53cb0ac30bf1f015fbeb4ac30bf93139abe2522743f00000000000080bfc949153c1bb62a3fb9f545bececc4c3d9711cd3cb0ac30bf1f015fbeb4ac30bf8c139abe2722743f00000000000080bf28c6d43c46852a3fcbcc4cbececc4c3dcccc4c3dbf8c6ebfa26083be8c6083be93ed87be40d0763f00000000000080bf26c6d43c25072f3fb9f545bececc4c3d9711cd3cbf8c6ebfa26083be8c6083be042a88becfc7763ff4e5eb3a000080bf28c6d43c46852a3fca503fbe7db9d53c7bb9d53cbf8c6ebfa26083be8c6083be93ed87be40d0763f00000000000080bfc949153c1bb62a3fb9f545be9911cd3ccecc4c3dbf8c6ebfa26083be8c6083be02b187be79d8763f89e5ecba000080bf8914093c25072f3fb9f545be9911cd3ccecc4c3dafac30bfb3ac30bf3d015fbe95f0223fa30bdfbe88f022bf000080bfb4f95b3f2b421b3eca503fbe7db9d53c7bb9d53cafac30bfb3ac30bf3d015fbe8ef0223f8b0bdfbe97f022bf000080bf20db5f3f8727243e9d1532be2bc0573c7db9d53cafac30bfb3ac30bf3d015fbe87f0223f710bdfbea8f022bf000080bf6081613f858e1d3e992a33be4fe2da3bcecc4c3dafac30bfb3ac30bf3d015fbe90f0223f900bdfbe97f022bf000080bf77515e3f1ee3113e999919becbcc4c3ecccc4c3dc26083beb68c6e3fac6083be00000000b2ed873e3dd0763f000080bfb89a1e3f804e2b3f989919beb9f5453e9711cd3cc26083beb68c6e3fac6083be58efecba0fb1873e77d8763f000080bfd9181a3f804e2b3f9c1532bec7503f3e7cb9d53cc26083beb68c6e3fac6083be00000000b0ed873e3dd0763f000080bfae491a3f8a9f2f3f982a33beb9f5453ececc4c3dc26083beb68c6e3fac6083bea160ec3a342a883ec9c7763f000080bfb89a1e3f60d02f3f982a33beb9f5453ececc4c3da9ac30bfb8ac303f46015fbefa04353feb04353f00000000000080bf3817023e25072f3f9c1532bec7503f3e7cb9d53ca9ac30bfb8ac303f46015fbefb04353feb04353f00000000000080bf75cffa3d1bb62a3fc7503fbe9c15323e7db9d53ca9ac30bfb8ac303f46015fbefb04353feb04353f00000000000080bf3d26e83d1bb62a3fb9f545be982a333ececc4c3da9ac30bfb8ac303f46015fbefb04353feb04353f00000000000080bfe5ace93d25072f3fcbcc4cbe9999193ececc4c3dba8c6ebfae60833ea46083bea6ed873e3fd0763f00000000000080bfef9dc53d25072f3fb9f545be982a333ececc4c3dba8c6ebfae60833ea46083be13b1873e77d8763fbfe2ec3a000080bfe5ace93d25072f3fc7503fbe9c15323e7db9d53cba8c6ebfae60833ea46083bea6ed873e3fd0763f00000000000080bf3d26e83d1bb62a3fb9f545be9899193e9911cd3cba8c6ebfae60833ea46083be182a883ecdc7763fddeeebba000080bfed9dc53d46852a3fb9f545be9899193e9911cd3cb4ac30bf30015f3eaeac30bf9a139a3e2522743f00000000000080bfed9dc53d46852a3fc7503fbe9c15323e7db9d53cb4ac30bf30015f3eaeac30bfac139a3e2222743f00000000000080bf3d26e83d1bb62a3f9c1532be9c15323e2bc0573cb4ac30bf30015f3eaeac30bf9b139a3e2522743f00000000000080bf3d26e83df460283f982a33be9899193e4fe2da3bb4ac30bf30015f3eaeac30bf8d139a3e2722743f00000000000080bfed9dc53d1535273f0ad723be9999193e66562f3b696283bee55e833eba8c6ebf55b04b3ff486fbbe6a71b5be000080bfd293393fb485463d982a33be9899193e4fe2da3b696283bee55e833eba8c6ebf5db04b3fde86fbbe6871b5be000080bf2fd3383fcaa4333d9c1532be9c15323e2bc0573c696283bee55e833eba8c6ebf3b0b4c3f7472fabe5757b5be000080bf99b4353f16cd653d0ad723bec43d1f3e69ca8a3b696283bee55e833eba8c6ebff5764b3fbc34fcbea981b5be000080bfb1d8383f8bc5513d989919be982a333e4fe2da3b696283bee55e833eba8c6ebf29114c3f6360fabea255b5be000080bf94bd363f07b9823d245b21be245b213e32b0883b696283bee55e833eba8c6ebf7670483f8f9402bf514eb6be000080bfc4b1383f620c593d29731ebe0ad7233e619e833b696283bee55e833eba8c6ebfd11f4c3fa233fabe6251b5be000080bf7282383f8d70613d999919be0ad7233e66562f3b696283bee55e833eba8c6ebf7f1f4c3fa134fabe7b51b5be000080bf19be383f3b49673d989919be982a333e4fe2da3b28015fbeb4ac303fafac30bf00000000f104353ff504353f000080bfa8c8163f804e2b3f9c1532be9c15323e2bc0573c28015fbeb4ac303fafac30bf00000000f104353ff404353f000080bf87f4173f8a9f2f3f9c1532bec7503f3e7cb9d53c28015fbeb4ac303fafac30bf00000000f104353ff504353f000080bfae491a3f8a9f2f3f989919beb9f5453e9711cd3c28015fbeb4ac303fafac30bf00000000f104353ff504353f000080bfd9181a3f804e2b3fcecc4cbdcccc4c3dcbcc4c3e0654843e00000000554d773f554d77bf000000000554843e000080bfde1dd43ef7b52f3e9911cdbccecc4c3db9f5453e0654843e00000000554d773f554d77bf000000000454843e000080bf6fcdca3e0db62f3e9711cdbc9899193eb9f5453e0654843e00000000554d773f554d77bf000000000554843e000080bf6fcdca3e3fec773ecccc4cbd9999193ecbcc4c3e0654843e00000000554d773f554d77bf000000000554843e000080bfdd1dd43e2aec773e9911cdbccecc4c3db9f5453ef604353f00000000f004353fef0435bf00000000f604353f000080bf6fcdca3e0db62f3e4fe2dabbcecc4c3d982a333ef604353f00000000f004353ff00435bf00000000f604353f000080bfac6ac23e69b52f3e4fe2dabb9899193e982a333ef604353f00000000f004353fef0435bf00000000f604353f000080bfac6ac23e9beb773e9711cdbc9899193eb9f5453ef604353f00000000f004353fef0435bf00000000f604353f000080bf6fcdca3e3fec773e4fe2dabbcecc4c3d982a333e554d773f000000000654843e065484be00000000534d773f000080bfac6ac23e69b52f3e66562fbbcecc4c3d0ad7233e554d773f000000000654843e065484be00000000534d773f000080bff654bf3eb3b42f3e66562fbb9999193e0ad7233e554d773f000000000654843e065484be00000000534d773f000080bff554bf3ee5ea773e4fe2dabb9899193e982a333e554d773f000000000654843e065484be00000000534d773f000080bfac6ac23e9beb773ececc4cbdcbcc4c3e9999193ef353843e564d773f0000000000000000000000000000803f000080bf45a8303ff440193f9911cdbcb9f5453e9899193ef353843e564d773f0000000000000000000000000000803f000080bf44a8303f15bf143f9711cdbcb9f5453ececc4c3df353843e564d773f0000000000000000000000000000803f000080bfb89a1e3f15bf143fcccc4cbdcbcc4c3ececc4c3df353843e564d773f0000000000000000000000000000803f000080bfb89a1e3ff440193f9911cdbcb9f5453e9899193ef604353ff004353f0000000000000000000000000000803f000080bf44a8303f15bf143f4fe2dabb982a333e9899193ef604353ff004353f0000000000000000000000000000803f000080bf44a8303fe46e113f4fe2dabb982a333ececc4c3df604353ff004353f0000000000000000000000000000803f000080bfb89a1e3fe46e113f9711cdbcb9f5453ececc4c3df604353ff004353f0000000000000000000000000000803f000080bfb89a1e3f15bf143f4fe2dabb982a333e9899193e534d773f0c54843e000000009388613e8fbe52bf47f4053f000080bf0e6f4a3fbfb73c3e66562fbb0ad7233e9999193e534d773f0c54843e000000009288613e90be52bf44f4053f000080bf6ffc4c3fdf9f383e66562fbb0ad7233ecccc4c3d534d773f0c54843e000000008888613e85be52bf56f4053f000080bfae1c463f3e990d3e4fe2dabb982a333ececc4c3d534d773f0c54843e000000008688613e84be52bf58f4053f000080bf4c8f433f1fb1113ecccc4cbdcbcc4c3ececc4c3d00000000554d773f065484be000000000554843e554d773f000080bfb89a1e3ff440193fcecc4cbdb9f5453e9911cd3c00000000554d773f065484be000000000554843e554d773f000080bfd9181a3ff440193f989919beb9f5453e9711cd3c00000000554d773f065484be000000000554843e554d773f000080bfd9181a3f804e2b3f999919becbcc4c3ecccc4c3d00000000554d773f065484be000000000554843e554d773f000080bfb89a1e3f804e2b3fcecc4cbdb9f5453e9911cd3c00000000f004353ff60435bf00000000f604353fef04353f000080bfd9181a3ff440193fcecc4cbd982a333e4fe2da3b00000000f004353ff60435bf00000000f604353fef04353f000080bfa8c8163ff440193f989919be982a333e4fe2da3b00000000f004353ff60435bf00000000f604353ff004353f000080bfa8c8163f804e2b3f989919beb9f5453e9711cd3c00000000f004353ff60435bf00000000f604353ff004353f000080bfd9181a3f804e2b3fcecc4cbd982a333e4fe2da3b000000000654843e554d77bf99c03f3f88d823bffa572fbe000080bf749b3d3fddcfd83dcecc4cbd0ad7233e66562f3b000000000654843e554d77bf9ac03f3f86d823bffb572fbe000080bffa9b3f3f73bbc93d999919be0ad7233e66562f3b000000000654843e554d77bf98c03f3f8bd823bffe572fbe000080bf19be383f3b49673d989919be982a333e4fe2da3b000000000654843e554d77bf98c03f3f8ad823bffe572fbe000080bf94bd363f07b9823dcbcc4cbe9999193ececc4c3d564d77bf00000000f35384be000000000000803f00000000000080bfef9dc53d25072f3fb9f545be9899193e9911cd3c564d77bf00000000f35384be000000000000803f00000000000080bfed9dc53d46852a3fb9f545bececc4c3d9711cd3c564d77bf00000000f35384be000000000000803f00000000000080bf28c6d43c46852a3fcbcc4cbececc4c3dcccc4c3d564d77bf00000000f35384be000000000000803f00000000000080bf26c6d43c25072f3fb9f545be9899193e9911cd3cf00435bf8eafe633f60435bf000000000000803f00000000000080bfed9dc53d46852a3f982a33be9899193e4fe2da3bf00435bf8eafe633f60435bf000000000000803f00000000000080bfed9dc53d1535273f992a33bececc4c3d4fe2da3bf00435bf8eafe633f60435bf000000000000803f00000000000080bf28c6d43c1535273fb9f545bececc4c3d9711cd3cf00435bf8eafe633f60435bf000000000000803f00000000000080bf28c6d43c46852a3f982a33be9899193e4fe2da3b0e5484be00000000534d77bfc3a3423f3eec1dbf784c50be000080bf2fd3383fcaa4333d0ad723be9999193e66562f3b0e5484be00000000534d77bfc3a3423f3fec1dbf7a4c50be000080bfd293393fb485463d0ad723becccc4c3d60562f3b0e5484be00000000534d77bfbda3423f45ec1dbf734c50be000080bfedca483ff0402c3c992a33bececc4c3d4fe2da3b0e5484be00000000534d77bfbca3423f46ec1dbf744c50be000080bf4a0a483f807ac13b0ad723be60562f3bcecc4c3d045484be554d77bf000000004edd313f9a583ebe4bdd31bf000080bf953a603fa63e0a3e0ad723be66562f3b9999193e045484be554d77bf0000000052dd313f9b583ebe48dd31bf000080bfa876533fde5dae3d982a33be4fe2da3b9999193e045484be554d77bf0000000051dd313f9a583ebe48dd31bf000080bf8a8d513fcca6bd3d992a33be4fe2da3bcecc4c3d045484be554d77bf000000004fdd313f98583ebe4cdd31bf000080bf77515e3f1ee3113e982a33be4fe2da3b9999193ef00435bff50435bfcaab37343ccd133f39cd13bf3acd13bf000080bf8a8d513fcca6bd3db9f545be9711cd3c9999193ef00435bff50435bfcaab37343bcd133f39cd13bf3bcd13bf000080bfc6354f3fe764d03db9f545be9911cd3ccecc4c3df00435bff50435bfcaab37343ccd133f39cd13bf3acd13bf000080bfb4f95b3f2b421b3e992a33be4fe2da3bcecc4c3df00435bff50435bfcaab37343ccd133f39cd13bf39cd13bf000080bf77515e3f1ee3113eb9f545be9711cd3c9999193e554d77bffb5384be00000000fb5384be554d773f00000000000080bf8114093cb114413fcbcc4cbecccc4c3d9999193e554d77bffb5384be00000000fb5384be554d773f00000000000080bf22c6d43cb114413fcbcc4cbececc4c3dcccc4c3d554d77bffb5384be00000000fb5384be554d773f00000000000080bf26c6d43c25072f3fb9f545be9911cd3ccecc4c3d554d77bffb5384be00000000fb5384be554d773f00000000000080bf8914093c25072f3f999919becbcc4c3ecccc4c3d0e5484be534d773f0000000000000000000000000000803f000080bfb89a1e3f804e2b3f982a33beb9f5453ececc4c3d0e5484be534d773f0000000000000000000000000000803f000080bfb89a1e3f60d02f3f992a33beb9f5453e9899193e0e5484be534d773f0000000000000000000000000000803f000080bf44a8303f60d02f3f999919becbcc4c3e9999193e0e5484be534d773f0000000000000000000000000000803f000080bf45a8303f804e2b3f982a33beb9f5453ececc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bf3817023e25072f3fb9f545be982a333ececc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bfe5ace93d25072f3fb9f545be982a333e9899193ef40435bff304353f04a440b4f304353ff304353f00000000000080bfe5ace93db114413f992a33beb9f5453e9899193ef40435bff304353f04a440b4f304353ff304353f00000000000080bf3817023eb214413fb9f545be982a333ececc4c3d554d77bf0454843e717541b40354843e554d773f00000000000080bfe5ace93d25072f3fcbcc4cbe9999193ececc4c3d554d77bf0454843e717541b40354843e554d773f00000000000080bfef9dc53d25072f3fcbcc4cbe9999193e9999193e554d77bf0454843e717541b40454843e554d773f00000000000080bfef9dc53db114413fb9f545be982a333e9899193e554d77bf0454843e717541b40454843e554d773f00000000000080bfe5ace93db114413f999919be9999193ecbcc4c3e025484be557d6534554d773f554d77bf00000000015484be000080bff25bf63e69ea773e992a33be9899193eb9f5453e025484be557d6534554d773f554d77bf00000000005484be000080bfcd24fe3ea0e9773e982a33bececc4c3db9f5453e025484be557d6534554d773f554d77bf00000000015484be000080bfcd24fe3e6eb32f3e999919bececc4c3dcbcc4c3e025484be557d6534554d773f554d77bf00000000015484be000080bff25bf63e37b42f3e992a33be9899193eb9f5453ef30435bf9bc3e633f404353f000000000000803f00000000000080bfec9dc53dc2e6483fb9f545be9899193e982a333ef30435bf9bc3e633f404353f000000000000803f00000000000080bfec9dc53d9096453fb9f545bececc4c3d992a333ef30435bf9bc3e633f404353f000000000000803f00000000000080bf24c6d43c9096453f982a33bececc4c3db9f5453ef30435bf9bc3e633f404353f000000000000803f00000000000080bf24c6d43cc2e6483fb9f545be9899193e982a333e534d77bf000000000e54843e000000000000803f00000000000080bfec9dc53d9096453fcbcc4cbe9999193e9999193e534d77bf000000000e54843e000000000000803f00000000000080bfef9dc53db114413fcbcc4cbecccc4c3d9999193e534d77bf000000000e54843e000000000000803f00000000000080bf22c6d43cb114413fb9f545bececc4c3d992a333e534d77bf000000000e54843e000000000000803f00000000000080bf24c6d43c9096453f999919be60562f3b0ad7233e00000000534d77bf0b54843e4edd313f9b583ebe4bdd31bf000080bfa876533f2ef1993dcccc4cbd66562f3b0ad7233e00000000534d77bf0b54843e4add313fa2583ebe4fdd31bf000080bf953a603f0047cf3ccecc4cbd4fe2da3b982a333e00000000534d77bf0b54843e4add313fa1583ebe4fdd31bf000080bf78515e3f4823923c989919be4fe2da3b992a333e00000000534d77bf0b54843e4edd313f9b583ebe4bdd31bf000080bf8a8d513f3da88a3dcecc4cbd4fe2da3b982a333eaa63ec33f60435bff004353f44cd133f32cd13bf39cd13bf000080bf78515e3f4823923ccecc4cbd9711cd3cb9f5453eaa63ec33f60435bff004353f44cd133f33cd13bf3acd13bf000080bfb4f95b3fb0550e3c989919be9911cd3cb9f5453eaa63ec33f60435bff004353f3ecd133f36cd13bf3ccd13bf000080bfc6354f3f45d46f3d989919be4fe2da3b992a333eaa63ec33f60435bff004353f3fcd133f36cd13bf3acd13bf000080bf8a8d513f3da88a3dcecc4cbd9711cd3cb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf145ad33e21ae1d3ececc4cbdcccc4c3dcbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bfde1dd43ef7b52f3e999919bececc4c3dcbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bff25bf63e37b42f3e989919be9911cd3cb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf2898f53e62ac1d3e999919becbcc4c3e9999193e00000000534d773f0e54843e000000000e5484be534d773f000080bf45a8303f804e2b3f999919beb9f5453e982a333e00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353f814e2b3fcecc4cbdb9f5453e982a333e00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353ff440193fcecc4cbdcbcc4c3e9999193e00000000534d773f0e54843e000000000d5484be534d773f000080bf45a8303ff440193f999919beb9f5453e982a333e00000000f104353ff404353f00000000f30435bff204353f000080bf242a353f814e2b3f999919be982a333eb9f5453e00000000f104353ff404353f00000000f40435bff304353f000080bf557a383f814e2b3fcecc4cbd982a333eb9f5453e00000000f104353ff404353f00000000f30435bff204353f000080bf557a383ff440193fcecc4cbdb9f5453e982a333e00000000f104353ff404353f00000000f40435bff304353f000080bf242a353ff440193f999919be982a333eb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf2898f53ec6f8843e999919be9999193ecbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bff25bf63e69ea773ecccc4cbd9999193ecbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bfdd1dd43e2aec773ececc4cbd982a333eb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf145ad33ea6f9843ecbcc4c3dcecc4c3dcbcc4c3e00000000000000000000803f0000803f0000000000000000000080bfd1f6f13e4a004d3f9899193ecccc4c3dcbcc4c3e00000000000000000000803f0000803f0000000000000000000080bf731a0a3fdaff4c3f9999193e9999193ecbcc4c3e00000000000000000000803f0000803f0000000000000000000080bf731a0a3f4ef23a3fcbcc4c3d9999193ecbcc4c3e00000000000000000000803f0000803f0000000000000000000080bfd1f6f13ebef23a3fcbcc4c3dcbcc4c3ecccc4c3d040048340000803f0000000000000000000000000000803f000080bf308e963e333e323fcbcc4c3dcbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf49a9ba3e333e323f9899193ecbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf49a9ba3ea630203f9999193ecbcc4c3ececc4c3d040048340000803f0000000000000000000000000000803f000080bf308e963ea630203fcbcc4c3ececc4c3d9999193e0000803f0000000003004834000000000000803f00000000000080bfcd002b3e00000000cbcc4c3ecccc4c3dcecc4c3d0000803f0000000003004834000000000000803f00000000000080bf42052b3ee43e4c3dcbcc4c3e9999193ecccc4c3d0000803f0000000003004834000000000000803f00000000000080bf753b733ee43e4c3dcbcc4c3e9999193e9999193e0000803f0000000003004834000000000000803f00000000000080bf0037733e000000009899193e4fe2da3b982a333ea560833eba8c6ebfad60833e35f231bf3f8ab9be0bf31ebf000080bf8c3e6a3fa947c53d9999193e66562f3b0ad7233ea560833eba8c6ebfad60833e35f231bf3f8ab9be0bf31ebf000080bf580b6c3f9928b53dd48d1d3e5300773b0ad7233ea560833eba8c6ebfad60833e33f231bf3f8ab9be0ef31ebf000080bf41866b3f8e71b13d9c15323e2bc0573c9c15323ea560833eba8c6ebfad60833eadf231bf398ab9be87f21ebf000080bff026673f2e23ad3dc1b1203e0b0e7a3bc1b1203ea560833eba8c6ebfad60833eabf231bf388ab9be89f21ebf000080bf207b6b3f2d2fab3d0ad7233e2c00773bd28d1d3ea560833eba8c6ebfad60833e28f331bf308ab9befdf11ebf000080bfaa6f6b3fefeca43d0ad7233e60562f3b9999193ea560833eba8c6ebfad60833e27f331bf308ab9be00f21ebf000080bf8be66b3f36c4a03d992a333e4fe2da3b9899193ea560833eba8c6ebfad60833e25f331bf2f8ab9be00f21ebf000080bfa9e2693fd05d923d9899193e4fe2da3b982a333e31015f3eb2ac30bfafac303f0622743f0000000057149abe000080bf4e890b3f3fd2543f9c15323e2bc0573c9c15323e31015f3eb2ac30bfafac303f0322743f0000000075149abe000080bfccb00f3f48a6533f9c15323e7bb9d53cc7503f3e31015f3eb2ac30bfafac303f0622743f000000005b149abe000080bf71f30e3ff650513f9899193e9711cd3cb9f5453e31015f3eb2ac30bfafac303f0a22743f0000000042149abe000080bf577c0a3fd081513f9899193ecccc4c3dcbcc4c3eb260833eb86083beb68c6e3f65d8763f8ec8ea3a9fb187be000080bf731a0a3fdaff4c3f9899193e9711cd3cb9f5453eb260833eb86083beb68c6e3f01d0763f0000000057ef87be000080bf577c0a3fd081513f9c15323e7bb9d53cc7503f3eb260833eb86083beb68c6e3ff2c6763f5dbd01bb213088be000080bf71f30e3ff650513f992a333ececc4c3db9f5453eb260833eb86083beb68c6e3f01d0763f0000000058ef87be000080bfaac20e3fd5ff4c3f992a333ececc4c3db9f5453ea7ac303f35015fbebaac303f5f06353f00000000870335bf000080bfaac20e3fd5ff4c3f9c15323e7bb9d53cc7503f3ea7ac303f35015fbebaac303f6006353f00000000860335bf000080bf71f30e3ff650513fc9503f3e7db9d53c9c15323ea7ac303f35015fbebaac303f5f06353f00000000860335bf000080bf22e7113f1351513fb9f5453ececc4c3d982a333ea7ac303f35015fbebaac303f5e06353f00000000880335bf000080bf0cf4123ffeff4c3fcbcc4c3ececc4c3d9999193ebd8c6e3fb26083be8e60833e4ab9873e3b55ccba5dd776bf000080bfb886153f4a004d3fb9f5453ececc4c3d982a333ebd8c6e3fb26083be8e60833ef7f6873e00000000f6ce76bf000080bf0cf4123ffeff4c3fc9503f3e7db9d53c9c15323ebd8c6e3fb26083be8e60833eb137883e66d9103bdfc576bf000080bf22e7113f1351513fb9f5453e9911cd3c9899193ebd8c6e3fb26083be8e60833ef7f6873e00000000f6ce76bf000080bff061143f3082513fb9f5453e9911cd3c9899193eb0ac303fabac30bf76015f3e59010abf82e730bf128af6be000080bf136a673f81b5803dc9503f3e7db9d53c9c15323eb0ac303fabac30bf76015f3e5a010abf81e730bf0f8af6be000080bf9469653fc0b4a03d9c15323e2bc0573c9c15323eb0ac303fabac30bf76015f3e5b010abf82e730bf0d8af6be000080bff026673f2e23ad3d992a333e4fe2da3b9899193eb0ac303fabac30bf76015f3e5a010abf81e730bf108af6be000080bfa9e2693fd05d923d9999193e9999193ecbcc4c3eb160833ea860833eb88c6e3f8ed8763f8882efba6ab087be000080bf731a0a3f4ef23a3f992a333e9899193eb9f5453eb160833ea860833eb88c6e3f2ad0763f000000003aee87be000080bfaac20e3f48f23a3f9c15323e9c15323ec7503f3eb160833ea860833eb88c6e3f17c7763f577fff3a192f88be000080bf71f30e3f55a1363f9899193e982a333eb9f5453eb160833ea860833eb88c6e3f2ad0763f000000003aee87be000080bf577c0a3f8670363f9899193e982a333eb9f5453e45015f3eb2ac303faeac303f4822743f00000000ba129abe000080bf577c0a3f8670363f9c15323e9c15323ec7503f3e45015f3eb2ac303faeac303f4122743f00000000e6129abe000080bf71f30e3f55a1363f9c15323ec7503f3e9c15323e45015f3eb2ac303faeac303f3b22743f0000000013139abe000080bfccb00f3f5a4c343f9899193eb9f5453e982a333e45015f3eb2ac303faeac303f4222743f00000000de129abe000080bf4e890b3f9220333f9899193ecbcc4c3e9999193ea760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bf49a9ba3ea630203f9899193eb9f5453e982a333ea760833eba8c6e3faf60833e07e3ecba13b187be77d8763f000080bf07adc33ea630203f9c15323ec7503f3e9c15323ea760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bf5d4bc33e9cdf1b3f992a333eb9f5453e9899193ea760833eba8c6e3faf60833ef8dbeb3a142a88becdc7763f000080bf49a9ba3ec7ae1b3f992a333eb9f5453e9899193eabac303fb0ac303f76015f3e00000000ac139abe2222743f000080bf49a9ba3ec7ae1b3f9c15323ec7503f3e9c15323eabac303fb0ac303f76015f3e00000000bc139abe2022743f000080bf5d4bc33e9cdf1b3fc9503f3e9c15323e9c15323eabac303fb0ac303f76015f3e00000000ae139abe2222743f000080bf5d4bc33e758a193fb9f5453e982a333e9899193eabac303fb0ac303f76015f3e000000009f139abe2322743f000080bf49a9ba3e965e183fcbcc4c3e9999193e9999193eb88c6e3fb160833ea860833eb1a8873e8eb9063b94d976bf000080bfb886153fbef23a3fb9f5453e982a333e9899193eb88c6e3fb160833ea860833e7ce6873e000000003ad176bf000080bff061143fe670363fc9503f3e9c15323e9c15323eb88c6e3fb160833ea860833e5727883ebd3ce1ba31c876bf000080bf22e7113f72a1363fb9f5453e9899193e982a333eb88c6e3fb160833ea860833e7ce6873e000000003ad176bf000080bf0cf4123f72f23a3fb9f5453e9899193e982a333ea7ac303f3c015f3eb9ac303f9103353f00000000550635bf000080bf0cf4123f72f23a3fc9503f3e9c15323e9c15323ea7ac303f3c015f3eb9ac303f9503353f00000000510635bf000080bf22e7113f72a1363f9c15323e9c15323ec7503f3ea7ac303f3c015f3eb9ac303f9a03353f000000004c0635bf000080bf71f30e3f55a1363f992a333e9899193eb9f5453ea7ac303f3c015f3eb9ac303f9403353f00000000510635bf000080bfaac20e3f48f23a3f0ad7233e0677b43b05d7233d2bcd813e288c6ebf77f384be62d53ebf1c3f8cbcd8952abf000080bf2421793fe022a93c0ad7233e2de7193c54b0d03c2bcd813e288c6ebf77f384be97ca3fbf8a559ebcfe7d29bf000080bf56e07a3f101c553c9c15323e2bc0573c7cb9d53c2bcd813e288c6ebf77f384beab293fbff47292bc13362abf000080bff2ed783fc0adde3b992a333e4fe2da3bcecc4c3d2bcd813e288c6ebf77f384bef6873ebff88f86bc73ed2abf000080bf63e9753ff49e9a3c0ad7233e6b562f3bcccc4c3d2bcd813e288c6ebf77f384bef6873ebf039086bc73ed2abf000080bf45ed773f8838d43c992a333e4fe2da3bcecc4c3dadac303fb2ac30bf5c015fbe4d4e28bf91bbf1bea35516bf000080bf63e9753ff49e9a3c9c15323e2bc0573c7cb9d53cadac303fb2ac30bf5c015fbe4f4e28bf94bbf1be9f5516bf000080bff2ed783fc0adde3bc9503f3e7bb9d53c7db9d53cadac303fb2ac30bf5c015fbe4e4e28bf91bbf1bea25516bf000080bf9730773f80373e3ab9f5453e9711cd3ccecc4c3dadac303fb2ac30bf5c015fbe4b4e28bf8bbbf1bea55516bf000080bfce70733f78fb273ccbcc4c3ecccc4c3dcecc4c3dbc8c6e3fa66083bea46083beda5e543e39f2743fe68e50be000080bf42052b3ee43e4c3db9f5453e9711cd3ccecc4c3dbc8c6e3fa66083bea46083be3972533ed6d6743fa47c53be000080bf79fd183e88e3593dc9503f3e7bb9d53c7db9d53cbc8c6e3fa66083bea46083bed278523e68b9743fa39056be000080bf95c1193e26fd8b3db9f5453ececc4c3d9911cd3cbc8c6e3fa66083bea46083be3a72533ed6d6743fa27c53be000080bf13062b3e0e71863db9f5453ececc4c3d9911cd3cb0ac303f2c015fbeb3ac30bf24b01d3e07db793f23b01dbe000080bf13062b3e0e71863dc9503f3e7bb9d53c7db9d53cb0ac303f2c015fbeb3ac30bf4ab01d3e07db793ffdaf1dbe000080bf95c1193e26fd8b3d9d15323e7db9d53c2bc0573cb0ac303f2c015fbeb3ac30bf28b01d3e07db793f1db01dbe000080bf95c1193e2a61a63d992a333ececc4c3d4fe2da3bb0ac303f2c015fbeb3ac30bf0cb01d3e07db793f3eb01dbe000080bf13062b3e42edab3d9d15323e7db9d53c2bc0573c2ccd813e78f384be288c6ebf6766543e889a743fa8dd56be000080bf95c1193e2a61a63d0ad7233e57b0d03c2be7193c2ccd813e78f384be288c6ebf75eb4f3e59c4743f4f4458be000080bf7e4f193ebe70b83d0ad7233e0ad7233df576b43b2ccd813e78f384be288c6ebf96bc563e2a84743ff92156be000080bfd6cc233eb668bc3d0ad7233ececc4c3d60562f3b2ccd813e78f384be288c6ebf1ee0583e5e6f743fd77555be000080bf96052b3e124dbf3d992a333ececc4c3d4fe2da3b2ccd813e78f384be288c6ebf00e0583e5f6f743fda7555be000080bf13062b3e42edab3d9c15323e2bc0573c7cb9d53c29015f3eacac30bfb5ac30bf2d582fbfe994ca3e459f1cbf000080bff2ed783fc0adde3b0ad7233e2de7193c54b0d03c29015f3eacac30bfb5ac30bf35582fbfdc94ca3e429f1cbf000080bf56e07a3f101c553c0ad7233e57b0d03c2be7193c29015f3eacac30bfb5ac30bf3d582fbfcc94ca3e3b9f1cbf000080bf6fcf7c3f3014953b9d15323e7db9d53c2bc0573c29015f3eacac30bfb5ac30bf37582fbfd594ca3e3f9f1cbf000080bfc07b7a3f000000009999193ecbcc4c3ececc4c3db860833eb68c6e3fb26083be00000000a6ed873e3dd0763f000080bf308e963ea630203f992a333eb9f5453ececc4c3db860833eb68c6e3fb26083be89ddebba182a883ecdc7763f000080bf308e963ec7ae1b3f9c15323ec7503f3e7db9d53cb860833eb68c6e3fb26083be00000000a6ed873e3fd0763f000080bf1cec8d3e9cdf1b3f9899193eb9f5453e9911cd3cb860833eb68c6e3fb26083becef0ec3a13b1873e77d8763f000080bf728a8d3ea630203f9899193eb9f5453e9911cd3c0a015f3eb6ac303fadac30bf00000000ef04353ff704353f000080bf728a8d3ea630203f9c15323ec7503f3e7db9d53c0a015f3eb6ac303fadac30bf00000000ef04353ff704353f000080bf1cec8d3e9cdf1b3f9c15323e9c15323e2bc0573c0a015f3eb6ac303fadac30bf00000000ef04353ff704353f000080bfce41893e9cdf1b3f9899193e982a333e4fe2da3b0a015f3eb6ac303fadac30bf00000000ef04353ff604353f000080bf0fea863ea630203f992a333e9899193e4fe2da3b975e833eb762833ebc8c6ebf22ed57beecab743f290f523e000080bf443c733e42edab3d0ad7233e9999193e6b562f3b975e833eb762833ebc8c6ebfd0ec57bef0ab743f440f523e000080bfc83b733e124dbf3d0ad7233e2b811c3e13fb633b975e833eb762833ebc8c6ebf02ed57beeeab743f360f523e000080bf1b48753e127bbe3d9c15323e9c15323e2bc0573c975e833eb762833ebc8c6ebf8c7953beafd6743f0d78533e000080bf0b40823e2c61a63df558203ef658203e59d46d3b975e833eb762833ebc8c6ebf5c9e53be56d5743f6d6c533e000080bfb6fd773e72cfc13d672c1d3e0ad7233ea61a703b975e833eb762833ebc8c6ebfb4044fbe2000753fd6df543e000080bf12747a3ebaf0c43d9899193e982a333e4fe2da3b975e833eb762833ebc8c6ebfee044fbe1e00753fc4df543e000080bf52a1823e8a6cc53d9899193e0ad7233e66562f3b975e833eb762833ebc8c6ebfee044fbe1e00753fc4df543e000080bff6737a3e6c83c93d992a333e9899193e4fe2da3ba7ac303f38015f3eb9ac30bf12b01dbe07db793f47b01d3e000080bf443c733e42edab3d9c15323e9c15323e2bc0573ca7ac303f38015f3eb9ac30bffeaf1dbe07db793f5ab01d3e000080bf0b40823e2c61a63dc9503f3e9c15323e7bb9d53ca7ac303f38015f3eb9ac30bf12b01dbe07db793f4bb01d3e000080bf0b40823e28fd8b3db9f5453e9899193e9711cd3ca7ac303f38015f3eb9ac30bf1eb01dbe07db793f3bb01d3e000080bf443c733e0e71863dcbcc4c3e9999193ecccc4c3dba8c6e3faa60833ea26083becc5e54be38f2743f348f503e000080bf753b733ee43e4c3db9f5453e9899193e9711cd3cba8c6e3faa60833ea26083be2a7253bed2d6743fe97c533e000080bf443c733e0e71863dc9503f3e9c15323e7bb9d53cba8c6e3faa60833ea26083bec67852be66b9743fe690563e000080bf0b40823e28fd8b3db9f5453e982a333ececc4c3dba8c6e3faa60833ea26083be2b7253bed2d6743feb7c533e000080bf52a1823e8ce3593db9f5453e982a333ececc4c3da4ac303fb5ac303f7c015fbe000000009f139a3e2322743f000080bf308e963e965e183fc9503f3e9c15323e7bb9d53ca4ac303fb5ac303f7c015fbe00000000ad139a3e2222743f000080bf1cec8d3e758a193f9c15323ec7503f3e7db9d53ca4ac303fb5ac303f7c015fbe00000000bc139a3e2022743f000080bf1cec8d3e9cdf1b3f992a333eb9f5453ececc4c3da4ac303fb5ac303f7c015fbe00000000aa139a3e2222743f000080bf308e963ec7ae1b3f80b9d53c2bc0573c9d15323e7cf384be268c6ebf33cd813ea2973ebf85bcd43c1bc82abf000080bffa0d7b3fa2ad1d3e5cb0d03c29e7193c0ad7233e7cf384be268c6ebf33cd813e1af63dbf5de1c83c487f2bbf000080bf6ecf7c3f7a7b163e0ad7233df576b43b0ad7233e7cf384be268c6ebf33cd813ea1eb3ebf61ecda3c38682abf000080bfc8da7a3fb37e0f3ececc4c3d60562f3b0ad7233e7cf384be268c6ebf33cd813e60383fbfa896e03c3e102abf000080bf1b82793f35af0a3ecfcc4c3d4fe2da3b992a333e7cf384be268c6ebf33cd813e5b383fbf5996e03c43102abf000080bf4eb5773fbdbe123e40c0573c7bb9d53c9d15323eb5ac30bfabac30bf2c015f3ead0bdf3e99f022bf80f022bf000080bfc2606b3f0ee68e3e36e7193c54b0d03c0ad7233eb5ac30bfabac30bf2c015f3e980bdf3e94f022bf8df022bf000080bf703b6d3f0e4b923e5cb0d03c29e7193c0ad7233eb5ac30bfabac30bf2c015f3e7a0bdf3e8cf022bfa0f022bf000080bff5486f3f02308e3e80b9d53c2bc0573c9d15323eb5ac30bfabac30bf2c015f3e8c0bdf3e91f022bf95f022bf000080bf02076d3f8e998b3e0677b43b09d7233d0ad7233e238c6ebf90f384be36cd813e81be9d3bbe1535bf14f334bf000080bfc2606b3f6800963e36e7193c54b0d03c0ad7233e238c6ebf90f384be36cd813ec22f2a3ba50d34bfa1fa35bf000080bf703b6d3f0e4b923e40c0573c7bb9d53c9d15323e238c6ebf90f384be36cd813e6fd5843b63bb34bfa44d35bf000080bfc2606b3f0ee68e3e60e2da3bcecc4c3d992a333e238c6ebf90f384be36cd813ed091b43b5d6835bfea9f34bf000080bfd930683fc2bb943e6d562f3bcccc4c3d0ad7233e238c6ebf90f384be36cd813ee991b43b5d6835bfe99f34bf000080bff7196a3ffe8d983e60e2da3bcecc4c3d992a333eb4ac30bf20015fbeaeac303fb10bdfbe83f022bf97f022bf000080bfd930683fc2bb943e40c0573c7bb9d53c9d15323eb4ac30bf20015fbeaeac303fa40bdfbe8bf022bf93f022bf000080bfc2606b3f0ee68e3e80b9d53c7db9d53cca503f3eb4ac30bf20015fbeaeac303fae0bdfbe85f022bf97f022bf000080bf82ba693f8e998b3ea011cd3ccecc4c3db9f5453eb4ac30bf20015fbeaeac303fb90bdfbe7ef022bf99f022bf000080bf16d9653f3c0c903ecbcc4c3dcecc4c3dcbcc4c3ea06083beaa6083bebc8c6e3f07d1763f00000000ede7873e000080bfd1f6f13e4a004d3fa011cd3ccecc4c3db9f5453ea06083beaa6083bebc8c6e3f39d9763fd16201bb65ab873e000080bff52dea3e7d004d3f80b9d53c7db9d53cca503f3ea06083beaa6083bebc8c6e3f07d1763f00000000ede7873e000080bfc348eb3e9c51513fcfcc4c3d9911cd3cb9f5453ea06083beaa6083bebc8c6e3f9dc8763ff4abd53a5624883e000080bf9abaf23e4082513fcfcc4c3d9911cd3cb9f5453e2b015fbeafac30bfb3ac303f3d582fbfc994cabe3e9f1cbf000080bf4480753f13a11c3e80b9d53c7db9d53cca503f3e2b015fbeafac30bfb3ac303f38582fbfd294cabe3f9f1cbf000080bf2c80793f10a3243e80b9d53c2bc0573c9d15323e2b015fbeafac30bfb3ac303f33582fbfdb94cabe429f1cbf000080bffa0d7b3fa2ad1d3ecfcc4c3d4fe2da3b992a333e2b015fbeafac30bfb3ac303f38582fbfd194cabe3f9f1cbf000080bf4eb5773fbdbe123ecbcc4c3dcbcc4c3e9999193ea26083beba8c6e3faf60833e00000000a7ed87be3dd0763f000080bf49a9ba3e333e323f9811cd3cb9f5453e9899193ea26083beba8c6e3faf60833ebaf6ebba192a88becdc7763f000080bf49a9ba3e12c0363f78b9d53cc7503f3e9c15323ea26083beba8c6e3faf60833e00000000a6ed87be3dd0763f000080bf5d4bc33e3d8f363fcbcc4c3db9f5453e982a333ea26083beba8c6e3faf60833effe2ec3a13b187be77d8763f000080bf07adc33e333e323fcbcc4c3db9f5453e982a333e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf07adc33e333e323f78b9d53cc7503f3e9c15323e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf5d4bc33e3d8f363f78b9d53c9c15323ec7503f3e42015fbeb0ac303fb0ac303f00000000f20435bff304353f000080bfabf5c73e3d8f363fcbcc4c3d982a333eb9f5453e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf6a4dca3e333e323fcbcc4c3d9999193ecbcc4c3eb16083bea560833eba8c6e3f7bcf763f0000000030f3873e000080bfd1f6f13ebef23a3fcbcc4c3d982a333eb9f5453eb16083bea560833eba8c6e3f02c7763fd0df00bbac2f883e000080bf9abaf23ef670363f78b9d53c9c15323ec7503f3eb16083bea560833eba8c6e3f7bcf763f0000000030f3873e000080bfc348eb3efba1363f9811cd3c9899193eb9f5453eb16083bea560833eba8c6e3fbad7763faa75d73a92b6873e000080bff52dea3ef0f23a3f9811cd3c9899193eb9f5453eacac30bf24015f3eb6ac303f0a5d2ebf188a04bf148a04bf000080bf2815593f1694a93e78b9d53c9c15323ec7503f3eacac30bf24015f3eb6ac303f0b5d2ebf178a04bf158a04bf000080bfd2db563fef56b13e20c0573c9c15323e9c15323eacac30bf24015f3eb6ac303f0c5d2ebf168a04bf178a04bf000080bf1282583f6fa3b43e40e2da3b9899193e982a333eacac30bf24015f3eb6ac303f0b5d2ebf178a04bf158a04bf000080bfec6c5b3f9d43ae3e40e2da3b982a333e9899193ebd8c6ebff861833e455f833eb7cbb9be1dae28bf1eae28bf000080bfec6c5b3f4103bb3e59562f3b0ad7233e9999193ebd8c6ebff861833e455f833eb4cbb9be07ae28bf36ae28bf000080bf0a565d3f0531b73e9fec933b0ad7233eca3f203ebd8c6ebff861833e455f833eb4cbb9be1aae28bf23ae28bf000080bfd7815c3fa088b53e20c0573c9c15323e9c15323ebd8c6ebff861833e455f833eb7cbb9be24ae28bf18ae28bf000080bf1282583f6fa3b43e29d2913bcddf213ecddf213ebd8c6ebff861833e455f833eb4cbb9be1fae28bf1fae28bf000080bfb78c5c3f6fa3b43ed5078d3b0c7d1f3e0ad7233ebd8c6ebff861833e455f833eb4cbb9be2bae28bf12ae28bf000080bf1e9a5c3fb18db33e59562f3b9999193e0ad7233ebd8c6ebff861833e455f833eb5cbb9be27ae28bf17ae28bf000080bf0a565d3fd915b23e40e2da3b9899193e982a333ebd8c6ebff861833e455f833eb5cbb9be22ae28bf1cae28bf000080bfec6c5b3f9d43ae3e40e2da3b982a333e9899193eb0ac30bfb3ac303f28015f3e000000008f139abe2722743f000080bf49a9ba3e43103a3f20c0573c9c15323e9c15323eb0ac30bfb3ac303f28015f3e000000009d139abe2322743f000080bf5d4bc33e64e4383f78b9d53cc7503f3e9c15323eb0ac30bfb3ac303f28015f3e00000000ad139abe2222743f000080bf5d4bc33e3d8f363f9811cd3cb9f5453e9899193eb0ac30bfb3ac303f28015f3e000000009b139abe2522743f000080bf49a9ba3e12c0363fcbcc4c3dcbcc4c3ecccc4c3dc26083beb68c6e3fac6083be00000000bfed873e3bd0763f000080bf308e963e333e323fcfcc4c3db9f5453e9711cd3cc26083beb68c6e3fac6083be4787ecba28b1873e74d8763f000080bf728a8d3e323e323f80b9d53cc7503f3e7cb9d53cc26083beb68c6e3fac6083be00000000bfed873e3bd0763f000080bf1cec8d3e3c8f363fa011cd3cb9f5453ececc4c3dc26083beb68c6e3fac6083be5a66ec3a342a883ec9c7763f000080bf308e963e12c0363fa011cd3cb9f5453ececc4c3da9ac30bfb8ac303f37015fbe5e0bdfbe75f022bfc1f022bf000080bf16d9653fa43ad93e80b9d53cc7503f3e7cb9d53ca9ac30bfb8ac303f37015fbe860bdfbe80f022bfa8f022bf000080bf82ba693f50addd3e40c0573c9c15323e7db9d53ca9ac30bfb8ac303f37015fbeaf0bdfbe8ef022bf8df022bf000080bfc2606b3fd060da3e60e2da3b982a333ececc4c3da9ac30bfb8ac303f37015fbe800bdfbe7ff022bfacf022bf000080bfda30683f1c8bd43e40c0573c9c15323e7db9d53c248c6ebf39cd813e84f384be51ce843bb44d35bf52bb34bf000080bfc2606b3fd060da3e3ae7193c0ad7233e57b0d03c248c6ebf39cd813e84f384be92202a3bb3fa35bf930d34bf000080bf703b6d3fd1fbd63e0e77b43b0ad7233e09d7233d248c6ebf39cd813e84f384be92b99d3b1cf334bfb61535bf000080bfc2606b3f7746d33e74562f3b0ad7233ececc4c3d248c6ebf39cd813e84f384be438bb43bf79f34bf506835bf000080bff7196a3fe1b8d03e60e2da3b982a333ececc4c3d248c6ebf39cd813e84f384be018ab43bfc9f34bf4c6835bf000080bfda30683f1c8bd43e80b9d53c9c15323e2bc0573cbaac30bf29015f3ea8ac30bfa60bdf3e81f022bf9cf022bf000080bf03076d3f51addd3e5cb0d03c0ad7233e2de7193cbaac30bf29015f3ea8ac30bfd10bdf3e66f022bfa9f022bf000080bff5486f3fdc16db3e3ae7193c0ad7233e57b0d03cbaac30bf29015f3ea8ac30bf890bdf3e92f022bf93f022bf000080bf703b6d3fd1fbd63e40c0573c9c15323e7db9d53cbaac30bf29015f3ea8ac30bf530bdf3eb5f022bf83f022bf000080bfc2606b3fd060da3e07d7233d0ad7233efd76b43b76f384be37cd813e288c6ebff410aabe3df2613f3c56aa3e000080bfed6e7a3e6a7a1b3e5cb0d03c0ad7233e2de7193c76f384be37cd813e288c6ebf9a6eaebe43fb603f4b07ab3e000080bf1a6e7a3e22e9203e80b9d53c9c15323e2bc0573c76f384be37cd813e288c6ebf9590abbe259e613f6093aa3e000080bfbf3c823e56ab1e3ecfcc4c3d982a333e4fe2da3b76f384be37cd813e288c6ebffdb0a8bec83e623fcd1daa3e000080bf179f823efbc5153ececc4c3d0ad7233e66562f3b76f384be37cd813e288c6ebf18b1a8bec23e623fd31daa3e000080bf7f6f7a3e6cd1173ecfcc4c3d982a333e4fe2da3b26015fbeb2ac303fb2ac30bf00000000f304353ff304353f000080bf0fea863e323e323f80b9d53c9c15323e2bc0573c26015fbeb2ac303fb2ac30bf00000000f304353ff304353f000080bfce41893e3c8f363f80b9d53cc7503f3e7cb9d53c26015fbeb2ac303fb2ac30bf00000000f204353ff304353f000080bf1cec8d3e3c8f363fcfcc4c3db9f5453e9711cd3c26015fbeb2ac303fb2ac30bf00000000f304353ff304353f000080bf728a8d3e323e323f992a333e4fe2da3b9899193efe53843e554d77bf00000000fd3b3bbf8b5f48be033e27bf000080bfa9e2693fd05d923d0ad7233e60562f3b9999193efe53843e554d77bf00000000fd3b3bbf8b5f48be043e27bf000080bf8be66b3f36c4a03d0ad7233e6b562f3bcccc4c3dfe53843e554d77bf00000000fd3b3bbf8d5f48be023e27bf000080bf45ed773f8838d43c992a333e4fe2da3bcecc4c3dfe53843e554d77bf00000000fe3b3bbf8c5f48be023e27bf000080bf63e9753ff49e9a3c992a333e4fe2da3bcecc4c3df004353ff60435bf00000000540c19bf4f0c19bfc3b408bf000080bf63e9753ff49e9a3cb9f5453e9711cd3ccecc4c3df004353ff60435bf00000000530c19bf4e0c19bfc4b408bf000080bfce70733f78fb273cb9f5453e9911cd3c9899193ef004353ff60435bf00000000510c19bf4c0c19bfc5b408bf000080bf136a673f81b5803d992a333e4fe2da3b9899193ef004353ff60435bf00000000520c19bf4c0c19bfc4b408bf000080bfa9e2693fd05d923db9f5453e9711cd3ccecc4c3d564d773ff25384be000000003b1e803e406f6f3f101e80be000080bf79fd183e88e3593dcbcc4c3ecccc4c3dcecc4c3d564d773ff25384be000000003b1e803e406f6f3f1d1e80be000080bf42052b3ee43e4c3dcbcc4c3ececc4c3d9999193e564d773ff25384be00000000381e803e376f6f3f551e80be000080bfcd002b3e00000000b9f5453e9911cd3c9899193e564d773ff25384be00000000371e803e396f6f3f4a1e80be000080bf04f9183ec04a5a3b9899193ecccc4c3dcbcc4c3e0254843e5e754134554d773f554d773f00000000015484be000080bf731a0a3fdaff4c3f992a333ececc4c3db9f5453e0254843e5e754134554d773f554d773f00000000025484be000080bfaac20e3fd5ff4c3f992a333e9899193eb9f5453e0254843e5e754134554d773f554d773f00000000025484be000080bfaac20e3f48f23a3f9999193e9999193ecbcc4c3e0254843e5e754134554d773f554d773f00000000025484be000080bf731a0a3f4ef23a3f992a333ececc4c3db9f5453ef804353f00000000ed04353fed04353f00000000f80435bf000080bfaac20e3fd5ff4c3fb9f5453ececc4c3d982a333ef804353f00000000ed04353fec04353f00000000f90435bf000080bf0cf4123ffeff4c3fb9f5453e9899193e982a333ef804353f00000000ed04353fed04353f00000000f80435bf000080bf0cf4123f72f23a3f992a333e9899193eb9f5453ef804353f00000000ed04353fec04353f00000000f90435bf000080bfaac20e3f48f23a3fb9f5453ececc4c3d982a333e554d773f00000000fa53843efa53843e00000000554d77bf000080bf0cf4123ffeff4c3fcbcc4c3ececc4c3d9999193e554d773f00000000fa53843efa53843e00000000554d77bf000080bfb886153f4a004d3fcbcc4c3e9999193e9999193e554d773f00000000fa53843efa53843e00000000554d77bf000080bfb886153fbef23a3fb9f5453e9899193e982a333e554d773f00000000fa53843efa53843e00000000554d77bf000080bf0cf4123f72f23a3f9899193ecbcc4c3e9999193ef353843e564d773f0000000000000000000000000000803f000080bf49a9ba3ea630203f992a333eb9f5453e9899193ef353843e564d773f0000000000000000000000000000803f000080bf49a9ba3ec7ae1b3f992a333eb9f5453ececc4c3df353843e564d773f0000000000000000000000000000803f000080bf308e963ec7ae1b3f9999193ecbcc4c3ececc4c3df353843e564d773f0000000000000000000000000000803f000080bf308e963ea630203f992a333eb9f5453e9899193ef304353ff304353f0000000000000000000000000000803f000080bf49a9ba3ec7ae1b3fb9f5453e982a333e9899193ef304353ff304353f0000000000000000000000000000803f000080bf49a9ba3e965e183fb9f5453e982a333ececc4c3df304353ff304353f0000000000000000000000000000803f000080bf308e963e965e183f992a333eb9f5453ececc4c3df304353ff304353f0000000000000000000000000000803f000080bf308e963ec7ae1b3fb9f5453e982a333e9899193e554d773ffd53843e00000000441e80be376f6f3f491e803e000080bf179f823ec04a5a3bcbcc4c3e9999193e9999193e554d773ffd53843e00000000441e80be376f6f3f4d1e803e000080bf0037733e00000000cbcc4c3e9999193ecccc4c3d554d773ffd53843e00000000431e80be396f6f3f3b1e803e000080bf753b733ee43e4c3db9f5453e982a333ececc4c3d554d773ffd53843e00000000451e80be396f6f3f381e803e000080bf52a1823e8ce3593d992a333ececc4c3d4fe2da3bf853843e00000000554d77bf000000000000803f00000000000080bf13062b3e42edab3d0ad7233ececc4c3d60562f3bf853843e00000000554d77bf000000000000803f00000000000080bf96052b3e124dbf3d0ad7233e9999193e6b562f3bf853843e00000000554d77bf000000000000803f00000000000080bfc83b733e124dbf3d992a333e9899193e4fe2da3bf853843e00000000554d77bf000000000000803f00000000000080bf443c733e42edab3d992a333e9899193e4fe2da3bf604353f00000000f00435bf000000000000803f00000000000080bf443c733e42edab3db9f5453e9899193e9711cd3cf604353f00000000f00435bf000000000000803f00000000000080bf443c733e0e71863db9f5453ececc4c3d9911cd3cf604353f00000000f00435bf000000000000803f00000000000080bf13062b3e0e71863d992a333ececc4c3d4fe2da3bf604353f00000000f00435bf000000000000803f00000000000080bf13062b3e42edab3db9f5453e9899193e9711cd3c534d773f00000000095484be000000000000803f00000000000080bf443c733e0e71863dcbcc4c3e9999193ecccc4c3d534d773f00000000095484be000000000000803f00000000000080bf753b733ee43e4c3dcbcc4c3ecccc4c3dcecc4c3d534d773f00000000095484be000000000000803f00000000000080bf42052b3ee43e4c3db9f5453ececc4c3d9911cd3c534d773f00000000095484be000000000000803f00000000000080bf13062b3e0e71863d9999193ecbcc4c3ececc4c3d00000000554d773f065484be000000000554843e554d773f000080bf308e963ea630203f9899193eb9f5453e9911cd3c00000000554d773f065484be000000000654843e554d773f000080bf728a8d3ea630203fcfcc4c3db9f5453e9711cd3c00000000554d773f065484be000000000454843e554d773f000080bf728a8d3e323e323fcbcc4c3dcbcc4c3ecccc4c3d00000000554d773f065484be000000000654843e554d773f000080bf308e963e333e323f9899193eb9f5453e9911cd3c00000000f004353ff50435bf00000000f604353ff004353f000080bf728a8d3ea630203f9899193e982a333e4fe2da3b00000000f004353ff50435bf00000000f604353ff004353f000080bf0fea863ea630203fcfcc4c3d982a333e4fe2da3b00000000f004353ff50435bf00000000f604353fef04353f000080bf0fea863e323e323fcfcc4c3db9f5453e9711cd3c00000000f004353ff50435bf00000000f604353ff004353f000080bf728a8d3e323e323f9899193e982a333e4fe2da3b000000000654843e534d77bf5d1e80be366f6f3f4b1e803e000080bf52a1823e8a6cc53d9899193e0ad7233e66562f3b000000000654843e534d77bf5c1e80be366f6f3f4b1e803e000080bff6737a3e6c83c93dcecc4c3d0ad7233e66562f3b000000000654843e534d77bf481e80be376f6f3f4a1e803e000080bf7f6f7a3e6cd1173ecfcc4c3d982a333e4fe2da3b000000000654843e534d77bf4a1e80be376f6f3f4d1e803e000080bf179f823efbc5153ecbcc4c3dcbcc4c3ecccc4c3d0e5484be534d773f0000000000000000000000000000803f000080bf308e963e333e323fa011cd3cb9f5453ececc4c3d0e5484be534d773f0000000000000000000000000000803f000080bf308e963e12c0363f9811cd3cb9f5453e9899193e0e5484be534d773f0000000000000000000000000000803f000080bf49a9ba3e12c0363fcbcc4c3dcbcc4c3e9999193e0e5484be534d773f0000000000000000000000000000803f000080bf49a9ba3e333e323fa011cd3cb9f5453ececc4c3df40435bff304353f86b8d8b32ccd13bf2fcd13bf54cd13bf000080bf16d9653fa43ad93e60e2da3b982a333ececc4c3df40435bff304353f86b8d8b32bcd13bf2ccd13bf58cd13bf000080bfda30683f1c8bd43e40e2da3b982a333e9899193ef40435bff304353f86b8d8b335cd13bf38cd13bf41cd13bf000080bfec6c5b3f4103bb3e9811cd3cb9f5453e9899193ef40435bff304353f86b8d8b337cd13bf3acd13bf3dcd13bf000080bf2815593fc8b2bf3e74562f3b0ad7233ececc4c3d554d77bfff53843eacddddb397583ebe5bdd31bf3ddd31bf000080bff7196a3fe1b8d03e59562f3b0ad7233e9999193e554d77bfff53843eacddddb382583ebe47dd31bf53dd31bf000080bf0a565d3f0531b73e40e2da3b982a333e9899193e554d77bfff53843eacddddb384583ebe4add31bf50dd31bf000080bfec6c5b3f4103bb3e60e2da3b982a333ececc4c3d554d77bfff53843eacddddb399583ebe5bdd31bf3cdd31bf000080bfda30683f1c8bd43ecbcc4c3d9999193ecbcc4c3e025484be567d6534554d773f554d773f000000000254843e000080bfd1f6f13ebef23a3f9811cd3c9899193eb9f5453e025484be567d6534554d773f554d773f000000000254843e000080bff52dea3ef0f23a3fa011cd3ccecc4c3db9f5453e025484be567d6534554d773f554d773f000000000154843e000080bff52dea3e7d004d3fcbcc4c3dcecc4c3dcbcc4c3e025484be567d6534554d773f554d773f000000000254843e000080bfd1f6f13e4a004d3f9811cd3c9899193eb9f5453ef40435bf9cc3e633f304353f34cd13bf46cd13bf34cd13bf000080bf2815593f1694a93e40e2da3b9899193e982a333ef40435bf9cc3e633f304353f36cd13bf43cd13bf36cd13bf000080bfec6c5b3f9d43ae3e60e2da3bcecc4c3d992a333ef40435bf9cc3e633f304353f40cd13bf30cd13bf40cd13bf000080bfd930683fc2bb943ea011cd3ccecc4c3db9f5453ef40435bf9cc3e633f304353f3dcd13bf34cd13bf3dcd13bf000080bf16d9653f3c0c903e40e2da3b9899193e982a333e554d77bf000000000454843e8f583ebe53dd31bf48dd31bf000080bfec6c5b3f9d43ae3e59562f3b9999193e0ad7233e554d77bf000000000454843e8f583ebe53dd31bf48dd31bf000080bf0a565d3fd915b23e6d562f3bcccc4c3d0ad7233e554d77bf000000000454843e91583ebe50dd31bf4add31bf000080bff7196a3ffe8d983e60e2da3bcecc4c3d992a333e554d77bf000000000454843e91583ebe50dd31bf4add31bf000080bfd930683fc2bb943ecfcc4c3d4fe2da3b992a333e00000000554d77bf0454843e95f63bbfd2ac33beaae427bf000080bf4eb5773fbdbe123ececc4c3d60562f3b0ad7233e00000000554d77bf0454843e94f63bbfd3ac33beabe427bf000080bf1b82793f35af0a3e9999193e66562f3b0ad7233e00000000554d77bf0454843e98f63bbfcaac33bea7e427bf000080bf580b6c3f9928b53d9899193e4fe2da3b982a333e00000000554d77bf0454843e9af63bbfcbac33bea6e427bf000080bf8c3e6a3fa947c53d9899193e4fe2da3b982a333ea363ec33fc0435bfea04353f61e51ebff7ed0dbf03ee0dbf000080bf8c3e6a3fa947c53d9899193e9711cd3cb9f5453ea363ec33fc0435bfea04353f62e51ebff6ed0dbf04ee0dbf000080bf8209683f550cd93dcfcc4c3d9911cd3cb9f5453ea363ec33fc0435bfea04353f64e51ebff6ed0dbf02ee0dbf000080bf4480753f13a11c3ecfcc4c3d4fe2da3b992a333ea363ec33fc0435bfea04353f64e51ebff7ed0dbf02ee0dbf000080bf4eb5773fbdbe123e9899193e9711cd3cb9f5453e00000000dc5384be5a4d773f0000803f0000000000000000000080bf577c0a3fd081513f9899193ecccc4c3dcbcc4c3e00000000dc5384be5a4d773f0000803f0000000000000000000080bf731a0a3fdaff4c3fcbcc4c3dcecc4c3dcbcc4c3e00000000dc5384be5a4d773f0000803f0000000000000000000080bfd1f6f13e4a004d3fcfcc4c3d9911cd3cb9f5453e00000000dc5384be5a4d773f0000803f0000000000000000000080bf9abaf23e4082513fcbcc4c3dcbcc4c3e9999193e00000000534d773f1254843e00000000115484be534d773f000080bf49a9ba3e333e323fcbcc4c3db9f5453e982a333e00000000534d773f1254843e00000000115484be534d773f000080bf07adc33e333e323f9899193eb9f5453e982a333e00000000534d773f1254843e00000000115484be534d773f000080bf07adc33ea630203f9899193ecbcc4c3e9999193e00000000534d773f1254843e00000000115484be534d773f000080bf49a9ba3ea630203fcbcc4c3db9f5453e982a333e00000000f304353ff404353f00000000f30435bff204353f000080bf07adc33e333e323fcbcc4c3d982a333eb9f5453e00000000f304353ff404353f00000000f40435bff304353f000080bf6a4dca3e333e323f9899193e982a333eb9f5453e00000000f304353ff404353f00000000f30435bff204353f000080bf6a4dca3ea630203f9899193eb9f5453e982a333e00000000f304353ff404353f00000000f40435bff304353f000080bf07adc33ea630203fcbcc4c3d982a333eb9f5453e000000001054843e534d773f0000803f0000000000000000000080bf9abaf23ef670363fcbcc4c3d9999193ecbcc4c3e000000001054843e534d773f0000803f0000000000000000000080bfd1f6f13ebef23a3f9999193e9999193ecbcc4c3e000000001054843e534d773f0000803f0000000000000000000080bf731a0a3f4ef23a3f9899193e982a333eb9f5453e000000001054843e534d773f0000803f0000000000000000000080bf577c0a3f8670363fcbcc4c3dcbcc4c3e999919be000000000000803f0000000000000000000000000000803f000080bf16d2f93e804e2b3fcbcc4c3dcbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf98f60e3f814e2b3f9899193ecbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf98f60e3ff440193f9999193ecbcc4c3e989919be000000000000803f0000000000000000000000000000803f000080bf16d2f93ef440193fcbcc4c3ececc4c3dcbcc4cbd0000803f0000000005004834000000000000803f00000000000080bf82b7053f00000000cbcc4c3ecccc4c3d989919be0000803f0000000005004834000000000000803f00000000000080bf9fb8053fdf3e4c3dcbcc4c3e9999193e999919be0000803f0000000005004834000000000000803f00000000000080bf2cc6173fe53e4c3dcbcc4c3e9999193ecbcc4cbd0000803f0000000005004834000000000000803f00000000000080bf0ec5173f000000329999193ececc4c3dcbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf9fb8053fdf3ecc3dcbcc4c3dcccc4c3dcbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf81b7053f262f193ecbcc4c3d9999193ecbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf0ec5173f262f193e9899193e9999193ecbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf2cc6173fe13ecc3d0ad7233e60562f3bcecc4cbd31cd813e268c6ebf7af3843e12102abf8b99e03c87383f3f000080bf5479523e90926b3f992a333e4fe2da3bcfcc4cbd31cd813e268c6ebf7af3843e1e102abfc798e03c7a383f3f000080bf22464b3e72966d3f9c15323e2bc0573c80b9d5bc31cd813e268c6ebf7af3843e23c82abffebbd43c9a973e3f000080bfd1a8583e2a52703f0ad7233efd76b43b07d723bd31cd813e268c6ebf7af3843e19682abf5ceeda3cbdeb3e3f000080bf08dc573e6fc66c3f0ad7233e2de7193c5cb0d0bc31cd813e268c6ebf7af3843e827f2bbf77ddc83ce5f53d3f000080bfa4ae5f3ea1856e3f9c15323e7bb9d53c40c057bc23015f3ea8ac30bfbaac303f002645bfbf4f0ebff732a0be000080bfd4514e3fb7f2e63e0ad7233e54b0d03c3ae719bc23015f3ea8ac30bfbaac303ffd2545bfbf4f0ebffc32a0be000080bf9b57503f5237ea3e0ad7233e2de7193c5cb0d0bc23015f3ea8ac30bfbaac303f012645bfbd4f0ebff432a0be000080bf3892513f20a4e43e9c15323e2bc0573c80b9d5bc23015f3ea8ac30bfbaac303f032645bfbb4f0ebfec32a0be000080bf9e4e4f3ffc77e23e992a333ececc4c3d60e2dabb39cd813e8bf384be238c6e3fb95b43bf504a25bf7ddbe23c000080bfde9b4b3fa1aded3e0ad7233ecccc4c3d77562fbb39cd813e8bf384be238c6e3f524143bf2e6a25bf72d9e03c000080bf23b44d3f895ef13e0ad7233e05d7233d1877b4bb39cd813e8bf384be238c6e3f8d4943bf416025bfa079e13c000080bf89c64e3f1272ee3e0ad7233e54b0d03c3ae719bc39cd813e8bf384be238c6e3fc77243bf732e25bfb59ce43c000080bf9b57503f5237ea3e9c15323e7bb9d53c40c057bc39cd813e8bf384be238c6e3f0f8743bfe61525bf2f28e63c000080bfd4514e3fb7f2e63e992a333ececc4c3d60e2dabba7ac303f35015fbebaac303fa0a721bfc0a525bf21c4da3e000080bfde9b4b3fa1aded3e9c15323e7bb9d53c40c057bca7ac303f35015fbebaac303fa8a721bfaea525bf3ec4da3e000080bfd4514e3fb7f2e63ec9503f3e7db9d53c80b9d5bca7ac303f35015fbebaac303fa0a721bfbda525bf25c4da3e000080bfe31a4c3f6d0be33eb9f5453ececc4c3da011cdbca7ac303f35015fbebaac303f98a721bfcca525bf0ec4da3e000080bf9576483f3d22e83ecbcc4c3ececc4c3dcbcc4cbdbd8c6e3fa76083be8e60833e3932b6be0ff401bf0cdf483f000080bf8f88463ff1bae43eb9f5453ececc4c3da011cdbcbd8c6e3fa76083be8e60833ea88db6be0e1104bf1468473f000080bf9576483f3d22e83ec9503f3e7db9d53c80b9d5bcbd8c6e3fa76083be8e60833eb6e8b6be594606bf21d8453f000080bfe31a4c3f6d0be33eb9f5453e9911cd3ccfcc4cbdbd8c6e3fa76083be8e60833ea78db6be0e1104bf1468473f000080bf0b5f4a3f6c7adf3eb9f5453e9911cd3ccfcc4cbdacac303fb1ac30bf73015f3e4e9f1cbfbf94cabe31582f3f000080bffa71423e070f703fc9503f3e7db9d53c80b9d5bcacac303fb1ac30bf73015f3e3a9f1cbf8294cabe53582f3f000080bf9a71523e860f723f9c15323e2bc0573c80b9d5bcacac303fb1ac30bf73015f3e269f1cbf4194cabe78582f3f000080bfd1a8583e2a52703f992a333e4fe2da3bcfcc4cbdacac303fb1ac30bf73015f3e3d9f1cbf8c94cabe4e582f3f000080bf22464b3e72966d3f9c15323e9c15323e40c057bca85e833ec262833eb68c6e3fc1a429bf39b627bf25cbb93e000080bfaead3c3f537f073f9899193e982a333e60e2dabba85e833ec262833eb68c6e3f1da429bfe0b627bf25cbb93e000080bf1ee73f3f9d970a3f9999193e0ad7233e74562fbba85e833ec262833eb68c6e3f2ea429bfcdb627bf25cbb93e000080bf62dc413f6fb7083f672c1d3e0ad7233eb01a70bba85e833ec262833eb68c6e3f42a429bfbab627bf25cbb93e000080bfbf5e413fbf48083ff558203ef558203e62d46dbba85e833ec262833eb68c6e3fc3a429bf38b627bf24cbb93e000080bf6161413f0379073f0ad7233e2b811c3e1cfb63bba85e833ec262833eb68c6e3f62a529bf98b527bf23cbb93e000080bf8265413f8595063f0ad7233e9999193e6d562fbba85e833ec262833eb68c6e3f64a529bf95b527bf24cbb93e000080bffec4413ff33a063f992a333e9899193e60e2dabba85e833ec262833eb68c6e3f62a529bf94b527bf23cbb93e000080bfbaac3f3f7f62043f9899193e982a333e60e2dabb44015f3eb3ac303fadac303f1794e0bedbfd0fbff26c333f000080bf1ee73f3f9d970a3f9c15323e9c15323e40c057bc44015f3eb3ac303fadac303f0c94e0bedffd0fbff46c333f000080bfaead3c3f537f073f9c15323ec7503f3e80b9d5bc44015f3eb3ac303fadac303ffd93e0bee2fd0fbff66c333f000080bff5943a3f15c2083f9899193eb9f5453ea011cdbc44015f3eb3ac303fadac303f0d94e0bedefd0fbff36c333f000080bfc1ec3c3f0f620c3f9899193ecbcc4c3ecbcc4cbda760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bf98f60e3ff440193f9899193eb9f5453ea011cdbca760833eba8c6e3faf60833e21e2ecba13b187be77d8763f000080bf7678133ff440193f9c15323ec7503f3e80b9d5bca760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bfa247133feaef143f992a333eb9f5453ecfcc4cbda760833eba8c6e3faf60833e3cdceb3a142a88becdc7763f000080bf97f60e3f15bf143f992a333eb9f5453ecfcc4cbdaaac303fb2ac303f74015f3e00000000a9139abe2222743f000080bf97f60e3f15bf143f9c15323ec7503f3e80b9d5bcaaac303fb2ac303f74015f3e00000000b9139abe2022743f000080bfa247133feaef143fc9503f3e9c15323e80b9d5bcaaac303fb2ac303f74015f3e00000000ab139abe2222743f000080bfa247133fc39a123fb9f5453e982a333ecfcc4cbdaaac303fb2ac303f74015f3e000000009e139abe2322743f000080bf97f60e3fe46e113fcbcc4c3e9999193ecbcc4cbdba8c6e3fa760833eaa60833e0d5d17bee238c1bedb076a3f000080bf6a993a3f4ed2ff3eb9f5453e982a333ecfcc4cbdba8c6e3fa760833eaa60833e1de116be2adfc1be79ea693f000080bf567a383f760c043fc9503f3e9c15323e80b9d5bcba8c6e3fa760833eaa60833ead5e16beed8dc2be70cb693f000080bfbd763a3fae8b053fb9f5453e9899193ea011cdbcba8c6e3fa760833eaa60833e1de116be29dfc1be79ea693f000080bf71873c3fcd9c013fb9f5453e9899193ea011cdbca7ac303f3e015f3eb9ac303f9c9ff3bed6fb14bf1bd3283f000080bf71873c3fcd9c013fc9503f3e9c15323e80b9d5bca7ac303f3e015f3eb9ac303f9d9ff3bed3fb14bf1bd3283f000080bfbd763a3fae8b053f9c15323e9c15323e40c057bca7ac303f3e015f3eb9ac303fa39ff3becffb14bf1cd3283f000080bfaead3c3f537f073f992a333e9899193e60e2dabba7ac303f3e015f3eb9ac303f9f9ff3bed4fb14bf1bd3283f000080bfbaac3f3f7f62043f9899193e60562f3b0ad723beab60833eba8c6ebfa56083be01f21ebf308ab9be24f3313f000080bf130b1c3e49ff5c3f9899193e4fe2da3b992a33beab60833eba8c6ebfa56083be0df21ebf318ab9be1df3313f000080bf8bfb133e7c325b3f9c15323e2bc0573c9c1532beab60833eba8c6ebfa56083be5cf41ebf4f8ab9be03f1313f000080bfa70c093e288b5e3fd18d1d3e2600773b0ad723beab60833eba8c6ebfa56083be18ef1ebf098ab9becaf5313f000080bf8f2f1a3e60845d3f992a333e4fe2da3b989919beab60833eba8c6ebfa56083bef2f21ebf3c8ab9be4cf2313f000080bf186b153eb88f613fbeb1203ef00d7a3bc0b120beab60833eba8c6ebfa56083be90cd1ebf4d88b9be2914323f000080bf6b5d1a3ea84c5e3f0ad7233e1300773bd08d1dbeab60833eba8c6ebfa56083be27f31ebf408ab9be1cf2313f000080bfee891a3ef5145f3f0ad7233e6b562f3b999919beab60833eba8c6ebfa56083be20f31ebf3f8ab9be21f2313f000080bf499e1c3ed68b5f3f992a333e4fe2da3b989919beadac303fb0ac30bf5d015fbe9d54fdbeed692bbf9bce0d3f000080bf186b153eb88f613f9c15323e2bc0573c9c1532beadac303fb0ac30bf5d015fbe8f54fdbee9692bbfa3ce0d3f000080bfa70c093e288b5e3fc9503f3e7bb9d53c9c1532beadac303fb0ac30bf5d015fbe9a54fdbeed692bbf9bce0d3f000080bf70d5023e8448603fb9f5453e9711cd3c989919beadac303fb0ac30bf5d015fbea354fdbeef692bbf94ce0d3f000080bff0960c3e4d08643fcbcc4c3ecccc4c3d989919bebc8c6e3fac6083bea26083bed35e543e38f2743f248f50be000080bf9fb8053fdf3e4c3db9f5453e9711cd3c989919bebc8c6e3fac6083bea26083be3272533ed2d6743fe17c53be000080bfad36013f87e3593dc9503f3e7bb9d53c9c1532bebc8c6e3fac6083bea26083beca78523e66b9743fe49056be000080bfb467013f26fd8b3db9f5453ececc4c3d992a33bebc8c6e3fac6083bea26083be3072533ed2d6743fe07c53be000080bfd3b8053f0d71863db9f5453ececc4c3d992a33beacac303f70015fbeb0ac30bf51b01d3e03db793f55b01dbe000080bfd3b8053f0d71863dc9503f3e7bb9d53c9c1532beacac303f70015fbeb0ac30bf4ab01d3e03db793f60b01dbe000080bfb467013f26fd8b3d9d15323e7db9d53cc9503fbeacac303f70015fbeb0ac30bf52b01d3e03db793f58b01dbe000080bfb467013f2861a63d992a333ececc4c3db9f545beacac303f70015fbeb0ac30bf56b01d3e03db793f51b01dbe000080bfd3b8053f42edab3d9999193ececc4c3dcbcc4cbea760833e8e6083bebf8c6ebf428f503e39f2743f875e54be000080bf9fb8053fdf3ecc3d992a333ececc4c3db9f545bea760833e8e6083bebf8c6ebfea7c533ed6d6743ff17153be000080bfd3b8053f42edab3d9d15323e7db9d53cc9503fbea760833e8e6083bebf8c6ebfcf90563e6ab9743f917852be000080bfb467013f2861a63d9899193e9911cd3cb9f545bea760833e8e6083bebf8c6ebfea7c533ed6d6743ff17153be000080bfad36013f8a6cc53d9899193e9911cd3cb9f545be31015f3ebeac30bfa3ac30bff789f6be73e730bf77010a3f000080bf34190a3e72fd583f9d15323e7db9d53cc9503fbe31015f3ebeac30bfa3ac30bfe589f6be76e730bf7d010a3f000080bf3817023e5bfd5c3f9c15323e2bc0573c9c1532be31015f3ebeac30bfa3ac30bfcf89f6be77e730bf83010a3f000080bfa70c093e288b5e3f9899193e4fe2da3b992a33be31015f3ebeac30bfa3ac30bfe789f6be74e730bf7b010a3f000080bf8bfb133e7c325b3f9999193ecbcc4c3e989919beb860833eb68c6e3fb26083be00000000a6ed873e3dd0763f000080bf16d2f93ef440193f992a333eb9f5453e989919beb860833eb68c6e3fb26083bec8ddebba172a883ecdc7763f000080bf16d2f93e15bf143f9c15323ec7503f3e9c1532beb860833eb68c6e3fb26083be00000000a5ed873e3fd0763f000080bf0230f13eeaef143f9899193eb9f5453e992a33beb860833eb68c6e3fb26083bef6f1ec3a13b1873e77d8763f000080bf58cef03ef440193f9899193eb9f5453e992a33be3c015f3eb9ac303fa7ac30bf00000000eb04353ffb04353f000080bf58cef03ef440193f9c15323ec7503f3e9c1532be3c015f3eb9ac303fa7ac30bf00000000ea04353ffc04353f000080bf0230f13eeaef143f9c15323e9c15323ec9503fbe3c015f3eb9ac303fa7ac30bf00000000eb04353ffb04353f000080bfb485ec3eeaef143f9899193e982a333eb9f545be3c015f3eb9ac303fa7ac30bf00000000eb04353ffb04353f000080bff52dea3ef440193f9899193e9999193ecbcc4cbeb260833ea660833eba8c6ebf3e8f50be38f2743fb85e543e000080bf2cc6173fe13ecc3d9899193e982a333eb9f545beb260833ea660833eba8c6ebfd77c53bed4d6743f2172533e000080bff7471c3f8c6cc53d9c15323e9c15323ec9503fbeb260833ea660833eba8c6ebfb49056be68b9743fc878523e000080bf54171c3f2c61a63d992a333e9899193eb9f545beb260833ea660833eba8c6ebfd97c53bed4d6743f2672533e000080bf60c6173f43edab3d992a333e9899193eb9f545bea7ac303f3c015f3eb9ac30bf14b01dbe07db793f4db01d3e000080bf60c6173f43edab3d9c15323e9c15323ec9503fbea7ac303f3c015f3eb9ac30bf0eb01dbe07db793f51b01d3e000080bf54171c3f2c61a63dc9503f3e9c15323e9d1532bea7ac303f3c015f3eb9ac30bf12b01dbe07db793f4cb01d3e000080bf54171c3f29fd8b3db9f5453e9899193e992a33bea7ac303f3c015f3eb9ac30bf17b01dbe07db793f49b01d3e000080bf60c6173f0e71863dcbcc4c3e9999193e999919bebc8c6e3faf60833e9d6083bedb5e54be38f2743f298f503e000080bf2cc6173fe53e4c3db9f5453e9899193e992a33bebc8c6e3faf60833e9d6083be367253bed2d6743ff07c533e000080bf60c6173f0e71863dc9503f3e9c15323e9d1532bebc8c6e3faf60833e9d6083becd7852be65b9743ff990563e000080bf54171c3f29fd8b3db9f5453e982a333e989919bebc8c6e3faf60833e9d6083be367253bed2d6743fee7c533e000080bff7471c3f8be3593db9f5453e982a333e989919beacac303fb0ac303f7a015fbe000000009e139a3e2322743f000080bf16d2f93ee46e113fc9503f3e9c15323e9d1532beacac303fb0ac303f7a015fbe00000000ac139a3e2222743f000080bf0230f13ec39a123f9c15323ec7503f3e9c1532beacac303fb0ac303f7a015fbe00000000bc139a3e2022743f000080bf0230f13eeaef143f992a333eb9f5453e989919beacac303fb0ac303f7a015fbe00000000a9139a3e2222743f000080bf16d2f93e15bf143fcbcc4c3dcbcc4c3ecbcc4cbda56083beba8c6e3fb360833e00000000a9ed87be3dd0763f000080bf98f60e3f814e2b3f9811cd3cb9f5453ecfcc4cbda56083beba8c6e3fb360833e59f6ebba1c2a88becdc7763f000080bf97f60e3f60d02f3f78b9d53cc7503f3e80b9d5bca56083beba8c6e3fb360833e00000000a9ed87be3dd0763f000080bfa247133f8b9f2f3fcbcc4c3db9f5453ea011cdbca56083beba8c6e3fb360833ee1e2ec3a15b187be75d8763f000080bf7678133f814e2b3fcbcc4c3db9f5453ea011cdbc41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bf7678133f814e2b3f78b9d53cc7503f3e80b9d5bc41015fbeb1ac303fb0ac303f00000000f20435bff304353f000080bfa247133f8b9f2f3f78b9d53c9c15323e40c057bc41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bfc89c153f8b9f2f3fcbcc4c3d982a333e60e2dabb41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bfa8c8163f814e2b3f78b9d53c9c15323e40c057bc8bf384be39cd813e238c6e3fdb5b45bf6db222bf70bb2bbd000080bf8aab4f3feb39183f54b0d03c0ad7233e3ae719bc8bf384be39cd813e238c6e3f305a44bf24f323bf77ca21bd000080bf3892513ff68d163f06d7233d0ad7233e0e77b4bb8bf384be39cd813e238c6e3f6be145bf4b0a22bfd8ea30bd000080bf2edf4f3fd40e153fcbcc4c3d982a333e60e2dabb8bf384be39cd813e238c6e3f3e5b46bfcd6f21bf83aa35bd000080bf20c04c3fc2e8153fcbcc4c3d0ad7233e74562fbb8bf384be39cd813e238c6e3f485b46bfc06f21bfe9aa35bd000080bf64b54e3f9408143f23e7193c0ad7233e5cb0d0bca6ac30bf34015f3ebcac303f7e94ca3e70582fbf1d9f1c3f000080bfbc8d0a3fae26583f54b0d03c0ad7233e3ae719bca6ac30bf34015f3ebcac303fb494ca3e51582fbf2e9f1c3f000080bfd47c0c3f66fc553f78b9d53c9c15323e40c057bca6ac30bf34015f3ebcac303f9194ca3e63582fbf239f1c3f000080bf26290a3f3ed2543f20c0573c9c15323e80b9d5bca6ac30bf34015f3ebcac303f5594ca3e86582fbf0f9f1c3f000080bf589b083f9a8f563f40e2da3b982a333ecfcc4cbd268c6ebf36cd813e80f3843e99858bbc83cb3ebf08a12a3f000080bfc996053f36a7593f59562f3b0ad7233ececc4cbd268c6ebf36cd813e80f3843ee59086bc01883ebf66ed2a3f000080bfab9a073f02745b3ff376b43b0ad7233e07d723bd268c6ebf36cd813e80f3843e3f7888bcf4a13ebf15d02a3f000080bf8ace083f551b5a3f23e7193c0ad7233e5cb0d0bc268c6ebf36cd813e80f3843e82bc8fbcd3043fbfff5f2a3f000080bfbc8d0a3fae26583f20c0573c9c15323e80b9d5bc268c6ebf36cd813e80f3843eba3193bcc5333fbf8f2a2a3f000080bf589b083f9a8f563f40e2da3b982a333ecfcc4cbdadac30bfb5ac303f24015f3e000000008c139abe2722743f000080bf97f60e3f9120333f20c0573c9c15323e80b9d5bcadac30bfb5ac303f24015f3e000000009a139abe2522743f000080bfa247133fb2f4313f78b9d53cc7503f3e80b9d5bcadac30bfb5ac303f24015f3e00000000ab139abe2222743f000080bfa247133f8b9f2f3f9811cd3cb9f5453ecfcc4cbdadac30bfb5ac303f24015f3e000000009a139abe2522743f000080bf97f60e3f60d02f3f78b9d53c2bc0573c9c1532be81f384be268c6ebf2ecd81bec0292abfb53e93bc7a343f3f000080bfb128503e1ea44a3fcbcc4c3d4fe2da3b992a33be81f384be268c6ebf2ecd81be53ed2abfc29186bc12883e3f000080bf7216443ebabb4d3fcbcc4c3d6b562f3b0ad723be81f384be268c6ebf2ecd81bef3cb2abf78bc88bc9aa53e3f000080bffb254c3e86884f3f54b0d03c2de7193c0ad723be81f384be268c6ebf2ecd81be89ed29bf082397bc3d693f3f000080bf40f2573e323b4c3f04d7233d0677b43b0ad723be81f384be268c6ebf2ecd81bef3ca2abfb0ceb93e968926bf000080bf79f5503ed92f4e3fcbcc4c3d4fe2da3b992a33be36015fbeb8ac30bfa9ac30bfb45516bf77bbf1be464e283f000080bf7216443ebabb4d3f78b9d53c2bc0573c9c1532be36015fbeb8ac30bfa9ac30bfbc5516bf6bbbf1be434e283f000080bfb128503e1ea44a3f78b9d53c7bb9d53cc9503fbe36015fbeb8ac30bfa9ac30bfb55516bf76bbf1be464e283f000080bf4233493e5016493fcbcc4c3d9711cd3cb9f545be36015fbeb8ac30bfa9ac30bfae5516bf81bbf1be494e283f000080bf1c343a3eb0864b3fcbcc4c3dcccc4c3dcbcc4cbeaa6083bea26083bebc8c6ebf6f57ab3e2182613f8260abbe000080bf81b7053f262f193ecbcc4c3d9711cd3cb9f545beaa6083bea26083bebc8c6ebfe178a83ef221623f40eeaabe000080bf8f35013ffbc5153e78b9d53c7bb9d53cc9503fbeaa6083bea26083bebc8c6ebf6e57ab3e2282613f8060abbe000080bf0e66013f56ab1e3e9811cd3ccecc4c3db9f545beaa6083bea26083bebc8c6ebf5134ae3e1ce0603f17d1abbe000080bf27b7053f9f85223e9811cd3ccecc4c3db9f545beb0ac30bf23015fbeb3ac30bfa394cabe52582fbf319f1c3f000080bfaa2d053f83fa7b3f78b9d53c7bb9d53cc9503fbeb0ac30bf23015fbeb3ac30bf9d94cabe56582fbf2e9f1c3f000080bf922d093f02fb7d3f20c0573c7db9d53c9d1532beb0ac30bf23015fbeb3ac30bf9594cabe5b582fbf2c9f1c3f000080bf60bb0a3fa63d7c3f40e2da3bcecc4c3d992a33beb0ac30bf23015fbeb3ac30bf9d94cabe56582fbf2e9f1c3f000080bfb462073fed81793f20c0573c7db9d53c9d1532be288c6ebf7af384be24cd81beadbdd43cab973ebf11c82a3f000080bf60bb0a3fa63d7c3f21e7193c57b0d03c0ad723be288c6ebf7af384be24cd81bea4e4c83c40f63dbf1d7f2b3f000080bfd47c0c3f1c717a3feb76b43b0ad7233d0ad723be288c6ebf7af384be24cd81be98ebda3c8feb3ebf4d682a3f000080bf2e880a3febb1783f40e2da3bcecc4c3d992a33be288c6ebf7af384be24cd81be3a95e03c45383fbf5c102a3f000080bfb462073fed81793f54562f3bcecc4c3d0ad723be288c6ebf7af384be24cd81be8594e03c3c383fbf68102a3f000080bf812f093f0b7e773f78b9d53c2bc0573c9c1532bebaac30bfa7ac30bf33015fbe179f1cbf6594ca3e7d582f3f000080bfb128503e1ea44a3f54b0d03c2de7193c0ad723bebaac30bfa7ac30bf33015fbe1f9f1cbf8094ca3e6d582f3f000080bf40f2573e323b4c3f21e7193c57b0d03c0ad723bebaac30bfa7ac30bf33015fbe2a9f1cbfa294ca3e5a582f3f000080bfa2ae5f3eea104a3f20c0573c7db9d53c9d1532bebaac30bfa7ac30bf33015fbe239f1cbf8c94ca3e66582f3f000080bfe75f563ec2e6483fcbcc4c3dcbcc4c3e999919bea86083beb88c6e3fb16083be00000000b3ed873e3bd0763f000080bf16d2f93e804e2b3fcfcc4c3db9f5453e992a33bea86083beb88c6e3fb16083be7ff6ecba0fb1873e77d8763f000080bf58cef03e804e2b3f80b9d53cc7503f3e9c1532bea86083beb88c6e3fb16083be00000000b3ed873e3bd0763f000080bf0230f13e8a9f2f3fa011cd3cb9f5453e989919bea86083beb88c6e3fb16083be0865ec3a392a883ec9c7763f000080bf16d2f93e60d02f3fa011cd3cb9f5453e989919beb3ac30bfafac303f36015fbe77e730bf63010abf178af63e000080bff22eee3eeee8643f80b9d53cc7503f3e9c1532beb3ac30bfafac303f36015fbe76e730bf60010abf228af63e000080bff42dea3ed6e8683f40c0573c9c15323e9c1532beb3ac30bfafac303f36015fbe76e730bf5c010abf2a8af63e000080bfaca8ed3ea4766a3f60e2da3b982a333e989919beb3ac30bfafac303f36015fbe76e730bf60010abf1f8af63e000080bf1e20f33ef81d673f40c0573c9c15323e9c1532beb88c6ebf0e62833e535f83be578ab9beb6f231bf72f21e3f000080bfaca8ed3ea4766a3f60e2da3b9899193e992a33beb88c6ebf0e62833e535f83be608ab9be38f231bffef21e3f000080bfe4d7f33e337b6d3f77562f3b9999193e0ad723beb88c6ebf0e62833e535f83be628ab9be34f231bf01f31e3f000080bf7c71f73e51776b3fdb078d3b0a7d1f3e0ad723beb88c6ebf0e62833e535f83be608ab9be30f231bf06f31e3f000080bf14e5f53e47c66a3f33d2913bcddf213eccdf21beb88c6ebf0e62833e535f83be598ab9beadf231bf7df21e3f000080bfacbaf53e613c6a3fa9ec933b0ad7233ec73f20beb88c6ebf0e62833e535f83be548ab9be16f331bf09f21e3f000080bf0e98f53e94ca693f74562f3b0ad7233e989919beb88c6ebf0e62833e535f83be528ab9be2df331bfeef11e3f000080bfe227f73ec4ea683f60e2da3b982a333e989919beb88c6ebf0e62833e535f83be508ab9be42f331bfd7f11e3f000080bf1e20f33ef81d673f60e2da3b9899193e992a33beb0ac30bf76015f3eadac30bfef692bbf99ce0dbf9554fd3e000080bfe4d7f33e337b6d3f40c0573c9c15323e9c1532beb0ac30bf76015f3eadac30bff4692bbf8ece0dbfa554fd3e000080bfaca8ed3ea4766a3f80b9d53c9c15323ec9503fbeb0ac30bf76015f3eadac30bff0692bbf98ce0dbf9854fd3e000080bf0f8dea3eff336c3fa011cd3c9899193eb9f545beb0ac30bf76015f3eadac30bfed692bbfa1ce0dbf8b54fd3e000080bfd06def3ec9f36f3fcbcc4c3d9999193ecbcc4cbeb16083bea860833eb88c6ebf5957abbe2482613f8860ab3e000080bf0ec5173f262f193ea011cd3c9899193eb9f545beb16083bea860833eb88c6ebf4a34aebe1ce0603f21d1ab3e000080bfb3c4173f9f85223e80b9d53c9c15323ec9503fbeb16083bea860833eb88c6ebf5857abbe2482613f8960ab3e000080bfae151c3f56ab1e3ecfcc4c3d982a333eb9f545beb16083bea860833eb88c6ebfbc78a8bef921623f45eeaa3e000080bfda461c3ffcc5153ecfcc4c3d982a333eb9f545be39015fbeb6ac303fa9ac30bf00000000ee04353ff704353f000080bff52dea3e804e2b3f80b9d53c9c15323ec9503fbe39015fbeb6ac303fa9ac30bf00000000ec04353ff904353f000080bfb485ec3e8a9f2f3f80b9d53cc7503f3e9c1532be39015fbeb6ac303fa9ac30bf00000000ed04353ffa04353f000080bf0230f13e8a9f2f3fcfcc4c3db9f5453e992a33be39015fbeb6ac303fa9ac30bf00000000ed04353ff804353f000080bf58cef03e804e2b3f992a333e4fe2da3bcfcc4cbdff53843e554d77bf00000000ace427bfcdac33be94f63b3f000080bf22464b3e72966d3f0ad7233e60562f3bcecc4cbdff53843e554d77bf00000000ade427bfceac33be93f63b3f000080bf5479523e90926b3f0ad7233e6b562f3b999919beff53843e554d77bf00000000ace427bfcbac33be94f63b3f000080bf499e1c3ed68b5f3f992a333e4fe2da3b989919beff53843e554d77bf00000000abe427bfcdac33be95f63b3f000080bf186b153eb88f613f992a333e4fe2da3b989919bef004353ff50435bf000000000aee0dbf04ee0dbf51e51e3f000080bf186b153eb88f613fb9f5453e9711cd3c989919bef004353ff50435bf0000000009ee0dbf04ee0dbf52e51e3f000080bff0960c3e4d08643fb9f5453e9911cd3ccfcc4cbdf004353ff50435bf0000000009ee0dbf05ee0dbf52e51e3f000080bffa71423e070f703f992a333e4fe2da3bcfcc4cbdf004353ff50435bf0000000009ee0dbf06ee0dbf52e51e3f000080bf22464b3e72966d3fb9f5453e9711cd3c989919be564d773ff35384be000000003b1e803e3d6f6f3f331e80be000080bfad36013f87e3593dcbcc4c3ecccc4c3d989919be564d773ff35384be000000003c1e803e3d6f6f3f351e80be000080bf9fb8053fdf3e4c3dcbcc4c3ececc4c3dcbcc4cbd564d773ff35384be000000003b1e803e3b6f6f3f3d1e80be000080bf82b7053f00000000b9f5453e9911cd3ccfcc4cbd564d773ff35384be000000003b1e803e3b6f6f3f3c1e80be000080bf9035013fa04a5a3b992a333e9899193e60e2dabb0e54843e00000000534d773f43b639bf250d29bf94be463e000080bfbaac3f3f7f62043f0ad7233e9999193e6d562fbb0e54843e00000000534d773f42b639bf260d29bf92be463e000080bffec4413ff33a063f0ad7233ecccc4c3d77562fbb0e54843e00000000534d773f3bb639bf300d29bf88be463e000080bf23b44d3f895ef13e992a333ececc4c3d60e2dabb0e54843e00000000534d773f3bb639bf300d29bf8abe463e000080bfde9b4b3fa1aded3e992a333ececc4c3d60e2dabbf804353f00000000ed04353f22250ebfa7821ebf2b250e3f000080bfde9b4b3fa1aded3eb9f5453ececc4c3da011cdbcf804353f00000000ed04353f21250ebfa7821ebf2b250e3f000080bf9576483f3d22e83eb9f5453e9899193ea011cdbcf804353f00000000ed04353f22250ebfa7821ebf2b250e3f000080bf71873c3fcd9c013f992a333e9899193e60e2dabbf804353f00000000ed04353f21250ebfa7821ebf2b250e3f000080bfbaac3f3f7f62043fb9f5453ececc4c3da011cdbc554d773f00000000fa53843e79066ebe8ad5dfbee46a5e3f000080bf9576483f3d22e83ecbcc4c3ececc4c3dcbcc4cbd554d773f00000000fa53843e7a066ebe8cd5dfbee46a5e3f000080bf8f88463ff1bae43ecbcc4c3e9999193ecbcc4cbd554d773f00000000fa53843e7c066ebe8ad5dfbee46a5e3f000080bf6a993a3f4ed2ff3eb9f5453e9899193ea011cdbc554d773f00000000fa53843e79066ebe89d5dfbee46a5e3f000080bf71873c3fcd9c013f9899193ecbcc4c3ecbcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf98f60e3ff440193f992a333eb9f5453ecfcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf97f60e3f15bf143f992a333eb9f5453e989919bef353843e564d773f0000000000000000000000000000803f000080bf16d2f93e15bf143f9999193ecbcc4c3e989919bef353843e564d773f0000000000000000000000000000803f000080bf16d2f93ef440193f992a333eb9f5453ecfcc4cbdf404353ff104353f0000000000000000000000000000803f000080bf97f60e3f15bf143fb9f5453e982a333ecfcc4cbdf404353ff104353f0000000000000000000000000000803f000080bf97f60e3fe46e113fb9f5453e982a333e989919bef404353ff104353f0000000000000000000000000000803f000080bf16d2f93ee46e113f992a333eb9f5453e989919bef404353ff104353f0000000000000000000000000000803f000080bf16d2f93e15bf143fb9f5453e982a333ecfcc4cbd554d773ffd53843e00000000441e80be396f6f3f451e803e000080bfda461c3fe04a5a3bcbcc4c3e9999193ecbcc4cbd554d773ffd53843e00000000431e80be376f6f3f481e803e000080bf0ec5173f00000032cbcc4c3e9999193e999919be554d773ffd53843e00000000461e80be3b6f6f3f381e803e000080bf2cc6173fe53e4c3db9f5453e982a333e989919be554d773ffd53843e00000000451e80be3b6f6f3f321e803e000080bff7471c3f8be3593d9899193e9999193ecbcc4cbeed53843e00000000564d77bf000000000000803f00000000000080bf2cc6173fe13ecc3d992a333e9899193eb9f545beed53843e00000000564d77bf000000000000803f00000000000080bf60c6173f43edab3d992a333ececc4c3db9f545beed53843e00000000564d77bf000000000000803f00000000000080bfd3b8053f42edab3d9999193ececc4c3dcbcc4cbeed53843e00000000564d77bf000000000000803f00000000000080bf9fb8053fdf3ecc3d992a333e9899193eb9f545bef804353f00000000ed0435bf000000000000803f00000000000080bf60c6173f43edab3db9f5453e9899193e992a33bef804353f00000000ed0435bf000000000000803f00000000000080bf60c6173f0e71863db9f5453ececc4c3d992a33bef804353f00000000ed0435bf000000000000803f00000000000080bfd3b8053f0d71863d992a333ececc4c3db9f545bef804353f00000000ed0435bf000000000000803f00000000000080bfd3b8053f42edab3db9f5453e9899193e992a33be534d773f00000000095484be000000000000803f00000000000080bf60c6173f0e71863dcbcc4c3e9999193e999919be534d773f00000000095484be000000000000803f00000000000080bf2cc6173fe53e4c3dcbcc4c3ecccc4c3d989919be534d773f00000000095484be000000000000803f00000000000080bf9fb8053fdf3e4c3db9f5453ececc4c3d992a33be534d773f00000000095484be000000000000803f00000000000080bfd3b8053f0d71863d9899193e60562f3b0ad723be00000000554d77bf065484be133e27bf885f48beef3b3b3f000080bf130b1c3e49ff5c3fcbcc4c3d6b562f3b0ad723be00000000554d77bf065484bede3d27bfb75f48be1b3c3b3f000080bffb254c3e86884f3fcbcc4c3d4fe2da3b992a33be00000000554d77bf065484bee33d27bfb45f48be173c3b3f000080bf7216443ebabb4d3f9899193e4fe2da3b992a33be00000000554d77bf065484be193e27bf855f48beea3b3b3f000080bf8bfb133e7c325b3fcbcc4c3d4fe2da3b992a33be00000000f50435bff10435bfd0b408bf480c19bf4d0c193f000080bf7216443ebabb4d3fcbcc4c3d9711cd3cb9f545be00000000f50435bff10435bfd0b408bf470c19bf4c0c193f000080bf1c343a3eb0864b3f9899193e9911cd3cb9f545be00000000f50435bff10435bfd0b408bf480c19bf4c0c193f000080bf34190a3e72fd583f9899193e4fe2da3b992a33be00000000f50435bff10435bfd2b408bf480c19bf4c0c193f000080bf8bfb133e7c325b3fcbcc4c3d9711cd3cb9f545be00000000f35384be564d77bf5b1e803e376f6f3f391e80be000080bf8f35013ffbc5153ecbcc4c3dcccc4c3dcbcc4cbe00000000f35384be564d77bf5b1e803e376f6f3f391e80be000080bf81b7053f262f193e9999193ececc4c3dcbcc4cbe00000000f35384be564d77bf5c1e803e376f6f3f391e80be000080bf9fb8053fdf3ecc3d9899193e9911cd3cb9f545be00000000f35384be564d77bf5c1e803e376f6f3f391e80be000080bfad36013f8a6cc53d9999193ecbcc4c3e989919be5e7541b4554d773f025484be000000000254843e554d773f000080bf16d2f93ef440193f9899193eb9f5453e992a33be5e7541b4554d773f025484be000000000054843e554d773f000080bf58cef03ef440193fcfcc4c3db9f5453e992a33be5e7541b4554d773f025484be000000000354843e554d773f000080bf58cef03e804e2b3fcbcc4c3dcbcc4c3e999919be5e7541b4554d773f025484be000000000354843e554d773f000080bf16d2f93e804e2b3f9899193eb9f5453e992a33be00000000f404353ff10435bf00000000f304353ff404353f000080bf58cef03ef440193f9899193e982a333eb9f545be00000000f404353ff10435bf00000000f304353ff404353f000080bff52dea3ef440193fcfcc4c3d982a333eb9f545be00000000f404353ff10435bf00000000f304353ff404353f000080bff52dea3e804e2b3fcfcc4c3db9f5453e992a33be00000000f404353ff10435bf00000000f304353ff404353f000080bf58cef03e804e2b3f9899193e982a333eb9f545be00000000e353843e584d77bf4c1e80be3b6f6f3f2a1e803e000080bff7471c3f8c6cc53d9899193e9999193ecbcc4cbe00000000e353843e584d77bf471e80be3b6f6f3f2a1e803e000080bf2cc6173fe13ecc3dcbcc4c3d9999193ecbcc4cbe00000000e353843e584d77bf2f1e80be3e6f6f3f2c1e803e000080bf0ec5173f262f193ecfcc4c3d982a333eb9f545be00000000e353843e584d77bf341e80be3e6f6f3f2b1e803e000080bfda461c3ffcc5153e54562f3bcecc4c3d0ad723be554d77bf635b2134fe5384bed1ac33be93f63bbfade4273f000080bf812f093f0b7e773f77562f3b9999193e0ad723be554d77bf635b2134fe5384bed6ac33be8ff63bbfb1e4273f000080bf7c71f73e51776b3f60e2da3b9899193e992a33be554d77bf635b2134fe5384bed7ac33be8ff63bbfb2e4273f000080bfe4d7f33e337b6d3f40e2da3bcecc4c3d992a33be554d77bf635b2134fe5384bed3ac33be93f63bbfaee4273f000080bfb462073fed81793f60e2da3b9899193e992a33bef40435bfeb320434f10435bff2ed0dbf79e51ebff2ed0d3f000080bfe4d7f33e337b6d3fa011cd3c9899193eb9f545bef40435bfeb320434f10435bff2ed0dbf79e51ebff2ed0d3f000080bfd06def3ec9f36f3f9811cd3ccecc4c3db9f545bef40435bfeb320434f10435bff2ed0dbf78e51ebff2ed0d3f000080bfaa2d053f83fa7b3f40e2da3bcecc4c3d992a33bef40435bfeb320434f10435bff2ed0dbf79e51ebff2ed0d3f000080bfb462073fed81793fa011cd3c9899193eb9f545bef75384be00000000564d77bf000000000000803f00000000000080bfb3c4173f9f85223ecbcc4c3d9999193ecbcc4cbef75384be00000000564d77bf000000000000803f00000000000080bf0ec5173f262f193ecbcc4c3dcccc4c3dcbcc4cbef75384be00000000564d77bf000000000000803f00000000000080bf81b7053f262f193e9811cd3ccecc4c3db9f545bef75384be00000000564d77bf000000000000803f00000000000080bf27b7053f9f85223ecbcc4c3dcbcc4c3e999919bef75384be564d773f0000000000000000000000000000803f000080bf16d2f93e804e2b3fa011cd3cb9f5453e989919bef75384be564d773f0000000000000000000000000000803f000080bf16d2f93e60d02f3f9811cd3cb9f5453ecfcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf97f60e3f60d02f3fcbcc4c3dcbcc4c3ecbcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf98f60e3f814e2b3fa011cd3cb9f5453e989919bef40435bff304353f86b8d8b34d0c19bf4d0c19bfcab4083f000080bff22eee3eeee8643f60e2da3b982a333e989919bef40435bff304353f86b8d8b34d0c19bf4d0c19bfcbb4083f000080bf1e20f33ef81d673f40e2da3b982a333ecfcc4cbdf40435bff304353f86b8d8b34d0c19bf4b0c19bfccb4083f000080bfc996053f36a7593f9811cd3cb9f5453ecfcc4cbdf40435bff304353f86b8d8b34d0c19bf4b0c19bfcbb4083f000080bf331e033f2c72573f74562f3b0ad7233e989919be554d77bf0654843eb7ddddb3b25f48be113c3bbfeb3d273f000080bfe227f73ec4ea683f59562f3b0ad7233ececc4cbd554d77bf0654843eb7ddddb3ac5f48be0a3c3bbff23d273f000080bfab9a073f02745b3f40e2da3b982a333ecfcc4cbd554d77bf0654843eb7ddddb3ad5f48be0b3c3bbff13d273f000080bfc996053f36a7593f60e2da3b982a333e989919be554d77bf0654843eb7ddddb3b55f48be123c3bbfea3d273f000080bf1e20f33ef81d673fcbcc4c3dcbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000e5484be534d773f000080bf98f60e3f814e2b3fcbcc4c3db9f5453ea011cdbc00000000534d773f0e54843e000000000f5484be534d773f000080bf7678133f814e2b3f9899193eb9f5453ea011cdbc00000000534d773f0e54843e000000000e5484be534d773f000080bf7678133ff440193f9899193ecbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000f5484be534d773f000080bf98f60e3ff440193fcbcc4c3db9f5453ea011cdbc00000000f104353ff404353f00000000f30435bff204353f000080bf7678133f814e2b3fcbcc4c3d982a333e60e2dabb00000000f104353ff404353f00000000f40435bff304353f000080bfa8c8163f814e2b3f9899193e982a333e60e2dabb00000000f104353ff404353f00000000f30435bff204353f000080bfa8c8163ff440193f9899193eb9f5453ea011cdbc00000000f104353ff404353f00000000f40435bff304353f000080bf7678133ff440193fcbcc4c3d0ad7233e74562fbb000000001054843e534d773f6a033bbf55e128bf49bb343e000080bf64b54e3f9408143f9999193e0ad7233e74562fbb000000001054843e534d773f66033bbf5ae128bf4ebb343e000080bf62dc413f6fb7083f9899193e982a333e60e2dabb000000001054843e534d773f66033bbf59e128bf4cbb343e000080bf1ee73f3f9d970a3fcbcc4c3d982a333e60e2dabb000000001054843e534d773f69033bbf55e128bf47bb343e000080bf20c04c3fc2e8153fcbcc4cbececc4c3d999919be000080bf00000000040048b4000000000000803f00000000000080bffdaf1c3e26072f3fcbcc4cbecccc4c3dcbcc4cbd000080bf00000000040048b4000000000000803f00000000000080bffcaf1c3eb314413fcbcc4cbe9999193ecbcc4cbd000080bf00000000040048b4000000000000803f00000000000080bf2ee6643eb314413fcbcc4cbe9999193e989919be000080bf00000000040048b4000000000000803f00000000000080bf2ee6643e26072f3f999919becbcc4c3e999919be000000000000803f0000000000000000000000000000803f000080bfb89a1e3fc858bf3e999919becbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf44a8303fc858bf3ececc4cbdcbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf45a8303faf3d9b3ecccc4cbdcbcc4c3e989919be000000000000803f0000000000000000000000000000803f000080bfb89a1e3faf3d9b3ecccc4cbdcecc4c3dcbcc4cbe0000000003004834000080bf000000000000803f00000000000080bf42052b3e262f993e999919becccc4c3dcbcc4cbe0000000003004834000080bf000000000000803f00000000000080bfcc002b3e01b7b23e999919be9999193ecbcc4cbe0000000003004834000080bf000000000000803f00000000000080bffd36733e01b7b23ececc4cbd9999193ecbcc4cbe0000000003004834000080bf000000000000803f00000000000080bf743b733e262f993e7cb9d5bc9c15323e40c057bc8af3843e3bcd813e238c6e3f9064293fb6e03fbfe5f89f3c000080bfdb287a3f3414e83ececc4cbd982a333e60e2dabb8af3843e3bcd813e238c6e3fee9f293f08ad3fbf78259c3c000080bf3b29773f0ab5ee3ecccc4cbd0ad7233e74562fbb8af3843e3bcd813e238c6e3fd39f293f1ead3fbf26279c3c000080bff917793fd882f23e07d723bd0ad7233e0e77b4bb8af3843e3bcd813e238c6e3f5783293fefc53fbf3bfd9d3c000080bf684a7a3f6ea0ef3e54b0d0bc0ad7233e3ae719bc8af3843e3bcd813e238c6e3f3529293f3d1440bfcacaa33c000080bf61057c3ffe74eb3ececc4cbd982a333e60e2dabb40015f3eb0ac303fb1ac303f8fd32c3f3bff1dbf8debce3e000080bf3b29773f0ab5ee3e7cb9d5bc9c15323e40c057bc40015f3eb0ac303fb1ac303f90d32c3f3aff1dbf8eebce3e000080bfdb287a3f3414e83e7db9d5bcc7503f3e80b9d5bc40015f3eb0ac303fb1ac303f91d32c3f3bff1dbf8debce3e000080bf6ed6783f3df6e33ececc4cbdb9f5453ea011cdbc40015f3eb0ac303fb1ac303f8fd32c3f3bff1dbf8debce3e000080bf8748753ffedbe83ececc4cbdcbcc4c3ecbcc4cbda960833eb88c6e3fb460833e00000000aaed87be3dd0763f000080bf45a8303faf3d9b3ececc4cbdb9f5453ea011cdbca960833eb88c6e3fb460833e8be3ecba16b187be75d8763f000080bf242a353faf3d9b3e7db9d5bcc7503f3e80b9d5bca960833eb88c6e3fb460833e00000000aaed87be3dd0763f000080bf4ef9343f9b9b923e9911cdbcb9f5453ecfcc4cbda960833eb88c6e3fb460833e8eedeb3a1d2a88becdc7763f000080bf44a8303ff139923e9911cdbcb9f5453ecfcc4cbdafac303fb3ac303f32015f3e00000000af139abe2222743f000080bf44a8303ff139923e7db9d5bcc7503f3e80b9d5bcafac303fb3ac303f32015f3e00000000ad139abe2222743f000080bf4ef9343f9b9b923e2bc057bc9c15323e80b9d5bcafac303fb3ac303f32015f3e00000000ae139abe2222743f000080bf4ef9343f4df18d3e4fe2dabb982a333ecfcc4cbdafac303fb3ac303f32015f3e00000000af139abe2222743f000080bf44a8303f8e998b3e2bc057bc9c15323e80b9d5bc248c6e3f38cd813e7ef3843e7ac6b93e6f082abf735227bf000080bf960b7c3f5f89e33e2de719bc0ad7233e5cb0d0bc248c6e3f38cd813e7ef3843e63c6b93ee60c2abff24d27bf000080bf2b5e7e3fc2cde53efd76b4bb0ad7233e07d723bd248c6e3f38cd813e7ef3843e86c6b93e24062abfc85427bf000080bf0a537f3f4180e33e66562fbb0ad7233ececc4cbd248c6e3f38cd813e7ef3843e8ec6b93efb032abff45627bf000080bf0000803fdadfe13e4fe2dabb982a333ecfcc4cbd248c6e3f38cd813e7ef3843e90c6b93ef7032abff95627bf000080bfa97b7d3f6c7adf3e7cb9d5bc9c15323e40c057bca2ac303f4b015f3ebcac303f25a10f3f4f6b43bf03eda3be000080bfdb287a3f3414e83e54b0d0bc0ad7233e3ae719bca2ac303f4b015f3ebcac303f1fa10f3f586b43bff1eca3be000080bf61057c3ffe74eb3e2de719bc0ad7233e5cb0d0bca2ac303f4b015f3ebcac303f16a10f3f636b43bfd9eca3be000080bf2b5e7e3fc2cde53e2bc057bc9c15323e80b9d5bca2ac303f4b015f3ebcac303f1ba10f3f5c6b43bfe7eca3be000080bf960b7c3f5f89e33ececc4cbd60562f3b0ad723be81f3843e268c6ebf2ecd81be130a353fd4849a3bccfe343f000080bf5a66ad3eed9f5c3fcecc4cbd4fe2da3b992a33be81f3843e268c6ebf2ecd81be7368353f9896b43bd39f343f000080bf1e94a93e0b895e3f7db9d5bc2bc0573c9c1532be81f3843e268c6ebf2ecd81be93b2343f2b67823b7456353f000080bff0f3af3ee473613f57b0d0bc2de7193c0ad723be81f3843e268c6ebf2ecd81be4a51343f794d4f3b76b7353f000080bf4aa9b33e65c15f3f09d723bdfd76b43b0ad723be81f3843e268c6ebf2ecd81be0000803f0000000000000000000080bff0f3af3eb8e65d3f2de719bc54b0d03c0ad723beaeac303fb4ac30bf32015fbebcf0223f240cdf3e36f0223f000080bf56c4b73eeace613f57b0d0bc2de7193c0ad723beaeac303fb4ac30bf32015fbe8bf0223f800bdf3ea0f0223f000080bf4aa9b33e65c15f3f7db9d5bc2bc0573c9c1532beaeac303fb4ac30bf32015fbe65f0223f020bdf3ef0f0223f000080bff0f3af3ee473613f2bc057bc7bb9d53c9c1532beaeac303fb4ac30bf32015fbe9ef0223fbf0bdf3e78f0223f000080bf7140b33e251a633f0677b4bb05d7233d0ad723be288c6e3f77f384be2bcd81befe21563e2a84743f87bc56be000080bfd6cc233ed59c833e2de719bc54b0d03c0ad723be288c6e3f77f384be2bcd81be9b44583e62c4743f82ea4fbe000080bf7d4f193ed29a843e2bc057bc7bb9d53c9c1532be288c6e3f77f384be2bcd81bec9dd563e8b9a743ff26554be000080bf94c1193eb81e893e4fe2dabbcecc4c3d992a33be288c6e3f77f384be2bcd81beb475553e5a6f743f86e058be000080bf13062b3eb2bb873e6b562fbbcccc4c3d0ad723be288c6e3f77f384be2bcd81be8475553e556f743f1ce158be000080bf96052b3ebde3823e4fe2dabbcecc4c3d992a33beb1ac303f5a015fbeaeac30bf35b01d3e05db793f52b01dbe000080bf13062b3eb2bb873e2bc057bc7bb9d53c9c1532beb1ac303f5a015fbeaeac30bf49b01d3e05db793f3fb01dbe000080bf94c1193eb81e893e7bb9d5bc7db9d53cc9503fbeb1ac303f5a015fbeaeac30bf3ab01d3e05db793f51b01dbe000080bf94c1193eb9b78f3e9711cdbccecc4c3db9f545beb1ac303f5a015fbeaeac30bf29b01d3e05db793f60b01dbe000080bf13062b3ebf1a913ecccc4cbdcecc4c3dcbcc4cbea660833ea46083bebc8c6ebf2b8f503e38f2743fbe5e54be000080bf42052b3e262f993e9711cdbccecc4c3db9f545bea660833ea46083bebc8c6ebfcf7c533ed4d6743f287253be000080bf13062b3ebf1a913e7bb9d5bc7db9d53cc9503fbea660833ea46083bebc8c6ebfb190563e68b9743fca7852be000080bf94c1193eb9b78f3ececc4cbd9911cd3cb9f545bea660833ea46083bebc8c6ebfcc7c533ed4d6743f267253be000080bf79fd183e917a973ececc4cbd9911cd3cb9f545be40015f3eb4ac30bfaeac30bf7df0223faf0bdfbe9cf0223f000080bf98e4a43ecee0603f7bb9d5bc7db9d53cc9503fbe40015f3eb4ac30bfaeac30bfaef0223f650bdfbe85f0223f000080bf70a7ac3e251a633f7db9d5bc2bc0573c9c1532be40015f3eb4ac30bfaeac30bfe0f0223f170bdfbe6cf0223f000080bff0f3af3ee473613fcecc4cbd4fe2da3b992a33be40015f3eb4ac30bfaeac30bfa7f0223f700bdfbe88f0223f000080bf1e94a93e0b895e3fcccc4cbdcbcc4c3e989919bebb60833eb68c6e3fb46083be00000000a9ed873e3dd0763f000080bfb89a1e3faf3d9b3e9711cdbcb9f5453e989919bebb60833eb68c6e3fb46083be50eaebba1f2a883ecdc7763f000080bfb89a1e3ff139923e7cb9d5bcc7503f3e9c1532bebb60833eb68c6e3fb46083be00000000aaed873e3dd0763f000080bfae491a3f9b9b923ececc4cbdb9f5453e992a33bebb60833eb68c6e3fb46083bef3ecec3a16b1873e75d8763f000080bfd9181a3faf3d9b3ececc4cbdb9f5453e992a33be31015f3ebcac303fa5ac30bf00000000e804353ffe04353f000080bfd9181a3faf3d9b3e7cb9d5bcc7503f3e9c1532be31015f3ebcac303fa5ac30bf00000000e704353ffe04353f000080bfae491a3f9b9b923e7db9d5bc9c15323ec9503fbe31015f3ebcac303fa5ac30bf00000000e804353ffd04353f000080bf87f4173f9b9b923ececc4cbd982a333eb9f545be31015f3ebcac303fa5ac30bf00000000e804353ffd04353f000080bfa8c8163faf3d9b3ececc4cbd9999193ecbcc4cbeb260833e8e60833ebd8c6ebfa38e50be41f2743fb95e543e000080bf743b733e262f993ececc4cbd982a333eb9f545beb260833e8e60833ebd8c6ebf777c53bedbd6743f1472533e000080bf52a1823e927a973e7db9d5bc9c15323ec9503fbeb260833e8e60833ebd8c6ebf8e9056be6eb9743fa578523e000080bf0b40823eb9b78f3e9911cdbc9899193eb9f545beb260833e8e60833ebd8c6ebf767c53bedbd6743f1472533e000080bf443c733ebf1a913e9911cdbc9899193eb9f545beacac303f5d015f3eb2ac30bf47b01dbe05db793f49b01d3e000080bf443c733ebf1a913e7db9d5bc9c15323ec9503fbeacac303f5d015f3eb2ac30bf21b01dbe05db793f6cb01d3e000080bf0b40823eb9b78f3e2bc057bc9c15323e9d1532beacac303f5d015f3eb2ac30bf42b01dbe05db793f4db01d3e000080bf0b40823eb81e893e4fe2dabb9899193e992a33beacac303f5d015f3eb2ac30bf61b01dbe05db793f2fb01d3e000080bf443c733eb2bb873e4fe2dabb982a333e989919beba8c6e3f5162833efe5e83be0edf54be3200753f3a044f3e000080bf52a1823ee05b813e66562fbb0ad7233e999919beba8c6e3f5162833efe5e83be09df54be3200753f4b044f3e000080bff6737a3e2856803e9e7289bb0ad7233ed4171fbeba8c6e3f5162833efe5e83beebdd54be1100753fdf074f3e000080bf20747a3e0d18823e2bc057bc9c15323e9d1532beba8c6e3f5162833efe5e83be2a7753bebed6743f6c79533e000080bf0b40823eb81e893e24678bbbcde5223ef83220beba8c6e3f5162833efe5e83be39de54be1a00753fdf064f3e000080bf0dca793e8a62823e6fe889bbdb6c213edb6c21beba8c6e3f5162833efe5e83becb6153be3ed4743f0cbd533e000080bf4ac0783ed2ad823e606284bbca881e3e0ad723beba8c6e3f5162833efe5e83bec50d52beecab743f99ee573e000080bf83b6763eee3c833e60562fbb9999193e0ad723beba8c6e3f5162833efe5e83be190e52bef6ab743f99ed573e000080bfc83b733ebde3823e4fe2dabb9899193e992a33beba8c6e3f5162833efe5e83be500e52befdab743fe0ec573e000080bf443c733eb2bb873e4fe2dabb982a333e989919beacac303fb5ac303f33015fbe00000000aa139a3e2222743f000080bfb89a1e3f8e998b3e2bc057bc9c15323e9d1532beacac303fb5ac303f33015fbe00000000ab139a3e2222743f000080bfae491a3f4df18d3e7cb9d5bcc7503f3e9c1532beacac303fb5ac303f33015fbe00000000aa139a3e2222743f000080bfae491a3f9b9b923e9711cdbcb9f5453e989919beacac303fb5ac303f33015fbe00000000aa139a3e2222743f000080bfb89a1e3ff139923e9c1532be2bc0573c78b9d5bc33cd81be288c6ebf74f3843e9c4d353fe1d2843b6abb343f000080bff0f3af3e83b63b3f982a33be4fe2da3bcbcc4cbd33cd81be288c6ebf74f3843ee59f343f428eb43b6268353f000080bf1e94a93e5da13e3f0ad723be66562f3bcbcc4cbd33cd81be288c6ebf74f3843ede9f343f2e90b43b6968353f000080bf5a66ad3e7b8a403f0ad723befd76b43b06d723bd33cd81be288c6ebf74f3843e01f3343f58bf9d3bd215353f000080bff0f3af3eb0433f3f0ad723be2de7193c54b0d0bc33cd81be288c6ebf74f3843e9dfa353f0d292a3baa0d343f000080bf4aa9b33e03693d3f982a33be4fe2da3bcbcc4cbdb1ac30bfb2ac30bf26015f3e97f0223fba0bdfbe80f0223f000080bf1e94a93e5da13e3f9c1532be2bc0573c78b9d5bcb1ac30bfb2ac30bf26015f3e93f0223fb00bdfbe88f0223f000080bff0f3af3e83b63b3fc7503fbe7bb9d53c78b9d5bcb1ac30bfb2ac30bf26015f3e97f0223fb70bdfbe81f0223f000080bf70a7ac3e43103a3fb9f545be9711cd3ccbcc4cbdb1ac30bfb2ac30bf26015f3e99f0223fc00bdfbe7af0223f000080bf98e4a43e9a493c3fcbcc4cbecccc4c3dcbcc4cbdb68c6ebfaa6083beb960833eb2ed87be3bd0763f00000000000080bffcaf1c3eb314413fb9f545be9711cd3ccbcc4cbdb68c6ebfaa6083beb960833e2db187be74d8763f7875ec3a000080bf80a80a3eb214413fc7503fbe7bb9d53c78b9d5bcb68c6ebfaa6083beb960833eb1ed87be3dd0763f00000000000080bfd46b0b3ebd65453fb9f545bececc4c3d9811cdbcb68c6ebfaa6083beb960833e182a88becdc7763f06f7ebba000080bffcaf1c3e9296453fb9f545bececc4c3d9811cdbcb9ac30bf28015fbea8ac303f9a139abe2522743f00000000000080bffcaf1c3e9296453fc7503fbe7bb9d53c78b9d5bcb9ac30bf28015fbea8ac303fa9139abe2222743f00000000000080bfd46b0b3ebd65453f9c1532be7db9d53c20c057bcb9ac30bf28015fbea8ac303f9a139abe2522743f00000000000080bfd46b0b3ee4ba473f982a33bececc4c3d40e2dabbb9ac30bf28015fbea8ac303f8c139abe2722743f00000000000080bffcaf1c3ec3e6483f0ad723bececc4c3d59562fbb25cd81be74f384be288c6e3f718c263f5c3742bf1af40cbd000080bfe4587c3f796e143f982a33bececc4c3d40e2dabb25cd81be74f384be288c6e3f7713263f0c9c42bf97c310bd000080bf7bdb7a3f2f3a163f9c1532be7db9d53c20c057bc25cd81be74f384be288c6e3ff372273ff17541bf42aa05bd000080bf28887e3f308f183f0ad723be57b0d03c23e719bc25cd81be74f384be288c6e3fbe05283fa9f940bf280101bd000080bf0000803facf6163f0ad723be09d7233df376b4bb25cd81be74f384be288c6e3f74aca0be4d9d63bf4e92aabe000080bf0bd77d3fba75153f0ad723be2de7193c54b0d0bc21015fbeaeac30bfb4ac303f84f0223fbc0bdf3e91f0223f000080bf4aa9b33e03693d3f0ad723be57b0d03c23e719bc21015fbeaeac30bfb4ac303f9ef0223f940bdf3e86f0223f000080bf56c4b73e7d5b3b3f9c1532be7db9d53c20c057bc21015fbeaeac30bfb4ac303f8ef0223fac0bdf3e8ef0223f000080bf7040b33e43103a3f9c1532be2bc0573c78b9d5bc21015fbeaeac30bfb4ac303f71f0223fd90bdf3e9bf0223f000080bff0f3af3e83b63b3f999919becbcc4c3ecbcc4cbda56083beb88c6e3fb760833e00000000aded87be3dd0763f000080bf44a8303fc858bf3e992a33beb9f5453ecfcc4cbda56083beb88c6e3fb760833ed0f4ebba212a88becdc7763f000080bf44a8303f865cc83e9d1532bec7503f3e80b9d5bca56083beb88c6e3fb760833e00000000aced87be3dd0763f000080bf4ef9343fdcfac73e999919beb9f5453ea011cdbca56083beb88c6e3fb760833e4ae4ec3a18b187be75d8763f000080bf242a353fc858bf3e999919beb9f5453ea011cdbc41015fbeb1ac303fb0ac303f00000000f20435bff304353f000080bf242a353fc858bf3e9d1532bec7503f3e80b9d5bc41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bf4ef9343fdcfac73e9d1532be9c15323e40c057bc41015fbeb1ac303fb0ac303f00000000f20435bff304353f000080bf764e373fdcfac73e999919be982a333e60e2dabb41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bf557a383fc858bf3e27731ebe0ad7233e639e83bb736283beee5e833eb88c6e3f80ee2d3f544823bf4cb7b93e000080bffcb06d3ffefe063f999919be0ad7233e74562fbb736283beee5e833eb88c6e3f77ef2d3f4f4723bf44b7b93e000080bffc286e3f5c6e063f999919be982a333e60e2dabb736283beee5e833eb88c6e3f8ced2d3f554923bf53b7b93e000080bf3e3a6c3f7587043f235b21be235b213e37b088bb736283beee5e833eb88c6e3fd1512c3f95f824bf10c2b93e000080bf44b96d3f94a4073f0ad723bec33d1f3e6eca8abb736283beee5e833eb88c6e3fd3c02d3f877823bfb0b8b93e000080bf69bf6d3fa232083f9d1532be9c15323e40c057bc736283beee5e833eb88c6e3fe6fb2d3f2b3a23bfe0b6b93e000080bf5cff693f0584073f0ad723be9999193e6d562fbb736283beee5e833eb88c6e3f34e82d3ff94e23bf7db7b93e000080bfb4746e3fd2e6083f992a33be9899193e60e2dabb736283beee5e833eb88c6e3f30e82d3ffd4e23bf7eb7b93e000080bf4bf76c3f88b20a3f992a33be9899193e60e2dabbb0ac30bf2a015f3eb3ac303f83139a3e2922743f00000000000080bf2ee6643ec3e6483f9d1532be9c15323e40c057bcb0ac30bf2a015f3eb3ac303fbb139a3e2022743f00000000000080bf562a763ee4ba473fca503fbe9c15323e80b9d5bcb0ac30bf2a015f3eb3ac303ff9139a3e1722743f00000000000080bf562a763ebc65453fb9f545be9899193ea011cdbcb0ac30bf2a015f3eb3ac303fb3139a3e2022743f00000000000080bf2ee6643e9296453fcbcc4cbe9999193ecbcc4cbdbc8c6ebfa060833ea760833eafed873e3dd0763f00000000000080bf2ee6643eb314413fb9f545be9899193ea011cdbcbc8c6ebfa060833ea760833e252a883ecbc7763f6e5dec3a000080bf2ee6643e9296453fca503fbe9c15323e80b9d5bcbc8c6ebfa060833ea760833eafed873e3dd0763f00000000000080bf562a763ebc65453fb9f545be982a333ecfcc4cbdbc8c6ebfa060833ea760833e1ab1873e75d8763f6e82ecba000080bfaaed763eb214413fb9f545be982a333ecfcc4cbdadac30bfb5ac303f21015f3e00000000af139abe2222743f000080bf44a8303fe9fcce3eca503fbe9c15323e80b9d5bcadac30bfb5ac303f21015f3e00000000ac139abe2222743f000080bf4ef9343f2aa5cc3e9d1532bec7503f3e80b9d5bcadac30bfb5ac303f21015f3e00000000a8139abe2222743f000080bf4ef9343fdcfac73e992a33beb9f5453ecfcc4cbdadac30bfb5ac303f21015f3e00000000ad139abe2222743f000080bf44a8303f865cc83e0ad723be0f48753b89751dbeab6083beba8c6ebfa76083be9cae283fc4cbb9be9cad283f000080bf2ee8923e91c94d3f0ad723be60562f3b989919beab6083beba8c6ebfa76083bec7ad283fc3cbb9be72ae283f000080bf7fde933e694e4d3f992a33be4fe2da3b989919beab6083beba8c6ebfa76083be22ae283fc3cbb9be18ae283f000080bf430c903e4b654b3f73a520be555c783b72a520beab6083beba8c6ebfa76083be56ad283fc2cbb9bee2ae283f000080bf99e8923e34954e3f8b751dbe2048753b0ad723beab6083beba8c6ebfa76083be2bae283fc1cbb9be0dae283f000080bf2de8923ed6604f3f9d1532be2bc0573c9c1532beab6083beba8c6ebfa76083be2cae283fc3cbb9be0dae283f000080bf8f368a3e34954e3f999919be6b562f3b0ad723beab6083beba8c6ebfa76083be32ae283fc2cbb9be07ae283f000080bf7ede933effdb4f3f999919be4fe2da3b992a33beab6083beba8c6ebfa76083be22ae283fc2cbb9be17ae283f000080bf420c903e1dc5513f999919be4fe2da3b992a33be36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bf420c903e1dc5513f9d1532be2bc0573c9c1532be36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bf8f368a3e34954e3f9d1532be7bb9d53cc9503fbe36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bf0eea863e743b503f999919be9711cd3cb9f545be36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bfbc5c8b3ee01c543f999919becccc4c3dcbcc4cbeaa6083bea26083bebc8c6ebf5157ab3e2782613f7c60abbe000080bfcc002b3e01b7b23e999919be9711cd3cb9f545beaa6083bea26083bebc8c6ebfe078a83ef421623f41eeaabe000080bf03f9183e6b02b13e9d1532be7bb9d53cc9503fbeaa6083bea26083bebc8c6ebf5157ab3e2782613f7d60abbe000080bffdba193e1a75b53e992a33bececc4c3db9f545beaa6083bea26083bebc8c6ebf1834ae3e28e0603f0ed1abbe000080bf63ff2a3e3e62b73e992a33bececc4c3db9f545beb0ac30bf21015fbeb4ac30bf80139abe2922743f00000000000080bffdaf1c3e1635273f9d1532be7bb9d53cc9503fbeb0ac30bf21015fbeb4ac30bf8c139abe2722743f00000000000080bfd46b0b3ef560283fca503fbe7db9d53c9d1532beb0ac30bf21015fbeb4ac30bf95139abe2522743f00000000000080bfd56b0b3e1cb62a3fb9f545bececc4c3d992a33beb0ac30bf21015fbeb4ac30bf88139abe2722743f00000000000080bffdaf1c3e47852a3fcbcc4cbececc4c3d999919bebf8c6ebfa16083be886083be93ed87be40d0763f00000000000080bffdaf1c3e26072f3fb9f545bececc4c3d992a33bebf8c6ebfa16083be886083be072a88becfc7763ff3edeb3a000080bffdaf1c3e47852a3fca503fbe7db9d53c9d1532bebf8c6ebfa16083be886083be94ed87be40d0763f00000000000080bfd56b0b3e1cb62a3fb9f545be9911cd3c989919bebf8c6ebfa16083be886083be00b187be79d8763f2debecba000080bf80a80a3e26072f3fb9f545be9911cd3c989919beb2ac30bfb1ac30bf3f015fbe0e8a043f055d2ebf268a043f000080bfbc5c8b3e870d493fca503fbe7db9d53c9d1532beb2ac30bfb1ac30bf3f015fbe128a043f085d2ebf218a043f000080bf0eea863ef4ee4c3f9d1532be2bc0573c9c1532beb2ac30bfb1ac30bf3f015fbe168a043f0a5d2ebf188a043f000080bf8f368a3e34954e3f992a33be4fe2da3b989919beb2ac30bfb1ac30bf3f015fbe118a043f075d2ebf208a043f000080bf430c903e4b654b3f999919becbcc4c3e999919bea86083beb88c6e3fb16083be00000000a6ed873e3dd0763f000080bfb89a1e3fc858bf3e989919beb9f5453e992a33bea86083beb88c6e3fb16083bed3f0ecba13b1873e77d8763f000080bfd9181a3fc858bf3e9c1532bec7503f3e9c1532bea86083beb88c6e3fb16083be00000000a6ed873e3dd0763f000080bfae491a3fdcfac73e982a33beb9f5453e989919bea86083beb88c6e3fb16083be44f3eb3a1d2a883ecdc7763f000080bfb89a1e3f865cc83e982a33beb9f5453e989919beb2ac30bfaeac303f45015fbef104353ff504353f00000000000080bf3817823e26072f3f9c1532bec7503f3e9c1532beb2ac30bfaeac303f45015fbef204353ff404353f00000000000080bff37e7f3e1cb62a3fc7503fbe9c15323e9c1532beb2ac30bfaeac303f45015fbef204353ff404353f00000000000080bf572a763e1cb62a3fb9f545be982a333e989919beb2ac30bfaeac303f45015fbef104353ff504353f00000000000080bfaaed763e26072f3fcbcc4cbe9999193e989919beba8c6ebfaf60833ea76083bea3ed873e3fd0763f00000000000080bf2ee6643e26072f3fb9f545be982a333e989919beba8c6ebfaf60833ea76083be13b1873e77d8763f07e3ec3a000080bfaaed763e26072f3fc7503fbe9c15323e9c1532beba8c6ebfaf60833ea76083bea3ed873e3fd0763f00000000000080bf572a763e1cb62a3fb9f545be9899193e992a33beba8c6ebfaf60833ea76083be142a883ecdc7763fefdbebba000080bf2ee6643e47852a3fb9f545be9899193e992a33beb0ac30bf76015f3eabac30bfac139a3e2222743f00000000000080bf2ee6643e47852a3fc7503fbe9c15323e9c1532beb0ac30bf76015f3eabac30bfbc139a3e2022743f00000000000080bf572a763e1cb62a3f9c1532be9c15323ec9503fbeb0ac30bf76015f3eabac30bfad139a3e2222743f00000000000080bf572a763ef560283f982a33be9899193eb9f545beb0ac30bf76015f3eabac30bf9f139a3e2322743f00000000000080bf2ee6643e1635273f999919be9999193ecbcc4cbeb16083bea860833eb88c6ebf6957abbe2182613f8d60ab3e000080bffd36733e01b7b23e982a33be9899193eb9f545beb16083bea860833eb88c6ebf6534aebe16e0603f24d1ab3e000080bf9435733e3e62b73e9c1532be9c15323ec9503fbeb16083bea860833eb88c6ebf6957abbe2182613f8c60ab3e000080bfbf3c823e1975b53e989919be982a333eb9f545beb16083bea860833eb88c6ebfc178a8bef721623f47eeaa3e000080bf179f823e6c02b13e989919be982a333eb9f545be3c015fbeb9ac303fa7ac30bf00000000eb04353ffb04353f000080bfa8c8163fc858bf3e9c1532be9c15323ec9503fbe3c015fbeb9ac303fa7ac30bf00000000eb04353ffb04353f000080bf87f4173fdcfac73e9c1532bec7503f3e9c1532be3c015fbeb9ac303fa7ac30bf00000000ea04353ffc04353f000080bfae491a3fdcfac73e989919beb9f5453e992a33be3c015fbeb9ac303fa7ac30bf00000000eb04353ffb04353f000080bfd9181a3fc858bf3ececc4cbdcbcc4c3ecbcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf45a8303faf3d9b3e9911cdbcb9f5453ecfcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf44a8303ff139923e9711cdbcb9f5453e989919bef353843e564d773f0000000000000000000000000000803f000080bfb89a1e3ff139923ecccc4cbdcbcc4c3e989919bef353843e564d773f0000000000000000000000000000803f000080bfb89a1e3faf3d9b3e9911cdbcb9f5453ecfcc4cbdf604353ff004353f0000000000000000000000000000803f000080bf44a8303ff139923e4fe2dabb982a333ecfcc4cbdf604353ff004353f0000000000000000000000000000803f000080bf44a8303f8e998b3e4fe2dabb982a333e989919bef604353ff004353f0000000000000000000000000000803f000080bfb89a1e3f8e998b3e9711cdbcb9f5453e989919bef604353ff004353f0000000000000000000000000000803f000080bfb89a1e3ff139923e66562fbb0ad7233ececc4cbd554d773fff53843e00000000461e80be376f6f3f4f1e803e000080bf7f6f7a3e989c4d3e66562fbb0ad7233e999919be554d773fff53843e00000000461e80be3b6f6f3f371e803e000080bff6737a3e2856803e4fe2dabb982a333e989919be554d773fff53843e00000000471e80be3b6f6f3f341e803e000080bf52a1823ee05b813e4fe2dabb982a333ecfcc4cbd554d773fff53843e00000000461e80be376f6f3f4e1e803e000080bf179f823e09a84f3ececc4cbd9999193ecbcc4cbef253843e00000000564d77bf000000000000803f00000000000080bf743b733e262f993e9911cdbc9899193eb9f545bef253843e00000000564d77bf000000000000803f00000000000080bf443c733ebf1a913e9711cdbccecc4c3db9f545bef253843e00000000564d77bf000000000000803f00000000000080bf13062b3ebf1a913ecccc4cbdcecc4c3dcbcc4cbef253843e00000000564d77bf000000000000803f00000000000080bf42052b3e262f993e9911cdbc9899193eb9f545bef604353f00000000f00435bf000000000000803f00000000000080bf443c733ebf1a913e4fe2dabb9899193e992a33bef604353f00000000f00435bf000000000000803f00000000000080bf443c733eb2bb873e4fe2dabbcecc4c3d992a33bef604353f00000000f00435bf000000000000803f00000000000080bf13062b3eb2bb873e9711cdbccecc4c3db9f545bef604353f00000000f00435bf000000000000803f00000000000080bf13062b3ebf1a913e60562fbb9999193e0ad723be554d773f00000000fe5384be000000000000803f00000000000080bfc83b733ebde3823e6b562fbbcccc4c3d0ad723be554d773f00000000fe5384be000000000000803f00000000000080bf96052b3ebde3823e4fe2dabbcecc4c3d992a33be554d773f00000000fe5384be000000000000803f00000000000080bf13062b3eb2bb873e4fe2dabb9899193e992a33be554d773f00000000fe5384be000000000000803f00000000000080bf443c733eb2bb873ececc4cbd60562f3b0ad723be00000000554d77bffa5384be4add313f89583ebe50dd313f000080bf5a66ad3eed9f5c3f999919be6b562f3b0ad723be00000000554d77bffa5384be4bdd313f8a583ebe50dd313f000080bf7ede933effdb4f3f999919be4fe2da3b992a33be00000000554d77bffa5384be4add313f89583ebe50dd313f000080bf420c903e1dc5513fcecc4cbd4fe2da3b992a33be00000000554d77bffa5384be49dd313f88583ebe51dd313f000080bf1e94a93e0b895e3f999919be4fe2da3b992a33be00000000f50435bff10435bf2fcd133f3ecd13bf41cd133f000080bf420c903e1dc5513f999919be9711cd3cb9f545be00000000f50435bff10435bf2fcd133f3fcd13bf41cd133f000080bfbc5c8b3ee01c543fcecc4cbd9911cd3cb9f545be00000000f50435bff10435bf2ccd133f3fcd13bf43cd133f000080bf98e4a43ecee0603fcecc4cbd4fe2da3b992a33be00000000f50435bff10435bf2ccd133f40cd13bf44cd133f000080bf1e94a93e0b895e3f999919be9711cd3cb9f545be00000000075484be534d77bf741e803e306f6f3f4a1e80be000080bf03f9183e6b02b13e999919becccc4c3dcbcc4cbe00000000075484be534d77bf7f1e803e306f6f3f4a1e80be000080bfcc002b3e01b7b23ecccc4cbdcecc4c3dcbcc4cbe00000000075484be534d77bf4e1e803e366f6f3f4e1e80be000080bf42052b3e262f993ececc4cbd9911cd3cb9f545be00000000075484be534d77bf451e803e376f6f3f4f1e80be000080bf79fd183e917a973ecccc4cbdcbcc4c3e989919be5e7541b4554d773f025484be000000000254843e554d773f000080bfb89a1e3faf3d9b3ececc4cbdb9f5453e992a33be5e7541b4554d773f025484be000000000054843e554d773f000080bfd9181a3faf3d9b3e989919beb9f5453e992a33be5e7541b4554d773f025484be000000000054843e554d773f000080bfd9181a3fc858bf3e999919becbcc4c3e999919be5e7541b4554d773f025484be000000000154843e554d773f000080bfb89a1e3fc858bf3ececc4cbdb9f5453e992a33be00000000ed04353ff80435bf00000000f804353fed04353f000080bfd9181a3faf3d9b3ececc4cbd982a333eb9f545be00000000ed04353ff80435bf00000000f804353fed04353f000080bfa8c8163faf3d9b3e989919be982a333eb9f545be00000000ed04353ff80435bf00000000f804353fed04353f000080bfa8c8163fc858bf3e989919beb9f5453e992a33be00000000ed04353ff80435bf00000000f804353fed04353f000080bfd9181a3fc858bf3ececc4cbd982a333eb9f545be00000000fa53843e554d77bff91d80be446f6f3f461e803e000080bf52a1823e927a973ececc4cbd9999193ecbcc4cbe00000000fa53843e554d77bf051e80be426f6f3f461e803e000080bf743b733e262f993e999919be9999193ecbcc4cbe00000000fa53843e554d77bf3d1e80be3b6f6f3f411e803e000080bffd36733e01b7b23e989919be982a333eb9f545be00000000fa53843e554d77bf321e80be3b6f6f3f421e803e000080bf179f823e6c02b13ecbcc4cbe9999193e989919be564d77bf7bbee733f35384be000000000000803f00000000000080bf2ee6643e26072f3fb9f545be9899193e992a33be564d77bf7bbee733f35384be000000000000803f00000000000080bf2ee6643e47852a3fb9f545bececc4c3d992a33be564d77bf7bbee733f35384be000000000000803f00000000000080bffdaf1c3e47852a3fcbcc4cbececc4c3d999919be564d77bf7bbee733f35384be000000000000803f00000000000080bffdaf1c3e26072f3fb9f545be9899193e992a33bef30435bfea320434f30435bf000000000000803f00000000000080bf2ee6643e47852a3f982a33be9899193eb9f545bef30435bfea320434f30435bf000000000000803f00000000000080bf2ee6643e1635273f992a33bececc4c3db9f545bef30435bfea320434f30435bf000000000000803f00000000000080bffdaf1c3e1635273fb9f545bececc4c3d992a33bef30435bfea320434f30435bf000000000000803f00000000000080bffdaf1c3e47852a3f982a33be9899193eb9f545befd5384be00000000554d77bf000000000000803f00000000000080bf9435733e3e62b73e999919be9999193ecbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bffd36733e01b7b23e999919becccc4c3dcbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bfcc002b3e01b7b23e992a33bececc4c3db9f545befd5384be00000000554d77bf000000000000803f00000000000080bf63ff2a3e3e62b73e992a33be4fe2da3b989919be045484be554d77bf0000000050dd313f92583ebe4add313f000080bf430c903e4b654b3f0ad723be60562f3b989919be045484be554d77bf0000000051dd313f92583ebe49dd313f000080bf7fde933e694e4d3f0ad723be66562f3bcbcc4cbd045484be554d77bf000000004add313f8c583ebe51dd313f000080bf5a66ad3e7b8a403f982a33be4fe2da3bcbcc4cbd045484be554d77bf0000000049dd313f8c583ebe51dd313f000080bf1e94a93e5da13e3f982a33be4fe2da3bcbcc4cbdf00435bff50435bfcaab373440cd133f38cd13bf38cd133f000080bf1e94a93e5da13e3fb9f545be9711cd3ccbcc4cbdf00435bff50435bfcaab373442cd133f3acd13bf32cd133f000080bf98e4a43e9a493c3fb9f545be9911cd3c989919bef00435bff50435bfcaab373432cd133f2bcd13bf51cd133f000080bfbc5c8b3e870d493f992a33be4fe2da3b989919bef00435bff50435bfcaab37342ecd133f28cd13bf58cd133f000080bf430c903e4b654b3fb9f545be9711cd3ccbcc4cbd554d77bffb5384be00000000fb5384be554d773f00000000000080bf80a80a3eb214413fcbcc4cbecccc4c3dcbcc4cbd554d77bffb5384be00000000fb5384be554d773f00000000000080bffcaf1c3eb314413fcbcc4cbececc4c3d999919be554d77bffb5384be00000000fb5384be554d773f00000000000080bffdaf1c3e26072f3fb9f545be9911cd3c989919be554d77bffb5384be00000000fb5384be554d773f00000000000080bf80a80a3e26072f3f999919becbcc4c3e999919bef75384be564d773f0000000000000000000000000000803f000080bfb89a1e3fc858bf3e982a33beb9f5453e989919bef75384be564d773f0000000000000000000000000000803f000080bfb89a1e3f865cc83e992a33beb9f5453ecfcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf44a8303f865cc83e999919becbcc4c3ecbcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf44a8303fc858bf3e982a33beb9f5453e989919bef40435bff304353f04a440b4f304353ff304353f00000000000080bf3817823e26072f3fb9f545be982a333e989919bef40435bff304353f04a440b4f204353ff304353f00000000000080bfaaed763e26072f3fb9f545be982a333ecfcc4cbdf40435bff304353f04a440b4f304353ff404353f00000000000080bfaaed763eb214413f992a33beb9f5453ecfcc4cbdf40435bff304353f04a440b4f304353ff404353f00000000000080bf3817823eb214413fb9f545be982a333e989919be534d77bf0754843e737541b40754843e534d773f00000000000080bfaaed763e26072f3fcbcc4cbe9999193e989919be534d77bf0754843e737541b40754843e534d773f00000000000080bf2ee6643e26072f3fcbcc4cbe9999193ecbcc4cbd534d77bf0754843e737541b40754843e534d773f00000000000080bf2ee6643eb314413fb9f545be982a333ecfcc4cbd534d77bf0754843e737541b40754843e534d773f00000000000080bfaaed763eb214413f982a33bececc4c3d40e2dabb065484be00000000554d773f71692e3fc37d35bfb8a63a3e000080bf7bdb7a3f2f3a163f0ad723bececc4c3d59562fbb065484be00000000554d773f71692e3fc27d35bfb8a63a3e000080bfe4587c3f796e143f0ad723be9999193e6d562fbb065484be00000000554d773f7a692e3fbb7d35bfbfa63a3e000080bfb4746e3fd2e6083f992a33be9899193e60e2dabb065484be00000000554d773f77692e3fbd7d35bfbda63a3e000080bf4bf76c3f88b20a3f992a33be9899193e60e2dabbf30435bf00000000f404353f000000000000803f00000000000080bf2ee6643ec3e6483fb9f545be9899193ea011cdbcf30435bf00000000f404353f000000000000803f00000000000080bf2ee6643e9296453fb9f545bececc4c3d9811cdbcf30435bf00000000f404353f000000000000803f00000000000080bffcaf1c3e9296453f982a33bececc4c3d40e2dabbf30435bf00000000f404353f000000000000803f00000000000080bffcaf1c3ec3e6483fb9f545be9899193ea011cdbc534d77bf000000000e54843e000000000000803f00000000000080bf2ee6643e9296453fcbcc4cbe9999193ecbcc4cbd534d77bf000000000e54843e000000000000803f00000000000080bf2ee6643eb314413fcbcc4cbecccc4c3dcbcc4cbd534d77bf000000000e54843e000000000000803f00000000000080bffcaf1c3eb314413fb9f545bececc4c3d9811cdbc534d77bf000000000e54843e000000000000803f00000000000080bffcaf1c3e9296453f999919becbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000e5484be534d773f000080bf44a8303fc858bf3e999919beb9f5453ea011cdbc00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353fc858bf3ececc4cbdb9f5453ea011cdbc00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353faf3d9b3ececc4cbdcbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000e5484be534d773f000080bf45a8303faf3d9b3e999919beb9f5453ea011cdbc00000000f304353ff404353f00000000f30435bff204353f000080bf242a353fc858bf3e999919be982a333e60e2dabb00000000f304353ff404353f00000000f30435bff204353f000080bf557a383fc858bf3ececc4cbd982a333e60e2dabb00000000f304353ff404353f00000000f30435bff204353f000080bf557a383faf3d9b3ececc4cbdb9f5453ea011cdbc00000000f304353ff404353f00000000f30435bff204353f000080bf242a353faf3d9b3e999919be0ad7233e74562fbb000000000e54843e534d773fd4822e3f12f034bf9fa2413e000080bffc286e3f5c6e063fcccc4cbd0ad7233e74562fbb000000000e54843e534d773fd6822e3f12f034bf9ca2413e000080bff917793fd882f23ececc4cbd982a333e60e2dabb000000000e54843e534d773fd6822e3f11f034bf9ea2413e000080bf3b29773f0ab5ee3e999919be982a333e60e2dabb000000000e54843e534d773fd5822e3f12f034bf9fa2413e000080bf3e3a6c3f7587043fcbcc4c3d989919becbcc4c3e00000000000000000000803f000080bf0000000000000000000080bff753333f86f23a3f9899193e999919becbcc4c3e00000000000000000000803f000080bf0000000000000000000080bfec34223ff6f23a3f9999193ecbcc4cbdcbcc4c3e00000000000000000000803f000080bf0000000000000000000080bfec34223f82004d3fcbcc4c3dcbcc4cbdcbcc4c3e00000000000000000000803f000080bf0000000000000000000080bff753333f12004d3fcbcc4c3e989919be9999193e0000803f0000000000000000000000000000803f00000000000080bf40a3d43c00000000cbcc4c3e999919bececc4c3d0000803f0000000000000000000000000000803f00000000000080bff0c6d43ce43e4c3dcbcc4c3ecbcc4cbdcccc4c3d0000803f0000000000000000000000000000803f00000000000080bf209ec53de43e4c3dcbcc4c3ecbcc4cbd9999193e0000803f0000000000000000000000000000803f00000000000080bf3595c53d000000009999193ecbcc4cbe9999193ea160833eba8c6ebfad60833e40d076bf97ed87be00000000000080bff80e263e05631f3f992a333eb9f545be9899193ea160833eba8c6ebfad60833e79d876bf01b187be94ecec3a000080bf7b07143e05631f3f9c15323ec9503fbe9c15323ea160833eba8c6ebfad60833e40d076bf95ed87be00000000000080bfd0ca143e0fb4233f9899193eb9f545be982a333ea160833eba8c6ebfad60833ecfc776bf0b2a88beedf0ebba000080bff80e263ee4e4233f9899193eb9f545be982a333e45015f3eb2ac30bfaeac303f0c2274bf0000000036149a3e000080bf12c6203f9220333f9c15323ec9503fbe9c15323e45015f3eb2ac30bfaeac303f132274bf000000000c149a3e000080bf939e1c3f884c343f9c15323e9d1532bec7503f3e45015f3eb2ac30bfaeac303f0c2274bf0000000031149a3e000080bfee5b1d3fdaa1363f9899193e992a33beb9f5453e45015f3eb2ac30bfaeac303f062274bf0000000050149a3e000080bf08d3213f0071363f9899193e999919becbcc4c3eb360833eb36083beb68c6e3f5fd876bf1961eababdb1873e000080bfec34223ff6f23a3f9899193e992a33beb9f5453eb360833eb36083beb68c6e3fffcf76bf0000000067ef873e000080bf08d3213f0071363f9c15323e9d1532bec7503f3eb360833eb36083beb68c6e3ff2c676bf14be013b2230883e000080bfee5b1d3fdaa1363f992a333e989919beb9f5453eb360833eb36083beb68c6e3fffcf76bf0000000067ef873e000080bfb58c1d3ffcf23a3f992a333e989919beb9f5453ea9ac303f3e015fbeb7ac303f5d0635bf000000008803353f000080bfb58c1d3ffcf23a3f9c15323e9d1532bec7503f3ea9ac303f3e015fbeb7ac303f540635bf000000009103353f000080bfee5b1d3fdaa1363fc9503f3e9c1532be9c15323ea9ac303f3e015fbeb7ac303f5c0635bf000000008a03353f000080bf3d681a3fbea1363fb9f5453e989919be982a333ea9ac303f3e015fbeb7ac303f630635bf000000008203353f000080bf545b193fd2f23a3fcbcc4c3e989919be9999193eba8c6e3fb26083bea660833e61b987bec35bcc3a59d7763f000080bfa8c8163f86f23a3fb9f5453e989919be982a333eba8c6e3fb26083bea660833e1af787be00000000f0ce763f000080bf545b193fd2f23a3fc9503f3e9c1532be9c15323eba8c6e3fb26083bea660833ee33788be860911bbd7c5763f000080bf3d681a3fbea1363fb9f5453e992a33be9899193eba8c6e3fb26083bea660833e1af787be00000000f0ce763f000080bf6fed173fa070363fb9f5453e992a33be9899193eb5ac303fa7ac30bf71015f3eec0435bffa0435bf00000000000080bfb6c6063e05631f3fc9503f3e9c1532be9c15323eb5ac303fa7ac30bf71015f3eec0435bffa0435bf00000000000080bf33760b3e0fb4233f9c15323ec9503fbe9c15323eb5ac303fa7ac30bf71015f3eec0435bffa0435bf00000000000080bfd0ca143e0fb4233f992a333eb9f545be9899193eb5ac303fa7ac30bf71015f3eed0435bffa0435bf00000000000080bf7b07143e05631f3f9999193ecbcc4cbdcbcc4c3eb160833ea860833eb88c6e3f8ed876bf5588ef3a68b0873e000080bfec34223f82004d3f992a333ecfcc4cbdb9f5453eb160833ea860833eb88c6e3f28d076bf0000000048ee873e000080bfb58c1d3f88004d3f9c15323e80b9d5bcc7503f3eb160833ea860833eb88c6e3f13c776bfc7f3ffba382f883e000080bfee5b1d3f7b51513f9899193ea011cdbcb9f5453eb160833ea860833eb88c6e3f26d076bf0000000048ee873e000080bf08d3213f4b82513f9899193ea011cdbcb9f5453e36015f3eb3ac303fafac303f392274bf000000001d139a3e000080bf08d3213f4b82513f9c15323e80b9d5bcc7503f3e36015f3eb3ac303fafac303f3d2274bf0000000003139a3e000080bfee5b1d3f7b51513f9c15323e40c057bc9c15323e36015f3eb3ac303fafac303f412274bf00000000e3129a3e000080bf929e1c3f77a6533f9899193e60e2dabb982a333e36015f3eb3ac303fafac303f3d2274bf0000000006139a3e000080bf12c6203f3fd2543f9c15323e40c057bc9c15323eab60833eb88c6e3fb160833e0cae28bfcccbb93e2bae28bf000080bf2240573f82a5473f992a333e60e2dabb9899193eab60833eb88c6e3fb160833e1bae28bfcacbb93e1bae28bf000080bffc2a5a3f6bd54a3f0ad7233e77562fbb9999193eab60833eb88c6e3fb160833e02ae28bfcbcbb93e35ae28bf000080bf1a145c3f4dec483f0ad7233e1e4875bb89751d3eab60833eb88c6e3fb160833eecad28bfcbcbb93e4aae28bf000080bff1985b3f2471483f72a5203e705c78bb73a5203eab60833eb88c6e3fb160833e22ae28bfcbcbb93e16ae28bf000080bf27995b3f82a5473f8b751d3e474875bb0ad7233eab60833eb88c6e3fb160833e19ae28bfcacbb93e1eae28bf000080bff1985b3fdfd9463f9899193e74562fbb0ad7233eab60833eb88c6e3fb160833efead28bfcacbb93e38ae28bf000080bf1a145c3fb65e463f9899193e60e2dabb982a333eab60833eb88c6e3fb160833ef4ad28bfc9cbb93e43ae28bf000080bffc2a5a3f9975443f992a333e60e2dabb9899193eadac303fb0ac303f76015f3e158a04bf0e5d2e3f128a04bf000080bffc2a5a3f6bd54a3f9c15323e40c057bc9c15323eadac303fb0ac303f76015f3e178a04bf0e5d2e3f138a04bf000080bf2240573f82a5473fc9503f3e80b9d5bc9c15323eadac303fb0ac303f76015f3e178a04bf0e5d2e3f138a04bf000080bfe299553fc24b493fb9f5453ea011cdbc9899193eadac303fb0ac303f76015f3e178a04bf0e5d2e3f118a04bf000080bf38d3573f2e2d4d3fcbcc4c3ecbcc4cbd9999193eb88c6e3fb160833ea860833eb0a887be47bc06bb94d9763f000080bfa8c8163f13004d3fb9f5453ea011cdbc9899193eb88c6e3fb160833ea860833e7ce687be000000003ad1763f000080bf6fed173fea81513fc9503f3e80b9d5bc9c15323eb88c6e3fb160833ea860833e582788beea44e13a31c8763f000080bf3d681a3f5e51513fb9f5453ecfcc4cbd982a333eb88c6e3fb160833ea860833e7ce687be000000003ad1763f000080bf545b193f5f004d3fb9f5453ecfcc4cbd982a333ea9ac303f39015f3eb6ac303f980335bf000000004e06353f000080bf545b193f5f004d3fc9503f3e80b9d5bc9c15323ea9ac303f39015f3eb6ac303f970335bf000000004e06353f000080bf3d681a3f5e51513f9c15323e80b9d5bcc7503f3ea9ac303f39015f3eb6ac303f950335bf000000005006353f000080bfee5b1d3f7b51513f992a333ecfcc4cbdb9f5453ea9ac303f39015f3eb6ac303f980335bf000000004e06353f000080bfb58c1d3f88004d3f9899193ecbcc4cbecccc4c3da660833eba8c6ebfab6083be3fd076bf9bed87be00000000000080bff80e263e78550d3f9899193eb9f545be9711cd3ca660833eba8c6ebfab6083becfc776bf0d2a88bebfe7eb3a000080bff70e263e99d3083f9c15323ec9503fbe7cb9d53ca660833eba8c6ebfab6083be3fd076bf9aed87be00000000000080bfceca143e6e04093f992a333eb9f545bececc4c3da660833eba8c6ebfab6083be77d876bf08b187bed5e8ecba000080bf7b07143e78550d3f992a333eb9f545bececc4c3dadac303fb0ac30bf76015fbef40435bff20435bf00000000000080bf7b07143e78550d3f9c15323ec9503fbe7cb9d53cadac303fb0ac30bf76015fbef40435bff10435bf00000000000080bfceca143e6e04093fc9503f3e9d1532be7db9d53cadac303fb0ac30bf76015fbef40435bff20435bf00000000000080bf32760b3e6e04093fb9f5453e992a33bececc4c3dadac303fb0ac30bf76015fbef40435bff30435bf00000000000080bfb5c6063e78550d3fcbcc4c3e999919bececc4c3dbf8c6e3fa76083be8e6083bef35e543e3df2743fab8e50be000080bff0c6d43ce43e4c3db9f5453e992a33bececc4c3dbf8c6e3fa76083be8e6083be4b72533ed8d6743f7e7c53be000080bf5011093c84e3593dc9503f3e9d1532be7db9d53cbf8c6e3fa76083be8e6083bedd78523e6ab9743f979056be000080bff052153c26fd8b3db9f5453e989919be9911cd3cbf8c6e3fa76083be8e6083be4b72533ed8d6743f807c53be000080bf70cdd43c0e71863db9f5453e989919be9911cd3caaac303f25015fbeb6ac30bf4ab01d3e09db793ff8af1dbe000080bf70cdd43c0e71863dc9503f3e9d1532be7db9d53caaac303f25015fbeb6ac30bf35b01d3e09db793f0bb01dbe000080bff052153c26fd8b3d9d15323e9c1532be2bc0573caaac303f25015fbeb6ac30bf48b01d3e09db793ffaaf1dbe000080bf0053153c2661a63d992a333e989919be4fe2da3baaac303f25015fbeb6ac30bf57b01d3e09db793fe8af1dbe000080bf70cdd43c42edab3d9d15323e9c1532be2bc0573c5c62833ee25e83bebd8c6ebf7077533e40d7743fb96f53be000080bf0053153c2661a63d9899193e992a33be4fe2da3b5c62833ee25e83bebd8c6ebf48024f3eb400753fa0d754be000080bf4011093c8a6cc53d9999193e0ad723be6b562f3b5c62833ee25e83bebd8c6ebf17034f3ead00753f60d754be000080bf00019b3c6a83c93d20731e3e0ad723be149e833b5c62833ee25e83bebd8c6ebfc2034f3ea600753f2dd754be000080bf30029b3c9e4ec33d205b213e1e5b21bef2af883b5c62833ee25e83bebd8c6ebf8839533e89d9743f498353be000080bfb006a93c2e40c03d0ad7233ebd3d1fbe2eca8a3b5c62833ee25e83bebd8c6ebfcdea573e80ac743fe00652be000080bfc8f5b43c36b5bd3d0ad7233e989919be60562f3b5c62833ee25e83bebd8c6ebf29eb573e7dac743fc60652be000080bf88c9d43c124dbf3d992a333e989919be4fe2da3b5c62833ee25e83bebd8c6ebf65eb573e79ac743fb10652be000080bf70cdd43c42edab3d9899193e992a33be4fe2da3b59015f3eb1ac30bfaeac30bf232274bf9d139abe00000000000080bff70e263e6883053f9d15323e9c1532be2bc0573c59015f3eb1ac30bfaeac30bf232274bfa7139abe00000000000080bfceca143e47af063f9c15323ec9503fbe7cb9d53c59015f3eb1ac30bfaeac30bf222274bfae139abe00000000000080bfceca143e6e04093f9899193eb9f545be9711cd3c59015f3eb1ac30bfaeac30bf232274bfa5139abe00000000000080bff70e263e99d3083f9c15323e40c057bc7db9d53c36cd813e238c6e3f95f384bea24d35bf0cd784bb65bb34bf000080bfd21e6a3f32845a3f0ad7233e3ae719bc57b0d03c36cd813e238c6e3f95f384be9cfa35bfea342abbac0d34bf000080bf7ff96b3fb2d1583f0ad7233e0e77b4bb09d7233d36cd813e238c6e3f95f384be11f334bfdcbf9dbbc01535bf000080bfd21e6a3f05f7563f992a333e60e2dabbcecc4c3d36cd813e238c6e3f95f384bee99f34bfc092b4bb5d6835bf000080bfe9ee663f5899573f0ad7233e6d562fbbcecc4c3d36cd813e238c6e3f95f384bee89f34bf5593b4bb5f6835bf000080bf07d8683f3ab0553f9c15323e80b9d5bc2bc0573c3b015f3eb7ac303fa9ac30bf8cf022bf930bdfbe97f022bf000080bf12c56b3f722a5c3f0ad7233e5cb0d0bc2de7193c3b015f3eb7ac303fa9ac30bf98f022bf800bdfbe92f022bf000080bf05076e3f38df5a3f0ad7233e3ae719bc57b0d03c3b015f3eb7ac303fa9ac30bf85f022bf9f0bdfbe9bf022bf000080bf7ff96b3fb2d1583f9c15323e40c057bc7db9d53c3b015f3eb7ac303fa9ac30bf76f022bfb80bdfbea2f022bf000080bfd21e6a3f32845a3f992a333ecfcc4cbd4fe2da3b39cd813e8bf3843e238c6ebfa69856be8585743f682d563e000080bfbf9fc53d42edab3d0ad7233ececc4cbd6b562f3b39cd813e8bf3843e238c6ebf29e058be5c6f743ff475553e000080bfc59ec53d124dbf3d0ad7233e06d723bd0677b43b39cd813e8bf3843e238c6ebfb49b54be8a98743f14cd563e000080bfc30fd43db668bc3d0ad7233e5cb0d0bc2de7193c39cd813e8bf3843e238c6ebf4bc155be988d743f0071563e000080bfc309e93dbe70b83d9c15323e80b9d5bc2bc0573c39cd813e8bf3843e238c6ebf118357bea97c743fc1e3553e000080bf6327e83d2a61a63d992a333ecfcc4cbd4fe2da3baaac303f34015f3eb7ac30bf3ab01dbe07db793f1db01d3e000080bfbf9fc53d42edab3d9c15323e80b9d5bc2bc0573caaac303f34015f3eb7ac30bf25b01dbe07db793f30b01d3e000080bf6327e83d2a61a63dc9503f3e80b9d5bc7bb9d53caaac303f34015f3eb7ac30bf37b01dbe07db793f1eb01d3e000080bf6327e83d26fd8b3db9f5453ecfcc4cbd9711cd3caaac303f34015f3eb7ac30bf46b01dbe07db793f0fb01d3e000080bfbf9fc53d0e71863dcbcc4c3ecbcc4cbdcccc4c3dba8c6e3fad60833ea56083bee15e54be39f2743ffd8e503e000080bf209ec53de43e4c3db9f5453ecfcc4cbd9711cd3cba8c6e3fad60833ea56083be437253bed4d6743fb37c533e000080bfbf9fc53d0e71863dc9503f3e80b9d5bc7bb9d53cba8c6e3fad60833ea56083bee07852be68b9743faa90563e000080bf6327e83d26fd8b3db9f5453ea011cdbccecc4c3dba8c6e3fad60833ea56083be417253bed4d6743fb27c533e000080bf7dace93d88e3593db9f5453ea011cdbccecc4c3dabac303fb0ac303f75015fbe81f022bf380bdf3ec2f022bf000080bf2697643f1cf1593fc9503f3e80b9d5bc7bb9d53cabac303fb0ac303f75015fbe90f022bf680bdf3ea2f022bf000080bf9278683f722a5c3f9c15323e40c057bc7db9d53cabac303fb0ac303f75015fbea0f022bf9d0bdf3e81f022bf000080bfd21e6a3f32845a3f992a333e60e2dabbcecc4c3dabac303fb0ac303f75015fbe8ef022bf620bdf3ea8f022bf000080bfe9ee663f5899573fcbcc4c3dcbcc4cbe9999193ea66083bebc8c6ebfa660833e3fd076bf9aed873e00000000000080bf2a456e3e05631f3fcfcc4c3db9f545be992a333ea66083bebc8c6ebfa660833ecfc776bf0f2a883e06f3eb3a000080bf2a456e3ee4e4233f80b9d53cc9503fbe9d15323ea66083bebc8c6ebfa660833e3fd076bf9aed873e00000000000080bf52897f3e0fb4233fa011cd3cb9f545be9999193ea66083bebc8c6ebfa660833e77d876bf09b1873eabdfecba000080bf5226803e05631f3fa011cd3cb9f545be9999193eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bf5226803e05631f3f80b9d53cc9503fbe9d15323eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bf52897f3e0fb4233f40c0573c9d1532be9d15323eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bff66e843e0fb4233f60e2da3b992a33be9999193eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bfb6c6863e05631f3f6d562f3b0ad723be9999193eb88c6ebf566283be0b5f833e90b2873e41d876bf544dedba000080bf08e36d3f82fc633f60e2da3b992a33be9999193eb88c6ebf566283be0b5f833e93b2873e41d876bf9d45edba000080bfbf96703f82fc633f40c0573c9d1532be9d15323eb88c6ebf566283be0b5f833efbf9873e8ace76bf00000000000080bfea65703f78ab5f3f5d72893b0ad723becc171f3eb88c6ebf566283be0b5f833edbb8873e6ad776bf52c0d4ba000080bf08e36d3f9904633f60e2da3b989919be992a333eb88c6ebf566283be0b5f833e411d883e9ec976bf3d77b33a000080bfe0146c3fa37a5f3ffe668b3bc0e522be0033203eb88c6ebf566283be0b5f833e6404863eef0b77bfe6dc6dbc000080bf7eb86d3fabd2623f56e8893bd96c21bed96c213eb88c6ebf566283be0b5f833e7701873ef1ee76bfe875e7bb000080bf0c766d3f569b623f3f62843bc5881ebe0ad7233eb88c6ebf566283be0b5f833e392b883ea6c776bfef1bea3a000080bf92f36c3f5a2e623f6d562f3b999919be0ad7233eb88c6ebf566283be0b5f833e942b883e99c776bf6583eb3a000080bfe0146c3f5a2e623f60e2da3b989919be992a333eb0ac30bf21015fbeb3ac303f53139a3e302274bf00000000000080bfe0146c3fa37a5f3f40c0573c9d1532be9d15323eb0ac30bf21015fbeb3ac303f97139a3e252274bf00000000000080bfea65703f78ab5f3f80b9d53c9c1532beca503f3eb0ac30bf21015fbeb3ac303f5c139a3e2e2274bf00000000000080bfea65703f50565d3fa011cd3c989919beb9f5453eb0ac30bf21015fbeb3ac303f27139a3e372274bf00000000000080bfe0146c3f722a5c3fcbcc4c3d989919becbcc4c3e9e6083bea76083bebc8c6e3f04d176bf0000000006e887be000080bff753333f86f23a3fa011cd3c989919beb9f5453e9e6083bea76083bebc8c6e3f35d976bf8e2b013b7fab87be000080bf6538373f54f23a3f80b9d53c9c1532beca503f3e9e6083bea76083bebc8c6e3f04d176bf0000000006e887be000080bffeaa363f35a1363fcfcc4c3d992a33beb9f5453e9e6083bea76083bebc8c6e3f99c876bf9f0bd6ba6e2488be000080bf12f2323f9070363fcfcc4c3d992a33beb9f5453e59015fbeabac30bfb4ac303f222274bfac139a3e00000000000080bf2a456e3e1535273f80b9d53c9c1532beca503f3e59015fbeabac30bfb4ac303f222274bfb2139a3e00000000000080bf52897f3e3609263f80b9d53cc9503fbe9d15323e59015fbeabac30bfb4ac303f202274bfb7139a3e00000000000080bf52897f3e0fb4233fcfcc4c3db9f545be992a333e59015fbeabac30bfb4ac303f222274bfaf139a3e00000000000080bf2a456e3ee4e4233fcbcc4c3d60e2dabb982a333e87f384be248c6e3f3acd813e381f35bf9459a0bb8ee934bf000080bfeaee663fabb1373fcbcc4c3d74562fbb0ad7233e87f384be248c6e3f3acd813e686835bf6e92b4bbde9f34bf000080bf07d8683fc99a393f06d7233d0e77b4bb0ad7233e87f384be248c6e3f3acd813ed74135bf50e9a9bbbcc634bf000080bfd21e6a3ffe53383f54b0d03c3ae719bc0ad7233e87f384be248c6e3f3acd813e44e434bf841690bbb72435bf000080bf7ff96b3f5179363f78b9d53c40c057bc9c15323e87f384be248c6e3f3acd813e6abb34bfe0d484bb9d4d35bf000080bfd21e6a3fd1c6343fcbcc4c3d60e2dabb982a333e31015fbeb1ac303fb1ac303f81f022bfb70bdf3e97f022bf000080bfeaee663fabb1373f78b9d53c40c057bc9c15323e31015fbeb1ac303fb1ac303f8df022bfa50bdf3e90f022bf000080bfd21e6a3fd1c6343f78b9d53c80b9d5bcc7503f3e31015fbeb1ac303fb1ac303f83f022bfb40bdf3e95f022bf000080bf9278683f9120333fcbcc4c3da011cdbcb9f5453e31015fbeb1ac303fb1ac303f78f022bfc40bdf3e9bf022bf000080bf2697643fe859353fcbcc4c3dcbcc4cbdcbcc4c3eb16083bea560833eba8c6e3f7bcf76bf000000002ef387be000080bff753333f12004d3fcbcc4c3da011cdbcb9f5453eb16083bea560833eba8c6e3f02c776bf4dde003baa2f88be000080bf12f2323fdb81513f78b9d53c80b9d5bcc7503f3eb16083bea560833eba8c6e3f7bcf76bf000000002df387be000080bffeaa363fd650513f9811cd3ccfcc4cbdb9f5453eb16083bea560833eba8c6e3fbad776bf5c7bd7ba91b687be000080bf6438373fe0ff4c3f9811cd3ccfcc4cbdb9f5453eafac30bf23015f3eb4ac303f7b139abe2b2274bf00000000000080bf54075a3f722a5c3f78b9d53c80b9d5bcc7503f3eafac30bf23015f3eb4ac303f8a139abe272274bf00000000000080bf4ab6553f51565d3f20c0573c80b9d5bc9c15323eafac30bf23015f3eb4ac303f9a139abe252274bf00000000000080bf4ab6553f78ab5f3f40e2da3bcfcc4cbd982a333eafac30bf23015f3eb4ac303f88139abe272274bf00000000000080bf54075a3fa37a5f3f59562f3bcecc4cbd0ad7233e288c6ebf75f3843e2dcd813eee9289bed49576bf1cc186ba000080bf54075a3f5a2e623f40e2da3bcfcc4cbd982a333e288c6ebf75f3843e2dcd813eee9289bed29576bf7ec286ba000080bf54075a3fa37a5f3f20c0573c80b9d5bc9c15323e288c6ebf75f3843e2dcd813eef5789be139e76bf00000000000080bf4ab6553f78ab5f3ff376b43b07d723bd0ad7233e288c6ebf75f3843e2dcd813eb97689becb9976bf00000000000080bf2c39583f5a2e623f23e7193c5cb0d0bc0ad7233e288c6ebf75f3843e2dcd813ece1c89be17a676bfb061263b000080bfe199553f5a2e623f54b0d03c3ae719bc0ad7233eaaac30bfb6ac303f25015f3e97f022bfa80bdfbe86f022bf000080bf7ff96b3f5179363f23e7193c5cb0d0bc0ad7233eaaac30bfb6ac303f25015f3e8ef022bf860bdfbe99f022bf000080bf05076e3fcb6b343f20c0573c80b9d5bc9c15323eaaac30bfb6ac303f25015f3e94f022bf9a0bdfbe8df022bf000080bf12c56b3f9120333f78b9d53c40c057bc9c15323eaaac30bfb6ac303f25015f3e9ff022bfc00bdfbe77f022bf000080bfd21e6a3fd1c6343fcbcc4c3dcbcc4cbececc4c3d8d6083bebf8c6ebfa96083be42d076bf81ed873e00000000000080bf28456e3e78550d3f9811cd3cb9f545bececc4c3d8d6083bebf8c6ebfa96083be7bd876bff0b0873e6edaec3a000080bf5226803e78550d3f78b9d53cc9503fbe7db9d53c8d6083bebf8c6ebfa96083be42d076bf82ed873e00000000000080bf51897f3e6e04093fcbcc4c3db9f545be9911cd3c8d6083bebf8c6ebfa96083bed1c776bff429883e53f1ebba000080bf28456e3e99d3083fcbcc4c3db9f545be9911cd3c23015fbeb4ac30bfafac30bf272274bf8f139a3e00000000000080bf28456e3e99d3083f78b9d53cc9503fbe7db9d53c23015fbeb4ac30bfafac30bf252274bf9a139a3e00000000000080bf51897f3e6e04093f78b9d53c9d1532be2bc0573c23015fbeb4ac30bfafac30bf272274bf91139a3e00000000000080bf51897f3e47af063fcbcc4c3d992a33be4fe2da3b23015fbeb4ac30bfafac30bf292274bf86139a3e00000000000080bf28456e3e6883053f78b9d53c9d1532be2bc0573c7ff384be2dcd81be288c6ebf5290ab3e349e613f5093aabe000080bf80e9143c56ab1e3e54b0d03c0ad723be2be7193c7ff384be2dcd81be288c6ebf4c6eae3e55fb603f3a07abbe000080bf28d29a3c21e9203e07d7233d0ad723bef576b43b7ff384be2dcd81be288c6ebfd110aa3e48f2613f3156aabe000080bfb8d89a3c697a1b3ecbcc4c3d992a33be4fe2da3b7ff384be2dcd81be288c6ebfe0b0a83ece3e623fc31daabe000080bff0c9083cfbc5153ecbcc4c3d0ad723be60562f3b7ff384be2dcd81be288c6ebf32b1a83ebd3e623fcf1daabe000080bf50dd9a3c6cd1173e20c0573c9c1532be7bb9d53cadac30bf23015fbeb5ac30bfbb139a3e202274bf00000000000080bfea65703f185b7a3f23e7193c0ad723be54b0d03cadac30bf23015fbeb5ac30bf90139a3e272274bf00000000000080bf08e36d3f81777a3f54b0d03c0ad723be2be7193cadac30bf23015fbeb5ac30bf55139a3e2e2274bf00000000000080bf08e36d3fb55e7d3f78b9d53c9d1532be2bc0573cadac30bf23015fbeb5ac30bf79139a3e2b2274bf00000000000080bfea65703f40b07c3f20c0573c9c1532be7bb9d53c288c6ebf26cd81be78f384bee297863efdfe76bf83f2b2ba000080bfea65703f185b7a3f40e2da3b992a33bececc4c3d288c6ebf26cd81be78f384be7e45863e380a77bf349d8a3a000080bfbf96703f0e0a763f5d562f3b0ad723becccc4c3d288c6ebf26cd81be78f384be5270863e6e0477bf00000000000080bf08e36d3f0e0a763f23e7193c0ad723be54b0d03c288c6ebf26cd81be78f384beb6c3863ed6f876bf1e1c2ebb000080bf08e36d3f81777a3ffd76b43b0ad723be05d7233d288c6ebf26cd81be78f384be0000803f0000000000000000000080bf08e36d3f36d8773f40e2da3b992a33bececc4c3db5ac30bfacac30bf2b015fbeee0435bff704353f00000000000080bfb6c6863e78550d3f20c0573c9c1532be7bb9d53cb5ac30bfacac30bf2b015fbeef0435bff704353f00000000000080bff66e843e6e04093f78b9d53cc9503fbe7db9d53cb5ac30bfacac30bf2b015fbeed0435bff804353f00000000000080bf51897f3e6e04093f9811cd3cb9f545bececc4c3db5ac30bfacac30bf2b015fbeec0435bff904353f00000000000080bf5226803e78550d3f9899193ecbcc4cbecccc4c3d0954843e534d77bf00000000534d77bf0a5484be00000000000080bff80e263e78550d3f992a333eb9f545bececc4c3d0954843e534d77bf00000000534d77bf0a5484be00000000000080bf7b07143e78550d3f992a333eb9f545be9899193e0954843e534d77bf00000000534d77bf095484be00000000000080bf7b07143e05631f3f9999193ecbcc4cbe9999193e0954843e534d77bf00000000534d77bf0a5484be00000000000080bff80e263e05631f3f992a333eb9f545bececc4c3ded04353ff80435bf00000000f90435bfec0435bf00000000000080bf7b07143e78550d3fb9f5453e992a33bececc4c3ded04353ff80435bf00000000f80435bfed0435bf00000000000080bfb5c6063e78550d3fb9f5453e992a33be9899193eed04353ff80435bf00000000f90435bfec0435bf00000000000080bfb6c6063e05631f3f992a333eb9f545be9899193eed04353ff80435bf00000000f80435bfed0435bf00000000000080bf7b07143e05631f3fb9f5453e992a33bececc4c3d564d773ff15384be000000003e1e803e456f6f3fed1d80be000080bf5011093c84e3593dcbcc4c3e999919bececc4c3d564d773ff15384be000000003d1e803e446f6f3ff81d80be000080bff0c6d43ce43e4c3dcbcc4c3e989919be9999193e564d773ff15384be000000003a1e803e3d6f6f3f2e1e80be000080bf40a3d43c00000000b9f5453e992a33be9899193e564d773ff15384be000000003b1e803e3e6f6f3f231e80be000080bff0c9083c804a5a3b9899193e999919becbcc4c3e0254843e5e754134554d773f554d77bf000000000254843e000080bfec34223ff6f23a3f992a333e989919beb9f5453e0254843e5e754134554d773f554d77bf000000000054843e000080bfb58c1d3ffcf23a3f992a333ecfcc4cbdb9f5453e0254843e5e754134554d773f554d77bf000000000354843e000080bfb58c1d3f88004d3f9999193ecbcc4cbdcbcc4c3e0254843e5e754134554d773f554d77bf000000000354843e000080bfec34223f82004d3f992a333e989919beb9f5453ef104353f00000000f404353ff30435bf00000000f204353f000080bfb58c1d3ffcf23a3fb9f5453e989919be982a333ef104353f00000000f404353ff30435bf00000000f204353f000080bf545b193fd2f23a3fb9f5453ecfcc4cbd982a333ef104353f00000000f404353ff30435bf00000000f204353f000080bf545b193f5f004d3f992a333ecfcc4cbdb9f5453ef104353f00000000f404353ff40435bf00000000f304353f000080bfb58c1d3f88004d3fb9f5453e989919be982a333e584d773f00000000e353843ee35384be00000000584d773f000080bf545b193fd2f23a3fcbcc4c3e989919be9999193e584d773f00000000e353843ee35384be00000000584d773f000080bfa8c8163f86f23a3fcbcc4c3ecbcc4cbd9999193e584d773f00000000e353843ee25384be00000000584d773f000080bfa8c8163f13004d3fb9f5453ecfcc4cbd982a333e584d773f00000000e353843ee25384be00000000584d773f000080bf545b193f5f004d3f992a333e60e2dabbcecc4c3d0754843e534d773f0000000049dd31bf9a583e3e51dd31bf000080bfe9ee663f5899573f0ad7233e6d562fbbcecc4c3d0754843e534d773f0000000048dd31bf98583e3e51dd31bf000080bf07d8683f3ab0553f0ad7233e77562fbb9999193e0754843e534d773f000000004add31bf99583e3e50dd31bf000080bf1a145c3f4dec483f992a333e60e2dabb9899193e0754843e534d773f000000004add31bf98583e3e4fdd31bf000080bffc2a5a3f6bd54a3f992a333e60e2dabb9899193ef304353ff304353f000000003ecd13bf3ecd133f34cd13bf000080bffc2a5a3f6bd54a3fb9f5453ea011cdbc9899193ef304353ff304353f0000000041cd13bf41cd133f2ccd13bf000080bf38d3573f2e2d4d3fb9f5453ea011cdbccecc4c3df304353ff304353f000000002ccd13bf2ccd133f56cd13bf000080bf2697643f1cf1593f992a333e60e2dabbcecc4c3df304353ff304353f0000000028cd13bf28cd133f5dcd13bf000080bfe9ee663f5899573fb9f5453ea011cdbc9899193e554d773ffa53843e00000000411e80be396f6f3f471e803e000080bf93a3e93dc04a5a3bcbcc4c3ecbcc4cbd9999193e554d773ffa53843e000000003f1e80be376f6f3f4f1e803e000080bf3595c53d00000000cbcc4c3ecbcc4cbdcccc4c3d554d773ffa53843e00000000431e80be3d6f6f3f221e803e000080bf209ec53de43e4c3db9f5453ea011cdbccecc4c3d554d773ffa53843e00000000431e80be3e6f6f3f1a1e803e000080bf7dace93d88e3593d992a333e989919be4fe2da3bf953843e00000000554d77bf000000000000803f00000000000080bf70cdd43c42edab3d0ad7233e989919be60562f3bf953843e00000000554d77bf000000000000803f00000000000080bf88c9d43c124dbf3d0ad7233ececc4cbd6b562f3bf953843e00000000554d77bf000000000000803f00000000000080bfc59ec53d124dbf3d992a333ecfcc4cbd4fe2da3bf953843e00000000554d77bf000000000000803f00000000000080bfbf9fc53d42edab3d992a333ecfcc4cbd4fe2da3bef04353f00000000f70435bf000000000000803f00000000000080bfbf9fc53d42edab3db9f5453ecfcc4cbd9711cd3cef04353f00000000f70435bf000000000000803f00000000000080bfbf9fc53d0e71863db9f5453e989919be9911cd3cef04353f00000000f70435bf000000000000803f00000000000080bf70cdd43c0e71863d992a333e989919be4fe2da3bef04353f00000000f70435bf000000000000803f00000000000080bf70cdd43c42edab3db9f5453ecfcc4cbd9711cd3c5a4d773f00000000dd5384be000000000000803f00000000000080bfbf9fc53d0e71863dcbcc4c3ecbcc4cbdcccc4c3d5a4d773f00000000dd5384be000000000000803f00000000000080bf209ec53de43e4c3dcbcc4c3e999919bececc4c3d5a4d773f00000000dd5384be000000000000803f00000000000080bff0c6d43ce43e4c3db9f5453e989919be9911cd3c5a4d773f00000000dd5384be000000000000803f00000000000080bf70cdd43c0e71863dcbcc4c3dcbcc4cbececc4c3d00000000564d77bff35384be000080bf0000000000000000000080bf28456e3e78550d3fcbcc4c3db9f545be9911cd3c00000000564d77bff35384be000080bf0000000000000000000080bf28456e3e99d3083f9899193eb9f545be9711cd3c00000000564d77bff35384be000080bf0000000000000000000080bff70e263e99d3083f9899193ecbcc4cbecccc4c3d00000000564d77bff35384be000080bf0000000000000000000080bff80e263e78550d3fcbcc4c3db9f545be9911cd3c00000000f00435bff50435bf000080bf0000000000000000000080bf28456e3e99d3083fcbcc4c3d992a33be4fe2da3b00000000f00435bff50435bf000080bf0000000000000000000080bf28456e3e6883053f9899193e992a33be4fe2da3b00000000f00435bff50435bf000080bf0000000000000000000080bff70e263e6883053f9899193eb9f545be9711cd3c00000000f00435bff50435bf000080bf0000000000000000000080bff70e263e99d3083fcbcc4c3d992a33be4fe2da3b00000000fe5384be554d77bf521e803e376f6f3f431e80be000080bff0c9083cfbc5153ecbcc4c3d0ad723be60562f3b00000000fe5384be554d77bf531e803e376f6f3f431e80be000080bf50dd9a3c6cd1173e9999193e0ad723be6b562f3b00000000fe5384be554d77bf411e803e396f6f3f451e80be000080bf00019b3c6a83c93d9899193e992a33be4fe2da3b00000000fe5384be554d77bf3f1e803e396f6f3f441e80be000080bf4011093c8a6cc53dcbcc4c3dcbcc4cbe9999193ef75384be564d77bf00000000564d77bff553843e00000000000080bf2a456e3e05631f3fa011cd3cb9f545be9999193ef75384be564d77bf00000000564d77bff853843e00000000000080bf5226803e05631f3f9811cd3cb9f545bececc4c3df75384be564d77bf00000000564d77bff753843e00000000000080bf5226803e78550d3fcbcc4c3dcbcc4cbececc4c3df75384be564d77bf00000000564d77bff753843e00000000000080bf28456e3e78550d3fa011cd3cb9f545be9999193ef10435bff40435bf82b8d833f40435bff304353f00000000000080bf5226803e05631f3f60e2da3b992a33be9999193ef10435bff40435bf82b8d833f40435bff304353f00000000000080bfb6c6863e05631f3f40e2da3b992a33bececc4c3df10435bff40435bf82b8d833f30435bff204353f00000000000080bfb6c6863e78550d3f9811cd3cb9f545bececc4c3df10435bff40435bf82b8d833f30435bff204353f00000000000080bf5226803e78550d3f6d562f3b0ad723be9999193e554d77bf025484be000000000254843e554d77bf00000000000080bf08e36d3f82fc633f5d562f3b0ad723becccc4c3d554d77bf025484be000000000454843e554d77bf00000000000080bf08e36d3f0e0a763f40e2da3b992a33bececc4c3d554d77bf025484be000000000454843e554d77bf00000000000080bfbf96703f0e0a763f60e2da3b992a33be9999193e554d77bf025484be000000000254843e554d77bf00000000000080bfbf96703f82fc633fcbcc4c3dcbcc4cbdcbcc4c3e045484be5a7d6534554d773f554d77bf00000000055484be000080bff753333f12004d3f9811cd3ccfcc4cbdb9f5453e045484be5a7d6534554d773f554d77bf00000000045484be000080bf6438373fe0ff4c3fa011cd3c989919beb9f5453e045484be5a7d6534554d773f554d77bf00000000035484be000080bf6538373f54f23a3fcbcc4c3d989919becbcc4c3e045484be5a7d6534554d773f554d77bf00000000045484be000080bff753333f86f23a3f9811cd3ccfcc4cbdb9f5453ef40435bf9cc3e633f304353f00000000000080bf00000000000080bf54075a3f722a5c3f40e2da3bcfcc4cbd982a333ef40435bf9cc3e633f304353f00000000000080bf00000000000080bf54075a3fa37a5f3f60e2da3b989919be992a333ef40435bf9cc3e633f304353f00000000000080bf00000000000080bfe0146c3fa37a5f3fa011cd3c989919beb9f5453ef40435bf9cc3e633f304353f00000000000080bf00000000000080bfe0146c3f722a5c3f40e2da3bcfcc4cbd982a333e554d77bf000000000454843e00000000000080bf00000000000080bf54075a3fa37a5f3f59562f3bcecc4cbd0ad7233e554d77bf000000000454843e00000000000080bf00000000000080bf54075a3f5a2e623f6d562f3b999919be0ad7233e554d77bf000000000454843e00000000000080bf00000000000080bfe0146c3f5a2e623f60e2da3b989919be992a333e554d77bf000000000454843e00000000000080bf00000000000080bfe0146c3fa37a5f3f9999193ecbcc4cbe9999193e00000000564d77bff753843e000080bf0000000000000000000080bff80e263e05631f3f9899193eb9f545be982a333e00000000564d77bff753843e000080bf0000000000000000000080bff80e263ee4e4233fcfcc4c3db9f545be992a333e00000000564d77bff753843e000080bf0000000000000000000080bf2a456e3ee4e4233fcbcc4c3dcbcc4cbe9999193e00000000564d77bff753843e000080bf0000000000000000000080bf2a456e3e05631f3f9899193eb9f545be982a333e00000000fa0435bfec04353f000080bf0000000000000000000080bff80e263ee4e4233f9899193e992a33beb9f5453e00000000fa0435bfec04353f000080bf0000000000000000000080bff80e263e1535273fcfcc4c3d992a33beb9f5453e00000000fa0435bfec04353f000080bf0000000000000000000080bf2a456e3e1535273fcfcc4c3db9f545be992a333e00000000fa0435bfec04353f000080bf0000000000000000000080bf2a456e3ee4e4233f9899193e992a33beb9f5453e00000000dc5384be5a4d773f000080bf0000000000000000000080bf08d3213f0071363f9899193e999919becbcc4c3e00000000dc5384be5a4d773f000080bf0000000000000000000080bfec34223ff6f23a3fcbcc4c3d989919becbcc4c3e00000000dc5384be5a4d773f000080bf0000000000000000000080bff753333f86f23a3fcfcc4c3d992a33beb9f5453e00000000dc5384be5a4d773f000080bf0000000000000000000080bf12f2323f9070363f9899193e74562fbb0ad7233e00000000514d773f1654843e26dd31bfd7583e3e70dd31bf000080bf1a145c3fb65e463fcbcc4c3d74562fbb0ad7233e00000000514d773f1654843e55dd31bfa4583e3e42dd31bf000080bf07d8683fc99a393fcbcc4c3d60e2dabb982a333e00000000514d773f1654843e51dd31bfac583e3e48dd31bf000080bfeaee663fabb1373f9899193e60e2dabb982a333e00000000514d773f1654843e1fdd31bfd9583e3e73dd31bf000080bffc2a5a3f9975443fcbcc4c3d60e2dabb982a333e00000000f304353ff404353f29cd13bf44cd133f42cd13bf000080bfeaee663fabb1373fcbcc4c3da011cdbcb9f5453e00000000f304353ff404353f31cd13bf3fcd133f3fcd13bf000080bf2697643fe859353f9899193ea011cdbcb9f5453e00000000f304353ff404353f5acd13bf2acd133f2acd13bf000080bf38d3573fd51d423f9899193e60e2dabb982a333e00000000f304353ff404353f53cd13bf2ecd133f2ecd13bf000080bffc2a5a3f9975443fcbcc4c3da011cdbcb9f5453e000000001054843e534d773f000080bf0000000000000000000080bf12f2323fdb81513fcbcc4c3dcbcc4cbdcbcc4c3e000000001054843e534d773f000080bf0000000000000000000080bff753333f12004d3f9999193ecbcc4cbdcbcc4c3e000000001054843e534d773f000080bf0000000000000000000080bfec34223f82004d3f9899193ea011cdbcb9f5453e000000001054843e534d773f000080bf0000000000000000000080bf08d3213f4b82513f9899193ecbcc4cbecccc4c3d040048b4000080bf00000000000080bf0000000000000000000080bff80e263e78550d3f9999193ecbcc4cbe9999193e040048b4000080bf00000000000080bf0000000000000000000080bff80e263e05631f3fcbcc4c3dcbcc4cbe9999193e040048b4000080bf00000000000080bf0000000000000000000080bf2a456e3e05631f3fcbcc4c3dcbcc4cbececc4c3d040048b4000080bf00000000000080bf0000000000000000000080bf28456e3e78550d3f999919be989919becbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bff35bf63e983efa3ccecc4cbd999919becbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bfde1dd43e904cfa3ccccc4cbdcbcc4cbdcbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bfde1dd43e88ffce3d999919becbcc4cbdcbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bff35bf63e08fcce3dcbcc4cbe989919becccc4c3d000080bf0000000000000000000000000000803f00000000000080bf43ba3b3fa2f23a3fcbcc4cbe999919be9999193e000080bf0000000000000000000000000000803f00000000000080bf43ba3b3f2e004d3fcbcc4cbecbcc4cbd9999193e000080bf0000000000000000000000000000803f00000000000080bfcfc74d3f2e004d3fcbcc4cbecbcc4cbdcecc4c3d000080bf0000000000000000000000000000803f00000000000080bfcfc74d3fa2f23a3fcccc4cbdcbcc4cbe9999193ea560833eba8c6ebfab60833e3fd0763f99ed873e00000000000080bfe7fcce3d78550d3f9711cdbcb9f545be9899193ea560833eba8c6ebfab60833e77d8763f06b1873ef3ececba000080bfe10bf33d78550d3f7cb9d5bcc9503fbe9c15323ea560833eba8c6ebfab60833e3fd0763f99ed873e00000000000080bf3885f13d6e04093fcecc4cbdb9f545be982a333ea560833eba8c6ebfab60833ecfc7763f0e2a883ec1efeb3a000080bfe7fcce3d99d3083fcecc4cbdb9f545be982a333e44015f3eadac30bfb3ac303f082274bf0000000048149a3e000080bf2840d13e000000007cb9d5bcc9503fbe9c15323e44015f3eadac30bfb3ac303f082274bf0000000049149a3e000080bf2bf1c83e60fb953b7db9d5bc9d1532bec7503f3e44015f3eadac30bfb3ac303f082274bf000000004a149a3e000080bfe26bca3e4052603ccecc4cbd992a33beb9f5453e44015f3eadac30bfb3ac303f082274bf0000000049149a3e000080bf165ad33ec01b543ccecc4cbd999919becbcc4c3eb660833eb66083beb68c6e3f61d876bf0b7ceabab8b1873e000080bfde1dd43e904cfa3ccecc4cbd992a33beb9f5453eb660833eb66083beb68c6e3fffcf76bf0000000067ef873e000080bf165ad33ec01b543c7db9d5bc9d1532bec7503f3eb660833eb66083beb68c6e3ff2c676bf93bf013b2630883e000080bfe26bca3e4052603c9911cdbc989919beb9f5453eb660833eb66083beb68c6e3fffcf76bf0000000067ef873e000080bf70cdca3e484dfa3c9911cdbc989919beb9f5453eacac303f27015fbeb5ac303f590635bf000000008d03353f000080bf70cdca3e484dfa3c7db9d5bc9d1532bec7503f3eacac303f27015fbeb5ac303f5b0635bf000000008a03353f000080bfe26bca3e4052603c2bc057bc9c1532be9c15323eacac303f27015fbeb5ac303f590635bf000000008d03353f000080bf8084c43e104b603c4fe2dabb989919be982a333eacac303f27015fbeb5ac303f580635bf000000008d03353f000080bfac6ac23e2848fa3ca2078dbb057d1fbe0ad7233eba8c6e3f026283be545f833e51b887bec590cb3a80d7763f000080bfb7e3bf3e000ad93c66562fbb989919be0ad7233eba8c6e3f026283be545f833e43b887be27c5cb3a82d7763f000080bff654bf3e7042fa3c4fe2dabb989919be982a333eba8c6e3f026283be545f833e8dc287be059da33a1fd6763f000080bfac6ac23e2848fa3cfed191bbcadf21becadf213eba8c6e3f026283be545f833e072187bed305c63b15eb763f000080bf42b8bf3e8093cb3c77ec93bb0ad723bec43f203eba8c6e3f026283be545f833ed1f787be00000000d8ce763f000080bf608fbf3eb87bc03c2bc057bc9c1532be9c15323eba8c6e3f026283be545f833e2afa87be0000000084ce763f000080bf8084c43e104b603c6b562fbb0ad723be9999193eba8c6e3f026283be545f833e203188bea14606bbccc6763f000080bfdd2fbe3e4079c03c4fe2dabb992a33be9899193eba8c6e3f026283be545f833e1c3188be824106bbccc6763f000080bfe48ebf3e9003543c4fe2dabb992a33be9899193eb5ac303fabac30bf39015f3eed04353ff804353f00000000000080bfb5c6063e78550d3f2bc057bc9c1532be9c15323eb5ac303fabac30bf39015f3eed04353ff804353f00000000000080bf3817023e6e04093f7cb9d5bcc9503fbe9c15323eb5ac303fabac30bf39015f3eed04353ff804353f00000000000080bf3885f13d6e04093f9711cdbcb9f545be9899193eb5ac303fabac30bf39015f3eee04353ff704353f00000000000080bfe10bf33d78550d3fcccc4cbdcbcc4cbdcbcc4c3eac60833ec260833eb68c6e3f8cd876bfd94fef3a72b0873e000080bfde1dd43e88ffce3d9711cdbccfcc4cbdb9f5453eac60833ec260833eb68c6e3f26d076bf0000000048ee873e000080bf70cdca3eb4ffce3d7cb9d5bc80b9d5bcc7503f3eac60833ec260833eb68c6e3f13c776bfeae5ffba2f2f883e000080bfe26bca3e4d87f13dcecc4cbda011cdbcb9f5453eac60833ec260833eb68c6e3f26d076bf0000000048ee873e000080bf155ad33ecc0df33dcecc4cbda011cdbcb9f5453e37015f3ea9ac303fb8ac303f3b2274bf000000000e139a3e000080bf155ad33ecc0df33d7cb9d5bc80b9d5bcc7503f3e37015f3ea9ac303fb8ac303f3d2274bf0000000003139a3e000080bfe26bca3e4d87f13d7db9d5bc40c057bc9c15323e37015f3ea9ac303fb8ac303f3f2274bf00000000f7129a3e000080bf2af1c83e9517023ececc4cbd60e2dabb982a333e37015f3ea9ac303fb8ac303f3d2274bf0000000006139a3e000080bf2840d13eb5c6063e7db9d5bc40c057bc9c15323e84f3843e248c6e3f39cd813e40bb343f3bc984bbc74d35bf000080bf2817663fd720173f57b0d0bc3ae719bc0ad7233e84f3843e248c6e3f39cd813e4b0d343fedf829bbfcfa35bf000080bfd5f1673f586e153f09d723bd0e77b4bb0ad7233e84f3843e248c6e3f39cd813e2416353fead79dbbaef234bf000080bf2817663faa93133fcecc4cbd74562fbb0ad7233e84f3843e248c6e3f39cd813e7968353fa496b4bbce9f34bf000080bf5dd0643fe04c123fcecc4cbd60e2dabb982a333e84f3843e248c6e3f39cd813e3568353faa83b4bb12a034bf000080bf40e7623ffd35143f2bc057bc80b9d5bc9c15323ea8ac303fbaac303f29015f3e81f0223f4f0bdfbeb9f022bf000080bf68bd673f18c7183f2de719bc5cb0d0bc0ad7233ea8ac303fbaac303f29015f3e90f0223f830bdfbe99f022bf000080bf5bff693fde7b173f57b0d0bc3ae719bc0ad7233ea8ac303fbaac303f29015f3e78f0223f320bdfbecef022bf000080bfd5f1673f586e153f7db9d5bc40c057bc9c15323ea8ac303fbaac303f29015f3e66f0223ff20adfbef5f022bf000080bf2817663fd720173f2bc057bc80b9d5bc9c15323e288c6e3f76f3843e37cd813e2a7b86be00000000f502773f000080bf7f84c43e6686f13d4fe2dabbcfcc4cbd982a333e288c6e3f76f3843e37cd813e0e3d86be8b5babba590b773f000080bfac6ac23e6cfece3d66562fbbcecc4cbd0ad7233e288c6e3f76f3843e37cd813e103d86be994eabba570b773f000080bff654bf3efefcce3dfd76b4bb07d723bd0ad7233e288c6e3f76f3843e37cd813ecb5a86be000000005c07773f000080bf354dc03e246edd3d2de719bc5cb0d0bc0ad7233e288c6e3f76f3843e37cd813e23b986be2392193b53fa763f000080bfdfa1c13e5868f23d4fe2dabbcfcc4cbd982a333eb2ac303f26015f3eb2ac303f920335bf000000005406353f000080bfac6ac23e6cfece3d2bc057bc80b9d5bc9c15323eb2ac303f26015f3eb2ac303f920335bf000000005406353f000080bf7f84c43e6686f13d7cb9d5bc80b9d5bcc7503f3eb2ac303f26015f3eb2ac303f920335bf000000005406353f000080bfe26bca3e4d87f13d9711cdbccfcc4cbdb9f5453eb2ac303f26015f3eb2ac303f910335bf000000005506353f000080bf70cdca3eb4ffce3dcecc4cbdcbcc4cbecccc4c3da960833eba8c6ebfa56083be3dd0763faaed873e00000000000080bfe7fcce3d05631f3fcecc4cbdb9f545be9711cd3ca960833eba8c6ebfa56083becfc7763f112a883e34e7ebba000080bfe7fcce3de4e4233f7db9d5bcc9503fbe7cb9d53ca960833eba8c6ebfa56083be3dd0763faaed873e00000000000080bf3885f13d0fb4233f9911cdbcb9f545bececc4c3da960833eba8c6ebfa56083be74d8763f26b1873e147aec3a000080bfe10bf33d04631f3f9911cdbcb9f545bececc4c3db1ac303fb2ac30bf31015fbeef04353ff604353f00000000000080bfe10bf33d04631f3f7db9d5bcc9503fbe7cb9d53cb1ac303fb2ac30bf31015fbee804353ffd04353f00000000000080bf3885f13d0fb4233f2bc057bc9d1532be7db9d53cb1ac303fb2ac30bf31015fbeef04353ff704353f00000000000080bf3817023e0eb4233f4fe2dabb992a33bececc4c3db1ac303fb2ac30bf31015fbef604353ff004353f00000000000080bfb5c6063e04631f3f60562fbb0ad723bececc4c3d288c6e3f2ccd81be78f384be397ab03e9d97573fd751d43e000080bfcbd62e3f788e3c3d4fe2dabb992a33bececc4c3d288c6e3f2ccd81be78f384becc96b03e765b573fd82dd53e000080bf55492c3f782e2c3d2bc057bc9d1532be7db9d53c288c6e3f2ccd81be78f384bea45fb03e14cf573f2686d33e000080bf035c2a3f2c29623d2be719bc0ad723be57b0d03c288c6e3f2ccd81be78f384befd41b03e680c583f00a4d23e000080bf79b12c3fc458723d7bb9d5bc9c1532be2bc0573cb5ac303f29015fbeacac30bf3b34013fdb0a543f5c2b793e000080bf8495283fc052873d54b0d0bc0ad723be2de7193cb5ac303f29015fbeacac30bf3c34013fda0a543f642b793e000080bfd27b2a3f31db943d2be719bc0ad723be57b0d03cb5ac303f29015fbeacac30bf3e34013fda0a543f6a2b793e000080bf79b12c3fc458723d2bc057bc9d1532be7db9d53cb5ac303f29015fbeacac30bf3d34013fda0a543f642b793e000080bf035c2a3f2c29623d7bb9d5bc9c1532be2bc0573c77f3843e2bcd81be288c6ebf6d702d3fbc453c3f4c0039bc000080bf8495283fc052873dcecc4cbd992a33be4fe2da3b77f3843e2bcd81be288c6ebfe7f02c3fd4b93c3f25c849bc000080bf8e55263ff3a9a03dcccc4cbd0ad723be6b562f3b77f3843e2bcd81be288c6ebfe4f02c3fd6b93c3f68c849bc000080bf2956283fa1beaf3d05d723bd0ad723be0677b43b77f3843e2bcd81be288c6ebfe92d2d3f62823c3f8fc241bc000080bfe937293f87b3a43d54b0d0bc0ad723be2de7193c77f3843e2bcd81be288c6ebf9def2d3f3ed13b3f9a3728bc000080bfd27b2a3f31db943dcecc4cbd992a33be4fe2da3b59015f3eafac30bfb0ac30bf2322743fa1139a3e00000000000080bfe7fcce3d1535273f7bb9d5bc9c1532be2bc0573c59015f3eafac30bfb0ac30bf2222743fa9139a3e00000000000080bf3985f13d3609263f7db9d5bcc9503fbe7cb9d53c59015f3eafac30bfb0ac30bf2222743faf139a3e00000000000080bf3885f13d0fb4233fcecc4cbdb9f545be9711cd3c59015f3eafac30bfb0ac30bf2322743fa7139a3e00000000000080bfe7fcce3de4e4233f999919becbcc4cbe9999193ea66083beba8c6ebfaf60833e3fd0763f9ced87be00000000000080bf1042fa3c78550d3f989919beb9f545be992a333ea66083beba8c6ebfaf60833ecfc7763f112a88be73f2ebba000080bf1042fa3c99d3083f9c1532bec9503fbe9d15323ea66083beba8c6ebfaf60833e3fd0763f9ded87be00000000000080bf9041603c6e04093f982a33beb9f545be9999193ea66083beba8c6ebfaf60833e77d8763f0bb187bee7e0ec3a000080bf600c543c78550d3f982a33beb9f545be9999193eb0ac30bfb0ac30bf42015f3ef304353ff30435bf00000000000080bf600c543c78550d3f9c1532bec9503fbe9d15323eb0ac30bfb0ac30bf42015f3ef304353ff20435bf00000000000080bf9041603c6e04093fc7503fbe9d1532be9d15323eb0ac30bfb0ac30bf42015f3ef304353ff20435bf00000000000080bfc0ef953b6e04093fb9f545be992a33be9999193eb0ac30bfb0ac30bf42015f3ef304353ff30435bf00000000000080bf0000803278550d3fcbcc4cbe999919be9999193eba8c6ebfae6083bea060833eb2ed87be3dd0763f00000000000080bf43ba3b3f2e004d3fb9f545be992a33be9999193eba8c6ebfae6083bea060833e10b187be77d8763f20e4ec3a000080bf6438373f2e004d3fc7503fbe9d1532be9d15323eba8c6ebfae6083bea060833eb2ed87be3bd0763f00000000000080bf3869373f3851513fb9f545be989919be992a333eba8c6ebfae6083bea060833e342a88bec9c7763f8461ecba000080bf43ba3b3f0e82513fb9f545be989919be992a333eb2ac30bf24015fbeb2ac303fc1139abe1e22743f00000000000080bf43ba3b3f0e82513fc7503fbe9d1532be9d15323eb2ac30bf24015fbeb2ac303f05149abe1322743f00000000000080bf3869373f3851513f9c1532be9c1532beca503f3eb2ac30bf24015fbeb2ac303fc9139abe1c22743f00000000000080bf3969373f60a6533f982a33be989919beb9f5453eb2ac30bf24015fbeb2ac303f91139abe2522743f00000000000080bf43ba3b3f3fd2543f999919be989919becbcc4c3e9e6083bea76083bebc8c6e3f06d176bf00000000f8e787be000080bff35bf63e983efa3c982a33be989919beb9f5453e9e6083bea76083bebc8c6e3f37d976bf4f47013b70ab87be000080bfce24fe3e4838fa3c9c1532be9c1532beca503f3e9e6083bea76083bebc8c6e3f06d176bf00000000f8e787be000080bf020afd3ee028603c989919be992a33beb9f5453e9e6083bea76083bebc8c6e3f9bc876bf9cd2d5ba612488be000080bf2a98f53ec0ff533c989919be992a33beb9f5453e5d015fbeadac30bfb0ac303f2222743fac139abe00000000000080bf1042fa3c6883053f9c1532be9c1532beca503f3e5d015fbeadac30bfb0ac303f2222743fb2139abe00000000000080bf9041603c47af063f9c1532bec9503fbe9d15323e5d015fbeadac30bfb0ac303f2022743fb6139abe00000000000080bf9041603c6e04093f989919beb9f545be992a333e5d015fbeadac30bfb0ac303f2222743faf139abe00000000000080bf1042fa3c99d3083f999919be60e2dabb982a333eae6083beb68c6e3fb760833e22ae283fd2cbb93e15ae28bf000080bf5223563f1072073f999919be74562fbb0ad7233eae6083beb68c6e3fb760833e48ae283fd3cbb93eecad28bf000080bf700c583ff288053fd88d1dbeaa0077bb0ad7233eae6083beb68c6e3fb760833e2dae283fd3cbb93e09ae28bf000080bf408e573fc20a053f9d1532be40c057bc9c15323eae6083beb68c6e3fb760833e1eae283fd1cbb93e16ae28bf000080bf7838533f2742043fc3b120be700e7abbc3b1203eae6083beb68c6e3fb760833e21ae283fd4cbb93e14ae28bf000080bf6b8e573f2742043f0ad723be9d0077bbd88d1d3eae6083beb68c6e3fb760833e31ae283fd2cbb93e04ae28bf000080bf408e573f8c79033f0ad723be6d562fbb9999193eae6083beb68c6e3fb760833e29ae283fd1cbb93e0cae28bf000080bf700c583f5cfb023f992a33be60e2dabb9899193eae6083beb68c6e3fb760833e1fae283fd1cbb93e16ae28bf000080bf5223563f3e12013f999919be60e2dabb982a333e31015fbeb1ac303fb1ac303f168a043f085d2e3f1c8a04bf000080bf5223563f1072073f9d1532be40c057bc9c15323e31015fbeb1ac303fb1ac303f1a8a043f085d2e3f188a04bf000080bf7838533f2742043f9d1532be80b9d5bcc7503f3e31015fbeb1ac303fb1ac303f168a043f085d2e3f1a8a04bf000080bf3892513f67e8053f999919bea011cdbcb9f5453e31015fbeb1ac303fb1ac303f138a043f085d2e3f1c8a04bf000080bf8ecb533fd3c9093f999919becbcc4cbdcbcc4c3eae6083bea260833eba8c6e3f7acf76bf000000003af387be000080bff35bf63e08fcce3d999919bea011cdbcb9f5453eae6083bea260833eba8c6e3f00c776bfe101013bba2f88be000080bf2898f53e4e0af33d9d1532be80b9d5bcc7503f3eae6083bea260833eba8c6e3f7acf76bf000000003af387be000080bf000afd3e2182f13d992a33becfcc4cbdb9f5453eae6083bea260833eba8c6e3fb8d776bf4e52d7ba99b687be000080bfce24fe3e75face3d992a33becfcc4cbdb9f5453eb2ac30bf27015f3eb1ac303f54139a3e2e22743f00000000000080bfcfc74d3f3fd2543f9d1532be80b9d5bcc7503f3eb2ac30bf27015f3eb1ac303f71139a3e2d22743f00000000000080bfd918523f60a6533fca503fbe80b9d5bc9c15323eb2ac30bf27015f3eb1ac303f8c139a3e2722743f00000000000080bfd918523f3851513fb9f545becfcc4cbd982a333eb2ac30bf27015f3eb1ac303f6d139a3e2d22743f00000000000080bfcfc74d3f0d82513fcbcc4cbecbcc4cbd9999193ebc8c6ebfa260833ea860833e97ed873e40d0763f00000000000080bfcfc74d3f2e004d3fb9f545becfcc4cbd982a333ebc8c6ebfa260833ea860833e0a2a883ecfc7763fdaeaeb3a000080bfcfc74d3f0d82513fca503fbe80b9d5bc9c15323ebc8c6ebfa260833ea860833e97ed873e40d0763f00000000000080bfd918523f3851513fb9f545bea011cdbc9899193ebc8c6ebfa260833ea860833e03b1873e79d8763f3eeaecba000080bfae49523f2e004d3fb9f545bea011cdbc9899193eb1ac30bfb2ac303f24015f3e0a8a043ffe5c2e3f358a04bf000080bf8ecb533ff574fd3eca503fbe80b9d5bc9c15323eb1ac30bfb2ac303f24015f3e048a043ffb5c2e3f3d8a04bf000080bf3892513fe69b023f9d1532be40c057bc9c15323eb1ac30bfb2ac303f24015f3eff89043ff75c2e3f478a04bf000080bf7838533f2742043f992a33be60e2dabb9899193eb1ac30bfb2ac303f24015f3e068a043ffb5c2e3f3d8a04bf000080bf5223563f3e12013f999919becbcc4cbececc4c3d8c6083bebd8c6ebfaa6083be42d0763f82ed87be00000000000080bf1042fa3c05631f3f992a33beb9f545bececc4c3d8c6083bebd8c6ebfaa6083be7bd8763ff0b087be5adbecba000080bf600c543c05631f3f9d1532bec9503fbe7db9d53c8c6083bebd8c6ebfaa6083be42d0763f82ed87be00000000000080bf9041603c0fb4233f999919beb9f545be9911cd3c8c6083bebd8c6ebfaa6083bed1c7763ff42988be51f0eb3a000080bf1042fa3ce4e4233f999919beb9f545be9911cd3c23015fbeb4ac30bfafac30bf2722743f8c139abe00000000000080bf1042fa3ce4e4233f9d1532bec9503fbe7db9d53c23015fbeb4ac30bfafac30bf2522743f9a139abe00000000000080bf9041603c0fb4233f9d1532be9d1532be2bc0573c23015fbeb4ac30bfafac30bf2722743f8e139abe00000000000080bf9041603c3609263f999919be992a33be4fe2da3b23015fbeb4ac30bfafac30bf2922743f83139abe00000000000080bf1042fa3c1535273f6c2c1dbe0ad723bede1a703b9f5e83bead6283bebc8c6ebf012c4c3f310ffa3ecb4cb5be000080bf724a213f9ef9033e999919be0ad723be60562f3b9f5e83bead6283bebc8c6ebffb2b4c3f440ffa3ecc4cb5be000080bf7c76213f20e6023e999919be992a33be4fe2da3b9f5e83bead6283bebc8c6ebf8c194c3f9047fa3e2652b5be000080bfe0751f3f92b7f63df85820bef85820be90d46d3b9f5e83bead6283bebc8c6ebfb7e1473fe562033f3970b6be000080bf2498213f2ea6063e0ad723be2e811cbe4cfb633b9f5e83bead6283bebc8c6ebf438a4b3f15fbfb3e2e7bb5be000080bfaaeb213fc7a3093e9d1532be9d1532be2bc0573c9f5e83bead6283bebc8c6ebfa4284c3f7819fa3ec64db5be000080bf566c1e3f9943033e0ad723be999919be60562f3b9f5e83bead6283bebc8c6ebfb8bc4b3f1d62fb3ed76cb5be000080bf084c223f81160b3e992a33be989919be4fe2da3b9f5e83bead6283bebc8c6ebfbdbc4b3f0c62fb3ed76cb5be000080bf0c8b213fd9cd0f3e992a33be989919be4fe2da3bb2ac30bf28015fbeb2ac30bfc8139abe1e22743f00000000000080bf43ba3b3f9120333f9d1532be9d1532be2bc0573cb2ac30bf28015fbeb2ac30bfaf139abe2222743f00000000000080bf3969373f714c343fca503fbe9c1532be7bb9d53cb2ac30bf28015fbeb2ac30bf95139abe2522743f00000000000080bf3969373f98a1363fb9f545be989919be9711cd3cb2ac30bf28015fbeb2ac30bfb2139abe2022743f00000000000080bf43ba3b3fc370363fcbcc4cbe989919becccc4c3dbc8c6ebfa06083bea36083be93ed87be40d0763f00000000000080bf43ba3b3fa2f23a3fb9f545be989919be9711cd3cbc8c6ebfa06083bea36083be042a88becfc7763f1de6eb3a000080bf43ba3b3fc370363fca503fbe9c1532be7bb9d53cbc8c6ebfa06083bea36083be93ed87be40d0763f00000000000080bf3969373f98a1363fb9f545be992a33bececc4c3dbc8c6ebfa06083bea36083be02b187be79d8763ffce6ecba000080bf6438373fa2f23a3fb9f545be992a33bececc4c3db6ac30bfacac30bf17015fbeee04353ff70435bf00000000000080bf0000000005631f3fca503fbe9c1532be7bb9d53cb6ac30bfacac30bf17015fbeee04353ff70435bf00000000000080bfa0ef953b0fb4233f9d1532bec9503fbe7db9d53cb6ac30bfacac30bf17015fbeef04353ff70435bf00000000000080bf9041603c0fb4233f992a33beb9f545bececc4c3db6ac30bfacac30bf17015fbeee04353ff70435bf00000000000080bf600c543c05631f3f0ad723be0e77b4bb07d7233d3bcd81be238c6e3f8af384be0af3343f3cbf9dbbc81535bf000080bf2817663f46e1e93e0ad723be3ae719bc54b0d03c3bcd81be238c6e3f8af384be9afa353f8a302abbad0d34bf000080bfd5f1673fec2be63e9c1532be40c057bc7cb9d53c3bcd81be238c6e3f8af384be9b4d353fffd584bb6bbb34bf000080bf2817663fecc6e23e982a33be60e2dabbcecc4c3d3bcd81be238c6e3f8af384bede9f343fa592b4bb696835bf000080bf40e7623fa09ce83e0ad723be74562fbbcccc4c3d3bcd81be238c6e3f8af384bede9f343fe492b4bb696835bf000080bf5dd0643fdc6eec3e982a33be60e2dabbcecc4c3db0ac30bfb1ac303f40015fbef404353ff104353f00000000000080bfe099553fa2f23a3f9c1532be40c057bc7cb9d53cb0ac30bfb1ac303f40015fbef404353ff304353f00000000000080bf006e543f98a1363fc7503fbe80b9d5bc7db9d53cb0ac30bfb1ac303f40015fbef404353ff304353f00000000000080bfd918523f98a1363fb9f545bea011cdbccecc4c3db0ac30bfb1ac303f40015fbef404353ff304353f00000000000080bfae49523fa2f23a3fcbcc4cbecbcc4cbdcecc4c3db88c6ebfb460833ea96083beaaed873e3dd0763f00000000000080bfcfc74d3fa2f23a3fb9f545bea011cdbccecc4c3db88c6ebfb460833ea96083be15b1873e75d8763f89e3ec3a000080bfae49523fa2f23a3fc7503fbe80b9d5bc7db9d53cb88c6ebfb460833ea96083bea9ed873e3dd0763f00000000000080bfd918523f98a1363fb9f545becfcc4cbd9911cd3cb88c6ebfb460833ea96083be1d2a883ecdc7763f7dedebba000080bfcfc74d3fc370363fb9f545becfcc4cbd9911cd3cb3ac30bf32015f3eafac30bfc0139a3e1e22743f00000000000080bfcfc74d3fc370363fc7503fbe80b9d5bc7db9d53cb3ac30bf32015f3eafac30bfad139a3e2222743f00000000000080bfd918523f98a1363f9c1532be80b9d5bc2bc0573cb3ac30bf32015f3eafac30bfbd139a3e1e22743f00000000000080bfd918523f714c343f982a33becfcc4cbd4fe2da3bb3ac30bf32015f3eafac30bfd1139a3e1c22743f00000000000080bfcfc74d3f9120333f0ad723bececc4cbd66562f3b38cd81be7ef3843e248c6ebfb145263f5272423fc82e0f3d000080bf3483313f72f3313e982a33becfcc4cbd4fe2da3b38cd81be7ef3843e248c6ebfdfdc243fff9b433fb8801a3d000080bf38c2303fc8aa363e9c1532be80b9d5bc2bc0573c38cd81be7ef3843e248c6ebf4ff4273f7808413fe58e013d000080bf3aea343f3bb63c3e0ad723be5cb0d0bc2de7193c38cd81be7ef3843e248c6ebff671293fa4c13f3fa5c0ea3c000080bf99b4353f2697383e0ad723be07d723bdfd76b43b38cd81be7ef3843e248c6ebfb372f8bdd978723f8009983e000080bf803a333f469e343e0ad723be3ae719bc54b0d03c42015fbeb6ac303fa9ac30bf85f0223fa10bdfbe9bf022bf000080bfd5f1673fec2be63e0ad723be5cb0d0bc2de7193c42015fbeb6ac303fa9ac30bf99f0223f7b0bdfbe91f022bf000080bf5bff693fe010e23e9c1532be80b9d5bc2bc0573c42015fbeb6ac303fa9ac30bf8df0223f900bdfbe97f022bf000080bf68bd673f6c7adf3e9c1532be40c057bc7cb9d53c42015fbeb6ac303fa9ac30bf75f0223fb80bdfbea4f022bf000080bf2817663fecc6e23ececc4cbdcbcc4cbecccc4c3d0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe7fcce3d05631f3f9911cdbcb9f545bececc4c3d0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe10bf33d04631f3f9711cdbcb9f545be9899193e0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe10bf33d78550d3fcccc4cbdcbcc4cbe9999193e0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe7fcce3d78550d3f9911cdbcb9f545bececc4c3df004353ff60435bf00000000f604353fef04353f00000000000080bfe10bf33d04631f3f4fe2dabb992a33bececc4c3df004353ff60435bf00000000f604353fef04353f00000000000080bfb5c6063e04631f3f4fe2dabb992a33be9899193ef004353ff60435bf00000000f604353ff004353f00000000000080bfb5c6063e78550d3f9711cdbcb9f545be9899193ef004353ff60435bf00000000f604353fef04353f00000000000080bfe10bf33d78550d3f4fe2dabb992a33bececc4c3d554d773ff85384be00000000c38d613e88c3523fe8eb053f000080bf55492c3f782e2c3d60562fbb0ad723bececc4c3d554d773ff85384be00000000c18d613e88c3523fe8eb053f000080bfcbd62e3f788e3c3d6b562fbb0ad723be9999193e554d773ff85384be00000000bd8d613e86c3523fe9eb053f000080bf99b4353f0000833b4fe2dabb992a33be9899193e554d773ff85384be00000000bf8d613e88c3523fe9eb053f000080bf2227333f00000000cecc4cbd999919becbcc4c3e0654843e00000000554d773f554d77bf000000000654843e000080bfde1dd43e904cfa3c9911cdbc989919beb9f5453e0654843e00000000554d773f554d77bf000000000554843e000080bf70cdca3e484dfa3c9711cdbccfcc4cbdb9f5453e0654843e00000000554d773f554d77bf000000000654843e000080bf70cdca3eb4ffce3dcccc4cbdcbcc4cbdcbcc4c3e0654843e00000000554d773f554d77bf000000000654843e000080bfde1dd43e88ffce3d9911cdbc989919beb9f5453ef504353f00000000f004353ff00435bf00000000f604353f000080bf70cdca3e484dfa3c4fe2dabb989919be982a333ef504353f00000000f004353ff00435bf00000000f604353f000080bfac6ac23e2848fa3c4fe2dabbcfcc4cbd982a333ef504353f00000000f004353fef0435bf00000000f604353f000080bfac6ac23e6cfece3d9711cdbccfcc4cbdb9f5453ef504353f00000000f004353ff00435bf00000000f604353f000080bf70cdca3eb4ffce3d4fe2dabb989919be982a333e534d773f000000000654843e065484be00000000534d773f000080bfac6ac23e2848fa3c66562fbb989919be0ad7233e534d773f000000000654843e065484be00000000534d773f000080bff654bf3e7042fa3c66562fbbcecc4cbd0ad7233e534d773f000000000654843e065484be00000000534d773f000080bff654bf3efefcce3d4fe2dabbcfcc4cbd982a333e534d773f000000000654843e075484be00000000534d773f000080bfac6ac23e6cfece3d999919becbcc4cbececc4c3d00000000564d77bff45384be0000803f0000000000000000000080bf1042fa3c05631f3f999919beb9f545be9911cd3c00000000564d77bff45384be0000803f0000000000000000000080bf1042fa3ce4e4233fcecc4cbdb9f545be9711cd3c00000000564d77bff45384be0000803f0000000000000000000080bfe7fcce3de4e4233fcecc4cbdcbcc4cbecccc4c3d00000000564d77bff45384be0000803f0000000000000000000080bfe7fcce3d05631f3f999919beb9f545be9911cd3c00000000f10435bff50435bf0000803f0000000000000000000080bf1042fa3ce4e4233f999919be992a33be4fe2da3b00000000f10435bff50435bf0000803f0000000000000000000080bf1042fa3c1535273fcecc4cbd992a33be4fe2da3b00000000f10435bff50435bf0000803f0000000000000000000080bfe7fcce3d1535273fcecc4cbdb9f545be9711cd3c00000000f10435bff50435bf0000803f0000000000000000000080bfe7fcce3de4e4233f999919be992a33be4fe2da3b00000000fd5384be554d77bf12cb3f3f18cd233fb04b2fbe000080bfe0751f3f92b7f63d999919be0ad723be60562f3b00000000fd5384be554d77bf11cb3f3f18cd233faf4b2fbe000080bf7c76213f20e6023ecccc4cbd0ad723be6b562f3b00000000fd5384be554d77bf14cb3f3f16cd233fac4b2fbe000080bf2956283fa1beaf3dcecc4cbd992a33be4fe2da3b00000000fd5384be554d77bf14cb3f3f16cd233fad4b2fbe000080bf8e55263ff3a9a03dcbcc4cbecbcc4cbdcecc4c3d5a4d77bf00000000dd5384be000000000000803f00000000000080bfcfc74d3fa2f23a3fb9f545becfcc4cbd9911cd3c5a4d77bf00000000dd5384be000000000000803f00000000000080bfcfc74d3fc370363fb9f545be989919be9711cd3c5a4d77bf00000000dd5384be000000000000803f00000000000080bf43ba3b3fc370363fcbcc4cbe989919becccc4c3d5a4d77bf00000000dd5384be000000000000803f00000000000080bf43ba3b3fa2f23a3fb9f545becfcc4cbd9911cd3cea0435bf86afe633fc0435bf000000000000803f00000000000080bfcfc74d3fc370363f982a33becfcc4cbd4fe2da3bea0435bf86afe633fc0435bf000000000000803f00000000000080bfcfc74d3f9120333f992a33be989919be4fe2da3bea0435bf86afe633fc0435bf000000000000803f00000000000080bf43ba3b3f9120333fb9f545be989919be9711cd3cea0435bf86afe633fc0435bf000000000000803f00000000000080bf43ba3b3fc370363f0ad723bececc4cbd66562f3b025484be00000000554d77bff2b0423fd5da1d3f7c5a50be000080bf3483313f72f3313e0ad723be999919be60562f3b025484be00000000554d77bfdeb0423feeda1d3f695a50be000080bf084c223f81160b3e992a33be989919be4fe2da3b025484be00000000554d77bfdcb0423ff2da1d3f665a50be000080bf0c8b213fd9cd0f3e982a33becfcc4cbd4fe2da3b025484be00000000554d77bff0b0423fd9da1d3f7b5a50be000080bf38c2303fc8aa363e999919becbcc4cbe9999193ef75384be564d77bf00000000564d773ff75384be00000000000080bf1042fa3c78550d3f982a33beb9f545be9999193ef75384be564d77bf00000000564d773ff75384be00000000000080bf600c543c78550d3f992a33beb9f545bececc4c3df75384be564d77bf00000000564d773ff75384be00000000000080bf600c543c05631f3f999919becbcc4cbececc4c3df75384be564d77bf00000000564d773ff85384be00000000000080bf1042fa3c05631f3f982a33beb9f545be9999193ef10435bff40435bf01a44034f404353ff30435bf00000000000080bf600c543c78550d3fb9f545be992a33be9999193ef10435bff40435bf01a44034f404353ff30435bf00000000000080bf0000803278550d3fb9f545be992a33bececc4c3df10435bff40435bf01a44034f404353ff30435bf00000000000080bf0000000005631f3f992a33beb9f545bececc4c3df10435bff40435bf01a44034f404353ff20435bf00000000000080bf600c543c05631f3fb9f545be992a33be9999193e554d77bffe5384be8726e833ff5384be554d773f00000000000080bf6438373f2e004d3fcbcc4cbe999919be9999193e554d77bffe5384be8726e833fe5384be554d773f00000000000080bf43ba3b3f2e004d3fcbcc4cbe989919becccc4c3d554d77bffe5384be8726e833fe5384be554d773f00000000000080bf43ba3b3fa2f23a3fb9f545be992a33bececc4c3d554d77bffe5384be8726e833fe5384be554d773f00000000000080bf6438373fa2f23a3f0ad723be6d562fbb9999193e0c5484be534d773f1809f2b353dd313fa2583e3e46dd31bf000080bf700c583f5cfb023f0ad723be74562fbbcccc4c3d0c5484be534d773f1809f2b34add313f98583e3e50dd31bf000080bf5dd0643fdc6eec3e982a33be60e2dabbcecc4c3d0c5484be534d773f1809f2b348dd313f97583e3e53dd31bf000080bf40e7623fa09ce83e992a33be60e2dabb9899193e0c5484be534d773f1809f2b353dd313fa2583e3e47dd31bf000080bf5223563f3e12013f982a33be60e2dabbcecc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bfe099553fa2f23a3fb9f545bea011cdbccecc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bfae49523fa2f23a3fb9f545bea011cdbc9899193ef40435bff304353f04a440b4f304353ff404353f00000000000080bfae49523f2e004d3f992a33be60e2dabb9899193ef40435bff304353f04a440b4f204353ff304353f00000000000080bfe099553f2e004d3fb9f545bea011cdbccecc4c3d554d77bf0454843e727541b40554843e554d773f00000000000080bfae49523fa2f23a3fcbcc4cbecbcc4cbdcecc4c3d554d77bf0454843e727541b40454843e554d773f00000000000080bfcfc74d3fa2f23a3fcbcc4cbecbcc4cbd9999193e554d77bf0454843e727541b40554843e554d773f00000000000080bfcfc74d3f2e004d3fb9f545bea011cdbc9899193e554d77bf0454843e727541b40454843e554d773f00000000000080bfae49523f2e004d3f999919becbcc4cbdcbcc4c3e045484be5a7d6534554d773f554d77bf00000000045484be000080bff35bf63e08fcce3d992a33becfcc4cbdb9f5453e045484be5a7d6534554d773f554d77bf00000000035484be000080bfce24fe3e75face3d982a33be989919beb9f5453e045484be5a7d6534554d773f554d77bf00000000045484be000080bfce24fe3e4838fa3c999919be989919becbcc4c3e045484be5a7d6534554d773f554d77bf00000000045484be000080bff35bf63e983efa3c992a33becfcc4cbdb9f5453eec0435bf92c3e633f904353f000000000000803f00000000000080bfcfc74d3f3fd2543fb9f545becfcc4cbd982a333eec0435bf92c3e633f904353f000000000000803f00000000000080bfcfc74d3f0d82513fb9f545be989919be992a333eec0435bf92c3e633f904353f000000000000803f00000000000080bf43ba3b3f0e82513f982a33be989919beb9f5453eec0435bf92c3e633f904353f000000000000803f00000000000080bf43ba3b3f3fd2543fb9f545becfcc4cbd982a333e584d77bf00000000e153843e000000000000803f00000000000080bfcfc74d3f0d82513fcbcc4cbecbcc4cbd9999193e584d77bf00000000e153843e000000000000803f00000000000080bfcfc74d3f2e004d3fcbcc4cbe999919be9999193e584d77bf00000000e153843e000000000000803f00000000000080bf43ba3b3f2e004d3fb9f545be989919be992a333e584d77bf00000000e153843e000000000000803f00000000000080bf43ba3b3f0e82513fcccc4cbdcbcc4cbe9999193e00000000564d77bff753843e0000803f0000000000000000000080bfe7fcce3d78550d3fcecc4cbdb9f545be982a333e00000000564d77bff753843e0000803f0000000000000000000080bfe7fcce3d99d3083f989919beb9f545be992a333e00000000564d77bff753843e0000803f0000000000000000000080bf1042fa3c99d3083f999919becbcc4cbe9999193e00000000564d77bff753843e0000803f0000000000000000000080bf1042fa3c78550d3fcecc4cbdb9f545be982a333e00000000f30435bff304353f0000803f0000000000000000000080bfe7fcce3d99d3083fcecc4cbd992a33beb9f5453e00000000f30435bff304353f0000803f0000000000000000000080bfe7fcce3d6883053f989919be992a33beb9f5453e00000000f30435bff304353f0000803f0000000000000000000080bf1042fa3c6883053f989919beb9f545be992a333e00000000f30435bff304353f0000803f0000000000000000000080bf1042fa3c99d3083fcecc4cbd992a33beb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf165ad33ec01b543ccecc4cbd999919becbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bfde1dd43e904cfa3c999919be989919becbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bff35bf63e983efa3c989919be992a33beb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf2a98f53ec0ff533ccecc4cbd74562fbb0ad7233e00000000534d773f0c54843e2cdd313fc4583e3e6bdd31bf000080bf5dd0643fe04c123f999919be74562fbb0ad7233e00000000534d773f0c54843e53dd313f9c583e3e48dd31bf000080bf700c583ff288053f999919be60e2dabb982a333e00000000534d773f0c54843e4ddd313f9e583e3e4bdd31bf000080bf5223563f1072073fcecc4cbd60e2dabb982a333e00000000534d773f0c54843e28dd313fc6583e3e6edd31bf000080bf40e7623ffd35143f999919be60e2dabb982a333e00000000f104353ff404353f31cd133f3fcd133f3ecd13bf000080bf5223563f1072073f999919bea011cdbcb9f5453e00000000f104353ff404353f29cd133f44cd133f42cd13bf000080bf8ecb533fd3c9093fcecc4cbda011cdbcb9f5453e00000000f104353ff404353f52cd133f2ecd133f2dcd13bf000080bf7c8f603fc18d163fcecc4cbd60e2dabb982a333e00000000f104353ff404353f5acd133f2bcd133f2acd13bf000080bf40e7623ffd35143f999919bea011cdbcb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf2898f53e4e0af33d999919becbcc4cbdcbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bff35bf63e08fcce3dcccc4cbdcbcc4cbdcbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bfde1dd43e88ffce3dcecc4cbda011cdbcb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf155ad33ecc0df33dcecc4cbdcbcc4cbecccc4c3d030048b4000080bf000000000000803f0000000000000000000080bfe7fcce3d05631f3fcccc4cbdcbcc4cbe9999193e030048b4000080bf000000000000803f0000000000000000000080bfe7fcce3d78550d3f999919becbcc4cbe9999193e030048b4000080bf000000000000803f0000000000000000000080bf1042fa3c78550d3f999919becbcc4cbececc4c3d030048b4000080bf000000000000803f0000000000000000000080bf1042fa3c05631f3fcbcc4cbe989919be999919be000080bf000000000000000000000000000080bf00000000000080bff259523fc858bf3ecbcc4cbe999919becbcc4cbd000080bf000000000000000000000000000080bf00000000000080bff359523faf3d9b3ecbcc4cbecbcc4cbdcbcc4cbd000080bf000000000000000000000000000080bf00000000000080bf664c403faf3d9b3ecbcc4cbecbcc4cbd989919be000080bf000000000000000000000000000080bf00000000000080bf664c403fc858bf3ecccc4cbd989919becbcc4cbe0000000004004834000080bf000000000000803f00000000000080bfe8c6d43c262f993e999919be999919becbcc4cbe0000000004004834000080bf000000000000803f00000000000080bf30a3d43c01b7b23e999919becbcc4cbdcbcc4cbe0000000004004834000080bf000000000000803f00000000000080bf3395c53d01b7b23ececc4cbdcbcc4cbdcbcc4cbe0000000004004834000080bf000000000000803f00000000000080bf1d9ec53d262f993ecccc4cbdcbcc4cbecbcc4cbda560833eba8c6ebfad60833e00000000a1ed87be3fd076bf000080bfb89a1e3f8d1eef3e9711cdbcb9f545becfcc4cbda560833eba8c6ebfad60833e70e6ebba142a88becdc776bf000080bfb89a1e3fcf1ae63e7cb9d5bcc9503fbe80b9d5bca560833eba8c6ebfad60833e00000000a2ed87be3fd076bf000080bfae491a3f797ce63ececc4cbdb9f545bea011cdbca560833eba8c6ebfad60833e27e7ec3a0fb187be77d876bf000080bfd9181a3f8d1eef3ececc4cbdb9f545bea011cdbc41015f3eb0ac30bfb1ac303f56de2c3f73f91d3f32d9ce3e000080bf0882423fe2f2783f7cb9d5bcc9503fbe80b9d5bc41015f3eb0ac30bfb1ac303f56de2c3f73f91d3f34d9ce3e000080bf0e10463faa657b3f7db9d5bc9d1532be40c057bc41015f3eb0ac30bfb1ac303f56de2c3f73f91d3f32d9ce3e000080bfc262473f7956793fcecc4cbd992a33be60e2dabb41015f3eb0ac30bfb1ac303f56de2c3f74f91d3f32d9ce3e000080bf2063443f1006763f0ad723bd0ad723be0677b4bb8bf3843e35cd81be248c6e3f7686293f37c33f3f60c99d3c000080bf6484473f4f90753fcecc4cbd0ad723be6d562fbb8bf3843e35cd81be248c6e3fb9a2293f97aa3f3ff5f69b3c000080bff551463f1a1f743fcecc4cbd992a33be60e2dabb8bf3843e35cd81be248c6e3fc2a2293f8faa3f3f67f69b3c000080bf2063443f1006763f7db9d5bc9d1532be40c057bc8bf3843e35cd81be248c6e3f9467293f16de3f3fb9c69f3c000080bfc262473f7956793f57b0d0bc0ad723be38e719bc8bf3843e35cd81be248c6e3f4d2c293f8e11403f5e97a33c000080bf5f3f493f06a6773f2bc057bc9c1532be80b9d5bca7ac303f33015fbebaac303f889e0f3fc46e433fb1e5a3be000080bf4c45493f0b9c7b3f2de719bc0ad723be5cb0d0bca7ac303f33015fbebaac303f759e0f3fde6e433f7ce5a3be000080bfed974b3fd6797a3f57b0d0bc0ad723be38e719bca7ac303f33015fbebaac303f919e0f3fb66e433fd0e5a3be000080bf5f3f493f06a6773f7db9d5bc9d1532be40c057bca7ac303f33015fbebaac303fa99e0f3f996e433f11e6a3be000080bfc262473f7956793f2bc057bc9c1532be80b9d5bc268c6e3f30cd81be84f3843edbc2b93eaab22a3fc9a526bf000080bf4c45493f0b9c7b3f4fe2dabb992a33becfcc4cbd268c6e3f30cd81be84f3843e3ec6b93ec8132a3ffd4627bf000080bfecb44a3fe4a37d3f6b562fbb0ad723bececc4cbd268c6e3f30cd81be84f3843eb0c5b93e8b2f2a3fe52a27bf000080bf4c394d3f2c717c3f2de719bc0ad723be5cb0d0bc268c6e3f30cd81be84f3843eafc1b93e9ae32a3fed7326bf000080bfed974b3fd6797a3f0677b4bb0ad723be06d723bd268c6e3f30cd81be84f3843e89b4643eaf4527be1b0176bf000080bf868c4c3fd0a07b3f4fe2dabb992a33becfcc4cbdb6ac303fa9ac30bf3a015f3e00000000bc139abe202274bf000080bfb89a1e3f6c7adf3e2bc057bc9c1532be80b9d5bcb6ac303fa9ac30bf3a015f3e00000000b2139abe202274bf000080bfae491a3f2bd2e13e7cb9d5bcc9503fbe80b9d5bcb6ac303fa9ac30bf3a015f3e00000000a7139abe232274bf000080bfae491a3f797ce63e9711cdbcb9f545becfcc4cbdb6ac303fa9ac30bf3a015f3e00000000b3139abe202274bf000080bfb89a1e3fcf1ae63ececc4cbdcbcc4cbe999919bea260833ebc8c6ebfa46083be0000000098ed873e40d076bf000080bf45a8303f8d1eef3ececc4cbdb9f545be992a33bea260833ebc8c6ebfa46083be6fe1ecba06b1873e77d876bf000080bf242a353f8d1eef3e7db9d5bcc9503fbe9c1532bea260833ebc8c6ebfa46083be0000000099ed873e3fd076bf000080bf4ff9343f797ce63e9911cdbcb9f545be989919bea260833ebc8c6ebfa46083be0febeb3a0b2a883ecfc776bf000080bf44a8303fcf1ae63e9911cdbcb9f545be989919beb1ac303fb1ac30bf36015fbe00000000a8139a3e222274bf000080bf44a8303fcf1ae63e7db9d5bcc9503fbe9c1532beb1ac303fb1ac30bf36015fbe00000000a2139a3e232274bf000080bf4ff9343f797ce63e2bc057bc9d1532be9c1532beb1ac303fb1ac30bf36015fbe00000000a8139a3e222274bf000080bf4ff9343f2bd2e13e4fe2dabb992a33be989919beb1ac303fb1ac30bf36015fbe00000000af139a3e222274bf000080bf44a8303f6c7adf3e60562fbb0ad723be989919bebd8c6e3ff56183be475f83be6cde543e4300753fb2034fbe000080bf00019b3c2756803e4fe2dabb992a33be989919bebd8c6e3ff56183be475f83be14de543e3900753fbd044fbe000080bf4011093ce05b813e2bc057bc9d1532be9c1532bebd8c6e3ff56183be475f83bed752533ea2d2743fc0e953be000080bff052153cb81e893e93ec93bb0ad723bec73f20bebd8c6e3ff56183be475f83be3473543e09f4743f2a5850be000080bfa0029b3cbc76823e4fe2dabb989919be992a33bebd8c6e3ff56183be475f83be3f51523e25b4743f4c1757be000080bf70cdd43cb2bb873e1cd291bbcddf21beccdf21bebd8c6e3ff56183be475f83be1886573e3f4b753f4b8b46be000080bf481aa63c42da823ec3078dbb097d1fbe0ad723bebd8c6e3ff56183be475f83be600e523e23ac743f1bea57be000080bfa890b33c2d4e833e6b562fbb999919be0ad723bebd8c6e3ff56183be475f83befc0c523ef7ab743f74ee57be000080bf80c9d43cbde3823e4fe2dabb989919be992a33beafac303f59015fbeb0ac30bf5fb01d3e05db793f2ab01dbe000080bf70cdd43cb2bb873e2bc057bc9d1532be9c1532beafac303f59015fbeb0ac30bf37b01d3e05db793f4fb01dbe000080bff052153cb81e893e7bb9d5bc9c1532bec9503fbeafac303f59015fbeb0ac30bf5ab01d3e05db793f2fb01dbe000080bf0053153cb8b78f3e9711cdbc989919beb9f545beafac303f59015fbeb0ac30bf79b01d3e05db793f0eb01dbe000080bf70cdd43cbf1a913ecccc4cbd989919becbcc4cbeac60833ea26083bebc8c6ebf998f503e34f2743f945e54be000080bfe8c6d43c262f993e9711cdbc989919beb9f545beac60833ea26083bebc8c6ebf427d533ed2d6743ffe7153be000080bf70cdd43cbf1a913e7bb9d5bc9c1532bec9503fbeac60833ea26083bebc8c6ebf2591563e65b9743f9c7852be000080bf0053153cb8b78f3ececc4cbd992a33beb9f545beac60833ea26083bebc8c6ebf427d533ed2d6743f007253be000080bf4011093c907a973ececc4cbd992a33beb9f545be70015f3eb2ac30bfacac30bf00000000f004353ff60435bf000080bf557a383f8d1eef3e7bb9d5bc9c1532bec9503fbe70015f3eb2ac30bfacac30bf00000000f004353ff60435bf000080bf764e373f797ce63e7db9d5bcc9503fbe9c1532be70015f3eb2ac30bfacac30bf00000000f204353ff40435bf000080bf4ff9343f797ce63ececc4cbdb9f545be992a33be70015f3eb2ac30bfacac30bf00000000f104353ff50435bf000080bf242a353f8d1eef3e7cb9d5bc40c057bc9c1532be8df3843e238c6e3f3ccd81beaab2343fb16d82bb5b56353f000080bf39cee03e83b63b3fcecc4cbd60e2dabb992a33be8df3843e238c6e3f3ccd81be5968353fec8eb4bbef9f343f000080bf666eda3e5da13e3fcccc4cbd77562fbb0ad723be8df3843e238c6e3f3ccd81be324a353f5d39acbb52be343f000080bfa240de3e7b8a403f54b0d0bc3ae719bc0ad723be8df3843e238c6e3f3ccd81be467b343ffb6066bba68d353f000080bf9283e43e03693d3f05d723bd1877b4bb0ad723be8df3843e238c6e3f3ccd81be0bbb2a3fccceb9bedf9926bf000080bf39cee03eb0433f3fcecc4cbd60e2dabb992a33be31015f3ebcac303fa5ac30bf7ef0223fa40bdf3ea0f0223f000080bf666eda3e5da13e3f7cb9d5bc40c057bc9c1532be31015f3ebcac303fa5ac30bf84f0223f990bdf3e9df0223f000080bf39cee03e83b63b3f7db9d5bc80b9d5bcc9503fbe31015f3ebcac303fa5ac30bf7ff0223fa40bdf3e9ff0223f000080bfb881dd3e43103a3fcecc4cbda011cdbcb9f545be31015f3ebcac303fa5ac30bf79f0223faa0bdf3ea2f0223f000080bfe0bed53e9a493c3fcecc4cbdcbcc4cbdcbcc4cbea760833e8e60833ebd8c6ebf1b8f50be3bf2743f955e543e000080bf1d9ec53d262f993ececc4cbda011cdbcb9f545bea760833e8e60833ebd8c6ebfc07c53bed8d6743ffc71533e000080bf7cace93d917a973e7db9d5bc80b9d5bcc9503fbea760833e8e60833ebd8c6ebfa69056be6cb9743fa178523e000080bf6227e83db9b78f3e9911cdbccfcc4cbdb9f545bea760833e8e60833ebd8c6ebfc07c53bed8d6743ffe71533e000080bfbd9fc53dbf1a913e9911cdbccfcc4cbdb9f545beadac303f5a015f3eb0ac30bf46b01dbe05db793f47b01d3e000080bfbd9fc53dbf1a913e7db9d5bc80b9d5bcc9503fbeadac303f5a015f3eb0ac30bf21b01dbe05db793f6cb01d3e000080bf6227e83db9b78f3e2bc057bc80b9d5bc9d1532beadac303f5a015f3eb0ac30bf40b01dbe05db793f4bb01d3e000080bf6227e83db81e893e4fe2dabbcfcc4cbd992a33beadac303f5a015f3eb0ac30bf60b01dbe05db793f2eb01d3e000080bfbd9fc53db2bb873e60562fbbcecc4cbd0ad723be268c6e3f7ff3843e2ecd81bec67555be5a6f743f7ee0583e000080bfc59ec53dbde3823e4fe2dabbcfcc4cbd992a33be268c6e3f7ff3843e2ecd81bef57555be5f6f743fdcdf583e000080bfbd9fc53db2bb873e2bc057bc80b9d5bc9d1532be268c6e3f7ff3843e2ecd81becddd56be899a743f1a66543e000080bf6227e83db81e893ef576b4bb0ad723bd0ad723be268c6e3f7ff3843e2ecd81bec62156be2384743f6ebd563e000080bfc20fd43dd59c833e2be719bc5cb0d0bc0ad723be268c6e3f7ff3843e2ecd81bea74458be60c4743f8cea4f3e000080bfc109e93dd29a843e54b0d0bc3ae719bc0ad723beb4ac303faeac303f3a015fbe94f0223faf0bdfbe85f0223f000080bf9283e43e03693d3f2be719bc5cb0d0bc0ad723beb4ac303faeac303f3a015fbe87f0223f830bdfbea4f0223f000080bf9e9ee83e7d5b3b3f2bc057bc80b9d5bc9d1532beb4ac303faeac303f3a015fbe8ff0223f9e0bdfbe90f0223f000080bfb91ae43e43103a3f7cb9d5bc40c057bc9c1532beb4ac303faeac303f3a015fbe9ef0223fd50bdfbe70f0223f000080bf39cee03e83b63b3f999919becbcc4cbecbcc4cbda76083beba8c6ebfb060833e00000000a6ed87be3fd076bf000080bfb89a1e3fd39c093f989919beb9f545be9811cdbca76083beba8c6ebfb060833e66efecba12b187be77d876bf000080bfd9181a3fd39c093f9c1532bec9503fbe78b9d5bca76083beba8c6ebfb060833e00000000a6ed87be3fd076bf000080bfae491a3fdded0d3f982a33beb9f545becbcc4cbda76083beba8c6ebfb060833e17edeb3a182a88becdc776bf000080bfb89a1e3fb21e0e3f982a33beb9f545becbcc4cbdb0ac30bfb1ac30bf41015f3e0000000092139abe252274bf000080bfb89a1e3fb21e0e3f9c1532bec9503fbe78b9d5bcb0ac30bfb1ac30bf41015f3e00000000a7139abe222274bf000080bfae491a3fdded0d3fc7503fbe9d1532be78b9d5bcb0ac30bfb1ac30bf41015f3e0000000094139abe252274bf000080bfae491a3f0443103fb9f545be992a33becbcc4cbdb0ac30bfb1ac30bf41015f3e0000000082139abe292274bf000080bfb89a1e3fe36e113fcbcc4cbe999919becbcc4cbdbc8c6ebfaa6083bea260833e9fed873e3fd076bf00000000000080bff359523faf3d9b3eb9f545be992a33becbcc4cbdbc8c6ebfaa6083bea260833e0bb1873e77d876bfdae2ecba000080bfd2db563faf3d9b3ec7503fbe9d1532be78b9d5bcbc8c6ebfaa6083bea260833e9fed873e3fd076bf00000000000080bffdaa563f9b9b923eb9f545be989919be9811cdbcbc8c6ebfaa6083bea260833e142a883ecfc776bf78f6eb3a000080bff259523ff139923eb9f545be989919be9811cdbcb2ac30bf27015fbeb2ac303f8c139a3e272274bf00000000000080bff259523ff139923ec7503fbe9d1532be78b9d5bcb2ac30bf27015fbeb2ac303fa5139a3e232274bf00000000000080bffdaa563f9b9b923e9c1532be9c1532be20c057bcb2ac30bf27015fbeb2ac303f90139a3e272274bf00000000000080bffdaa563f4cf18d3e982a33be989919be40e2dabbb2ac30bf27015fbeb2ac303f7c139a3e2b2274bf00000000000080bff259523f8e998b3e0ad723be989919be59562fbb935e83beab6283bebd8c6e3f20f12d3f9f45233ff6b6b93e000080bf0cae3b3f417a643f982a33be989919be40e2dabb935e83beab6283bebd8c6e3f29f12d3f9545233ff8b6b93e000080bf78303a3fafae623f9c1532be9c1532be20c057bc935e83beab6283bebd8c6e3fce0c2e3f5c28233f19b6b93e000080bf6438373f48dd653f0ad723be2e811cbe52fb63bb935e83beab6283bebd8c6e3f70cf2d3f2f69233f01b8b93e000080bfaf503b3f0bd7643f989919be992a33be40e2dabb935e83beab6283bebd8c6e3f68f72d3ffb3e233fc4b6b93e000080bf8c73393f9dd9683ff85820bef75820be9ed46dbb935e83beab6283bebd8c6e3fdd1d2c3f8b2e253feec2b93e000080bf1c2c3b3f87ba653f6c2c1dbe0ad723bede1a70bb935e83beab6283bebd8c6e3fa8f82d3fa83d233fbbb6b93e000080bfec093b3f1e88663f999919be0ad723be5d562fbb935e83beab6283bebd8c6e3f09f82d3f513e233fc0b6b93e000080bf61623b3fa8f2663f989919be992a33be40e2dabb59015fbeb1ac30bfaeac303f00000000f10435bff50435bf000080bfa8c8163fd39c093f9c1532be9c1532be20c057bc59015fbeb1ac30bfaeac303f00000000f10435bff40435bf000080bf87f4173fdded0d3f9c1532bec9503fbe78b9d5bc59015fbeb1ac30bfaeac303f00000000f30435bff40435bf000080bfae491a3fdded0d3f989919beb9f545be9811cdbc59015fbeb1ac30bfaeac303f00000000f10435bff40435bf000080bfd9181a3fd39c093f0ad723be6d562fbbcecc4cbd37cd81be238c6e3f8df3843e2aa0343f9f7fb4bb1d68353f000080bfa240de3eec9f5c3f992a33be60e2dabbcfcc4cbd37cd81be238c6e3f8df3843eea9f343fb790b4bb5c68353f000080bf666eda3e0a895e3f9d1532be40c057bc80b9d5bc37cd81be238c6e3f8df3843ead4d353f8cd284bb59bb343f000080bf38cee03ee473613f0ad723be0677b4bb0ad723bd37cd81be238c6e3f8df3843e97f3343fb3999dbb3b15353f000080bf38cee03eb8e65d3f0ad723be36e719bc5cb0d0bc37cd81be238c6e3f8df3843e79fa353f15452abbcf0d343f000080bf9283e43e64c15f3f0ad723be5cb0d0bc36e719bc2b015fbeb2ac303fb1ac303fa0f0223f850bdfbe88f0223f000080bf9e9ee83eeace613f0ad723be36e719bc5cb0d0bc2b015fbeb2ac303fb1ac303f90f0223f9d0bdfbe90f0223f000080bf9283e43e64c15f3f9d1532be40c057bc80b9d5bc2b015fbeb2ac303fb1ac303f85f0223fad0bdfbe95f0223f000080bf38cee03ee473613f9d1532be80b9d5bc40c057bc2b015fbeb2ac303fb1ac303f97f0223f960bdfbe8df0223f000080bfb81ae43e241a633f9d1532be80b9d5bc40c057bc3fcd81be8ef3843e238c6e3f8075273fc873413f9e9505bd000080bf4bc14b3f3ed2543f992a33becfcc4cbd60e2dabb3fcd81be8ef3843e238c6e3fa015263f439a423f5eb210bd000080bfba14483f1e27573f0ad723bececc4cbd6d562fbb3fcd81be8ef3843e238c6e3f4790263f2934423f35d50cbd000080bf4e92493fb0f2583f0ad723be5cb0d0bc36e719bc3fcd81be8ef3843e238c6e3f8508283f4ef7403f9dea00bd000080bf4c394d3fa06a563f0ad723be0ad723bd0677b4bb3fcd81be8ef3843e238c6e3fb569a0be02ab633ff587aabe000080bf69104b3f7eeb573f992a33becfcc4cbd60e2dabbb2ac30bf27015f3eb1ac303fa2139abe232274bf00000000000080bf664c403f8e998b3e9d1532be80b9d5bc40c057bcb2ac30bf27015f3eb1ac303f9d139abe232274bf00000000000080bf5cfb3b3f4df18d3eca503fbe80b9d5bc80b9d5bcb2ac30bf27015f3eb1ac303f99139abe252274bf00000000000080bf5cfb3b3f9b9b923eb9f545becfcc4cbda011cdbcb2ac30bf27015f3eb1ac303f9c139abe232274bf00000000000080bf664c403ff139923ecbcc4cbecbcc4cbdcbcc4cbdbc8c6ebfa160833ea860833e9aed87be3fd076bf00000000000080bf664c403faf3d9b3eb9f545becfcc4cbda011cdbcbc8c6ebfa160833ea860833e092a88becfc776bf09eeebba000080bf664c403ff139923eca503fbe80b9d5bc80b9d5bcbc8c6ebfa160833ea860833e9bed87be3fd076bf00000000000080bf5cfb3b3f9b9b923eb9f545bea011cdbccfcc4cbdbc8c6ebfa160833ea860833e0eb187be77d876bfa7b8ec3a000080bf87ca3b3fb03d9b3eb9f545bea011cdbccfcc4cbdaeac30bfb4ac303f21015f3e78f0223f4a0bdf3ec6f0223f000080bfe0bed53ecee0603fca503fbe80b9d5bc80b9d5bcaeac30bfb4ac303f21015f3e86f0223f780bdf3ea8f0223f000080bfb881dd3e241a633f9d1532be40c057bc80b9d5bcaeac30bfb4ac303f21015f3e93f0223fa60bdf3e88f0223f000080bf38cee03ee473613f992a33be60e2dabbcfcc4cbdaeac30bfb4ac303f21015f3e84f0223f710bdf3eadf0223f000080bf666eda3e0a895e3f999919becbcc4cbe989919bea26083beba8c6ebfa96083be000000009eed873e3fd076bf000080bf44a8303fd39c093f992a33beb9f545be989919bea26083beba8c6ebfa96083befdf1ebba122a883ecfc776bf000080bf45a8303fb21e0e3f9d1532bec9503fbe9c1532bea26083beba8c6ebfa96083be000000009eed873e3fd076bf000080bf4ff9343fdded0d3f999919beb9f545be992a33bea26083beba8c6ebfa96083bea1e3ec3a0ab1873e77d876bf000080bf242a353fd39c093f999919beb9f545be992a33be3b015fbeb8ac30bfa9ac30bf00000000ea04353ffb0435bf000080bf242a353fd39c093f9d1532bec9503fbe9c1532be3b015fbeb8ac30bfa9ac30bf00000000eb04353ffa0435bf000080bf4ff9343fdded0d3f9d1532be9d1532bec9503fbe3b015fbeb8ac30bfa9ac30bf00000000eb04353ffb0435bf000080bf764e373fdded0d3f999919be992a33beb9f545be3b015fbeb8ac30bfa9ac30bf00000000ea04353ffb0435bf000080bf557a383fd39c093f999919be999919becbcc4cbeaf6083be9c6083bebc8c6ebf4e57ab3e2982613f7960abbe000080bf30a3d43c01b7b23e999919be992a33beb9f545beaf6083be9c6083bebc8c6ebfdd78a83ef421623f3beeaabe000080bfe0c9083c6b02b13e9d1532be9d1532bec9503fbeaf6083be9c6083bebc8c6ebf4f57ab3e2982613f7960abbe000080bf70e9143c1a75b53e992a33be989919beb9f545beaf6083be9c6083bebc8c6ebf1234ae3e2be0603f09d1abbe000080bff097d43c3e62b73e992a33be989919beb9f545beb2ac30bf2d015fbeb2ac30bfa1139a3e232274bf00000000000080bff359523fe9fcce3e9d1532be9d1532bec9503fbeb2ac30bf2d015fbeb2ac30bf9c139a3e232274bf00000000000080bffdaa563f2aa5cc3eca503fbe9c1532be9d1532beb2ac30bf2d015fbeb2ac30bf9a139a3e252274bf00000000000080bffdaa563fdcfac73eb9f545be989919be992a33beb2ac30bf2d015fbeb2ac30bf9c139a3e232274bf00000000000080bff359523f865cc83ecbcc4cbe989919be999919bebd8c6ebf9d6083be9d6083be90ed873e40d076bf00000000000080bff259523fc858bf3eb9f545be989919be992a33bebd8c6ebf9d6083be9d6083be042a883ecfc776bfdeeeebba000080bff359523f865cc83eca503fbe9c1532be9d1532bebd8c6ebf9d6083be9d6083be8fed873e40d076bf00000000000080bffdaa563fdcfac73eb9f545be992a33be989919bebd8c6ebf9d6083be9d6083befdb0873e79d876bf16ecec3a000080bfd2db563fc858bf3eb9f545be992a33be989919beb4ac30bfaeac30bf1d015fbe00000000d6139a3e1a2274bf000080bf45a8303fe46e113fca503fbe9c1532be9d1532beb4ac30bfaeac30bf1d015fbe00000000bc139a3e202274bf000080bf4ff9343f0443103f9d1532bec9503fbe9c1532beb4ac30bfaeac30bf1d015fbe00000000a1139a3e232274bf000080bf4ff9343fdded0d3f992a33beb9f545be989919beb4ac30bfaeac30bf1d015fbe00000000bf139a3e1e2274bf000080bf45a8303fb21e0e3f999919be6d562fbb0ad723beba6083beb68c6e3fba6083be0eae283fdacbb93e24ae283f000080bfc7b8c43e694e4d3f989919be60e2dabb992a33beba6083beb68c6e3fba6083be2dae283fdbcbb93e07ae283f000080bf8be6c03e4a654b3f9c1532be40c057bc9c1532beba6083beb68c6e3fba6083be12ae283fdccbb93e21ae283f000080bfd810bb3e34954e3fd38d1dbe530077bb0ad723beba6083beb68c6e3fba6083beffad283fdbcbb93e34ae283f000080bf68bcc33e98cc4d3f982a33be60e2dabb989919beba6083beb68c6e3fba6083be12ae283fdbcbb93e22ae283f000080bf8ce6c03e1dc5513fc1b120be1b0e7abbc1b120beba6083beb68c6e3fba6083beccae283fdbcbb93e68ad283f000080bfbebcc33e34954e3f0ad723be410077bbd28d1dbeba6083beb68c6e3fba6083be73ad283fdbcbb93ec0ae283f000080bf68bcc33ecf5d4f3f0ad723be74562fbb999919beba6083beb68c6e3fba6083be77ae283fdccbb93ebbad283f000080bfc7b8c43effdb4f3f982a33be60e2dabb989919beb3ac30bfadac303f44015fbef00435bff60435bf00000000000080bf567a383fc858bf3e9c1532be40c057bc9c1532beb3ac30bfadac303f44015fbef10435bff50435bf00000000000080bf35a6393fdcfac73ec7503fbe80b9d5bc9c1532beb3ac30bfadac303f44015fbef00435bff60435bf00000000000080bf5cfb3b3fdcfac73eb9f545bea011cdbc989919beb3ac30bfadac303f44015fbef00435bff60435bf00000000000080bf87ca3b3fc858bf3ecbcc4cbecbcc4cbd989919beba8c6ebfaf60833ea76083bea3ed87be3fd076bf00000000000080bf664c403fc858bf3eb9f545bea011cdbc989919beba8c6ebfaf60833ea76083be13b187be77d876bf21e2ecba000080bf87ca3b3fc858bf3ec7503fbe80b9d5bc9c1532beba8c6ebfaf60833ea76083bea3ed87be3fd076bf00000000000080bf5cfb3b3fdcfac73eb9f545becfcc4cbd992a33beba8c6ebfaf60833ea76083be142a88becdc776bf30dceb3a000080bf664c403f865cc83eb9f545becfcc4cbd992a33beb2ac30bf74015f3eaaac30bfbd139abe1e2274bf00000000000080bf664c403f865cc83ec7503fbe80b9d5bc9c1532beb2ac30bf74015f3eaaac30bfb9139abe202274bf00000000000080bf5cfb3b3fdcfac73e9c1532be80b9d5bcc9503fbeb2ac30bf74015f3eaaac30bfbc139abe202274bf00000000000080bf5cfb3b3f2aa5cc3e982a33becfcc4cbdb9f545beb2ac30bf74015f3eaaac30bfbf139abe1e2274bf00000000000080bf664c403fe9fcce3e999919becbcc4cbdcbcc4cbea76083beaa60833eba8c6ebf8757abbe1b82613f8d60ab3e000080bf3395c53d01b7b23e982a33becfcc4cbdb9f545bea76083beaa60833eba8c6ebf6534aebe16e0603f21d1ab3e000080bf5e92c53d3e62b73e9c1532be80b9d5bcc9503fbea76083beaa60833eba8c6ebf8757abbe1b82613f8d60ab3e000080bf331ae83d1975b53e989919bea011cdbcb9f545bea76083beaa60833eba8c6ebffb78a8beec21623f4beeaa3e000080bf90a3e93d6b02b13e989919bea011cdbcb9f545be3e015fbeb9ac303fa7ac30bffb89043f0a5d2e3f328a043f000080bf0537bc3e870d493f9c1532be80b9d5bcc9503fbe3e015fbeb9ac303fa7ac30bffb89043f0a5d2e3f328a043f000080bf57c4b73ef4ee4c3f9c1532be40c057bc9c1532be3e015fbeb9ac303fa7ac30bffb89043f0a5d2e3f328a043f000080bfd810bb3e34954e3f989919be60e2dabb992a33be3e015fbeb9ac303fa7ac30bffc89043f0a5d2e3f328a043f000080bf8be6c03e4a654b3fcecc4cbdcbcc4cbe999919bedc53843e5a4d77bf000000000000000000000000000080bf000080bf45a8303f8d1eef3e9911cdbcb9f545be989919bedc53843e5a4d77bf000000000000000000000000000080bf000080bf44a8303fcf1ae63e9711cdbcb9f545becfcc4cbddc53843e5a4d77bf000000000000000000000000000080bf000080bfb89a1e3fcf1ae63ecccc4cbdcbcc4cbecbcc4cbddc53843e5a4d77bf000000000000000000000000000080bf000080bfb89a1e3f8d1eef3e9911cdbcb9f545be989919bef704353fef0435bf000000000000000000000000000080bf000080bf44a8303fcf1ae63e4fe2dabb992a33be989919bef704353fef0435bf000000000000000000000000000080bf000080bf44a8303f6c7adf3e4fe2dabb992a33becfcc4cbdf704353fef0435bf000000000000000000000000000080bf000080bfb89a1e3f6c7adf3e9711cdbcb9f545becfcc4cbdf704353fef0435bf000000000000000000000000000080bf000080bfb89a1e3fcf1ae63e4fe2dabb992a33be989919be554d773ff95384be000000003b1e803e306f6f3f861e80be000080bf4011093ce05b813e60562fbb0ad723be989919be554d773ff95384be000000003c1e803e326f6f3f7a1e80be000080bf00019b3c2756803e6b562fbb0ad723bececc4cbd554d773ff95384be00000000431e803e426f6f3f021e80be000080bf50dd9a3c979c4d3e4fe2dabb992a33becfcc4cbd554d773ff95384be00000000421e803e406f6f3f0e1e80be000080bff0c9083c07a84f3ececc4cbdcbcc4cbdcbcc4cbef353843e00000000564d77bf000000000000803f00000000000080bf1d9ec53d262f993e9911cdbccfcc4cbdb9f545bef353843e00000000564d77bf000000000000803f00000000000080bfbd9fc53dbf1a913e9711cdbc989919beb9f545bef353843e00000000564d77bf000000000000803f00000000000080bf70cdd43cbf1a913ecccc4cbd989919becbcc4cbef353843e00000000564d77bf000000000000803f00000000000080bfe8c6d43c262f993e9911cdbccfcc4cbdb9f545bef504353f00000000f00435bf000000000000803f00000000000080bfbd9fc53dbf1a913e4fe2dabbcfcc4cbd992a33bef504353f00000000f00435bf000000000000803f00000000000080bfbd9fc53db2bb873e4fe2dabb989919be992a33bef504353f00000000f00435bf000000000000803f00000000000080bf70cdd43cb2bb873e9711cdbc989919beb9f545bef504353f00000000f00435bf000000000000803f00000000000080bf70cdd43cbf1a913e60562fbbcecc4cbd0ad723be554d773f00000000fe5384be000000000000803f00000000000080bfc59ec53dbde3823e6b562fbb999919be0ad723be554d773f00000000fe5384be000000000000803f00000000000080bf80c9d43cbde3823e4fe2dabb989919be992a33be554d773f00000000fe5384be000000000000803f00000000000080bf70cdd43cb2bb873e4fe2dabbcfcc4cbd992a33be554d773f00000000fe5384be000000000000803f00000000000080bfbd9fc53db2bb873e999919becbcc4cbe989919be00000000564d77bff25384be00000000f253843e564d77bf000080bf44a8303fd39c093f999919beb9f545be992a33be00000000564d77bff25384be00000000f353843e564d77bf000080bf242a353fd39c093fcecc4cbdb9f545be992a33be00000000564d77bff25384be00000000f353843e564d77bf000080bf242a353f8d1eef3ececc4cbdcbcc4cbe999919be00000000564d77bff25384be00000000f253843e564d77bf000080bf45a8303f8d1eef3e999919beb9f545be992a33be00000000f10435bff40435bf00000000f404353ff30435bf000080bf242a353fd39c093f999919be992a33beb9f545be00000000f10435bff40435bf00000000f404353ff30435bf000080bf557a383fd39c093fcecc4cbd992a33beb9f545be00000000f10435bff40435bf00000000f404353ff30435bf000080bf557a383f8d1eef3ececc4cbdb9f545be992a33be00000000f10435bff40435bf00000000f404353ff30435bf000080bf242a353f8d1eef3e999919be992a33beb9f545be00000000075484be534d77bf7d1e803e306f6f3f4a1e80be000080bfe0c9083c6b02b13e999919be999919becbcc4cbe00000000075484be534d77bf7c1e803e306f6f3f491e80be000080bf30a3d43c01b7b23ecccc4cbd989919becbcc4cbe00000000075484be534d77bf821e803e2f6f6f3f4a1e80be000080bfe8c6d43c262f993ececc4cbd992a33beb9f545be00000000075484be534d77bf821e803e306f6f3f491e80be000080bf4011093c907a973e999919be6d562fbb0ad723be00000000534d773f0a5484be76dd313f74583e3e25dd313f000080bfc7b8c43e694e4d3fcccc4cbd77562fbb0ad723be00000000534d773f0a5484be55dd313f96583e3e44dd313f000080bfa240de3e7b8a403fcecc4cbd60e2dabb992a33be00000000534d773f0a5484be53dd313f9b583e3e47dd313f000080bf666eda3e5da13e3f989919be60e2dabb992a33be00000000534d773f0a5484be73dd313f78583e3e28dd313f000080bf8be6c03e4a654b3fcecc4cbd60e2dabb992a33be00000000ed04353ff80435bf35cd133f42cd133f39cd133f000080bf666eda3e5da13e3fcecc4cbda011cdbcb9f545be00000000ed04353ff80435bf35cd133f42cd133f39cd133f000080bfe0bed53e9a493c3f989919bea011cdbcb9f545be00000000ed04353ff80435bf32cd133f42cd133f39cd133f000080bf0537bc3e870d493f989919be60e2dabb992a33be00000000ed04353ff80435bf34cd133f42cd133f3acd133f000080bf8be6c03e4a654b3fcecc4cbda011cdbcb9f545be00000000fa53843e554d77bf411e80be396f6f3f401e803e000080bf7cace93d917a973ececc4cbdcbcc4cbdcbcc4cbe00000000fa53843e554d77bf4c1e80be376f6f3f3f1e803e000080bf1d9ec53d262f993e999919becbcc4cbdcbcc4cbe00000000fa53843e554d77bf841e80be306f6f3f3c1e803e000080bf3395c53d01b7b23e989919bea011cdbcb9f545be00000000fa53843e554d77bf7a1e80be326f6f3f3c1e803e000080bf90a3e93d6b02b13ecbcc4cbecbcc4cbd989919be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bf664c403fc858bf3eb9f545becfcc4cbd992a33be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bf664c403f865cc83eb9f545be989919be992a33be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bff359523f865cc83ecbcc4cbe989919be999919be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bff259523fc858bf3eb9f545becfcc4cbd992a33beec0435bfe6320434fa0435bf00000000000080bf00000000000080bf664c403f865cc83e982a33becfcc4cbdb9f545beec0435bfe6320434fa0435bf00000000000080bf00000000000080bf664c403fe9fcce3e992a33be989919beb9f545beec0435bfe6320434fa0435bf00000000000080bf00000000000080bff359523fe9fcce3eb9f545be989919be992a33beec0435bfe6320434fa0435bf00000000000080bf00000000000080bff359523f865cc83e982a33becfcc4cbdb9f545befd5384be00000000554d77bf000000000000803f00000000000080bf5e92c53d3e62b73e999919becbcc4cbdcbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bf3395c53d01b7b23e999919be999919becbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bf30a3d43c01b7b23e992a33be989919beb9f545befd5384be00000000554d77bf000000000000803f00000000000080bff097d43c3e62b73e999919becbcc4cbecbcc4cbdf75384be564d77bf000000000000000000000000000080bf000080bfb89a1e3fd39c093f982a33beb9f545becbcc4cbdf75384be564d77bf000000000000000000000000000080bf000080bfb89a1e3fb21e0e3f992a33beb9f545be989919bef75384be564d77bf000000000000000000000000000080bf000080bf45a8303fb21e0e3f999919becbcc4cbe989919bef75384be564d77bf000000000000000000000000000080bf000080bf44a8303fd39c093f982a33beb9f545becbcc4cbdf30435bff40435bf03a440340000000000000000000080bf000080bfb89a1e3fb21e0e3fb9f545be992a33becbcc4cbdf30435bff40435bf03a440340000000000000000000080bf000080bfb89a1e3fe36e113fb9f545be992a33be989919bef30435bff40435bf03a440340000000000000000000080bf000080bf45a8303fe46e113f992a33beb9f545be989919bef30435bff40435bf03a440340000000000000000000080bf000080bf45a8303fb21e0e3fb9f545be992a33becbcc4cbd554d77bffe5384be8726e833fe53843e554d77bf00000000000080bfd2db563faf3d9b3ecbcc4cbe999919becbcc4cbd554d77bffe5384be8726e833ff53843e554d77bf00000000000080bff359523faf3d9b3ecbcc4cbe989919be999919be554d77bffe5384be8726e833fe53843e554d77bf00000000000080bff259523fc858bf3eb9f545be992a33be989919be554d77bffe5384be8726e833fe53843e554d77bf00000000000080bfd2db563fc858bf3e0ad723be6d562fbbcecc4cbd0c5484be534d773f1809f2b345dd313f9f583e3e54dd313f000080bfa240de3eec9f5c3f0ad723be74562fbb999919be0c5484be534d773f1809f2b340dd313f98583e3e59dd313f000080bfc7b8c43effdb4f3f982a33be60e2dabb989919be0c5484be534d773f1809f2b340dd313f98583e3e57dd313f000080bf8ce6c03e1dc5513f992a33be60e2dabbcfcc4cbd0c5484be534d773f1809f2b345dd313f9e583e3e53dd313f000080bf666eda3e0a895e3f982a33be60e2dabb989919bef30435bff404353f06a440b4f40435bff30435bf00000000000080bf567a383fc858bf3eb9f545bea011cdbc989919bef30435bff404353f06a440b4f40435bff20435bf00000000000080bf87ca3b3fc858bf3eb9f545bea011cdbccfcc4cbdf30435bff404353f06a440b4f30435bff30435bf00000000000080bf87ca3b3fb03d9b3e992a33be60e2dabbcfcc4cbdf30435bff404353f06a440b4f30435bff30435bf00000000000080bf567a383fb03d9b3eb9f545bea011cdbc989919be554d77bf0654843e747541b4065484be534d77bf00000000000080bf87ca3b3fc858bf3ecbcc4cbecbcc4cbd989919be554d77bf0654843e747541b4065484be534d77bf00000000000080bf664c403fc858bf3ecbcc4cbecbcc4cbdcbcc4cbd554d77bf0654843e747541b4065484be534d77bf00000000000080bf664c403faf3d9b3eb9f545bea011cdbccfcc4cbd554d77bf0654843e747541b4065484be554d77bf00000000000080bf87ca3b3fb03d9b3e0ad723be989919be59562fbb065484be00000000534d773fa66f2e3f5f77353f55ad3a3e000080bf0cae3b3f417a643f0ad723bececc4cbd6d562fbb065484be00000000534d773fad6f2e3f5877353f5cad3a3e000080bf4e92493fb0f2583f992a33becfcc4cbd60e2dabb065484be00000000534d773fac6f2e3f5a77353f5dad3a3e000080bfba14483f1e27573f982a33be989919be40e2dabb065484be00000000534d773fa66f2e3f6077353f56ad3a3e000080bf78303a3fafae623f992a33becfcc4cbd60e2dabbec0435bf00000000f904353f00000000000080bf00000000000080bf664c403f8e998b3eb9f545becfcc4cbda011cdbcec0435bf00000000f904353f00000000000080bf00000000000080bf664c403ff139923eb9f545be989919be9811cdbcec0435bf00000000f904353f00000000000080bf00000000000080bff259523ff139923e982a33be989919be40e2dabbec0435bf00000000f904353f00000000000080bf00000000000080bff259523f8e998b3eb9f545becfcc4cbda011cdbc584d77bf00000000e153843e00000000000080bf00000000000080bf664c403ff139923ecbcc4cbecbcc4cbdcbcc4cbd584d77bf00000000e153843e00000000000080bf00000000000080bf664c403faf3d9b3ecbcc4cbe999919becbcc4cbd584d77bf00000000e153843e00000000000080bf00000000000080bff359523faf3d9b3eb9f545be989919be9811cdbc584d77bf00000000e153843e00000000000080bf00000000000080bff259523ff139923ecccc4cbdcbcc4cbecbcc4cbd00000000564d77bff653843e00000000f65384be564d77bf000080bfb89a1e3f8d1eef3ececc4cbdb9f545bea011cdbc00000000564d77bff653843e00000000f65384be564d77bf000080bfd9181a3f8d1eef3e989919beb9f545be9811cdbc00000000564d77bff653843e00000000f65384be564d77bf000080bfd9181a3fd39c093f999919becbcc4cbecbcc4cbd00000000564d77bff653843e00000000f65384be564d77bf000080bfb89a1e3fd39c093fcecc4cbdb9f545bea011cdbc00000000f10435bff404353f00000000f50435bff10435bf000080bfd9181a3f8d1eef3ececc4cbd992a33be60e2dabb00000000f10435bff404353f00000000f40435bff10435bf000080bfa8c8163f8d1eef3e989919be992a33be40e2dabb00000000f10435bff404353f00000000f50435bff10435bf000080bfa8c8163fd39c093f989919beb9f545be9811cdbc00000000f10435bff404353f00000000f40435bff10435bf000080bfd9181a3fd39c093fcecc4cbd0ad723be6d562fbb00000000fe5384be554d773f1e892e3f6aea343f759c413e000080bff551463f1a1f743f999919be0ad723be5d562fbb00000000fe5384be554d773ffa882e3f8bea343f999c413e000080bf61623b3fa8f2663f989919be992a33be40e2dabb00000000fe5384be554d773ffd882e3f88ea343f969c413e000080bf8c73393f9dd9683fcecc4cbd992a33be60e2dabb00000000fe5384be554d773f23892e3f65ea343f719c413e000080bf2063443f1006763fcecc4cbdcbcc4cbe999919be00000000000080bf000000000000000000000000000080bf000080bf45a8303f8d1eef3ecccc4cbdcbcc4cbecbcc4cbd00000000000080bf000000000000000000000000000080bf000080bfb89a1e3f8d1eef3e999919becbcc4cbecbcc4cbd00000000000080bf000000000000000000000000000080bf000080bfb89a1e3fd39c093f999919becbcc4cbe989919be00000000000080bf000000000000000000000000000080bf000080bf44a8303fd39c093fcbcc4c3e989919becbcc4cbd0000803f000000000000000000000000000080bf00000000000080bfb853b83e965e183fcbcc4c3e999919be989919be0000803f000000000000000000000000000080bf00000000000080bf7e51b83ea89a0b3fcbcc4c3ecbcc4cbd999919be0000803f000000000000000000000000000080bf00000000000080bf6436943ea89a0b3fcbcc4c3ecbcc4cbdcbcc4cbd0000803f000000000000000000000000000080bf00000000000080bf9f38943e965e183f9999193e989919becbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bf7e51b83e74adfd3ecbcc4c3d999919becbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bfb853b83e9a25e43ecbcc4c3dcbcc4cbdcbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bf9f38943e9a25e43e9899193ecbcc4cbdcbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bf6436943e74adfd3e9999193ecbcc4cbecbcc4cbda560833eba8c6ebfb160833e00000000bfed873e3bd0763f000080bf98f60e3fd39c093f992a333eb9f545becfcc4cbda560833eba8c6ebfb160833e0b4aec3a2f2a883ec9c7763f000080bf98f60e3fb21e0e3f9c15323ec9503fbe80b9d5bca560833eba8c6ebfb160833e00000000bfed873e3bd0763f000080bfa247133fdced0d3f9899193eb9f545bea011cdbca560833eba8c6ebfb160833ec180ecba2cb1873e74d8763f000080bf7778133fd29c093f9899193eb9f545bea011cdbc44015f3eb3ac30bfadac303faeb9e0be09f40f3f0f69333f000080bf82f8383e9c12cf3e9c15323ec9503fbe80b9d5bc44015f3eb3ac30bfadac303faab9e0be0af40f3f1069333f000080bf9a992f3ec452d63e9c15323e9d1532be40c057bc44015f3eb3ac30bfadac303fabb9e0be0af40f3f1069333f000080bf52fd373ed8d8d83e9899193e992a33be60e2dabb44015f3eb3ac30bfadac303faeb9e0be09f40f3f0f69333f000080bf20e3443e4ca8d23e992a333e989919be60e2dabb8762833eef5e83beb68c6e3fb4aa29bf32b0273f2ccbb93e000080bfcdf9433edc12df3e0ad7233e999919be77562fbb8762833eef5e83beb68c6e3f8aaa29bf5db0273f29cbb93e000080bfe85a4c3ef761db3e0ad7233ebd3d1fbe37ca8abb8762833eef5e83beb68c6e3fb2aa29bf35b0273f2acbb93e000080bf0c75493e1402da3e9c15323e9d1532be40c057bc8762833eef5e83beb68c6e3f28aa29bfc0b0273f2ccbb93e000080bf52fd373ed8d8d83e1e5b213e205b21befaaf88bb8762833eef5e83beb68c6e3f25aa29bfc4b0273f2dcbb93e000080bf9cba493e04e5d83e20731e3e0ad723be1d9e83bb8762833eef5e83beb68c6e3f8ea929bf5cb1273f2ccbb93e000080bf530e4a3e4c95d73e9899193e992a33be60e2dabb8762833eef5e83beb68c6e3f8da929bf5cb1273f2bcbb93e000080bf20e3443e4ca8d23e9899193e0ad723be6d562fbb8762833eef5e83beb68c6e3f88a929bf62b1273f2ccbb93e000080bf5eb84c3edf68d63e992a333e989919be60e2dabba9ac303f3e015fbeb7ac303f80b2f3be40ee143f46d8283f000080bfcdf9433edc12df3e9c15323e9d1532be40c057bca9ac303f3e015fbeb7ac303f83b2f3be3cee143f47d8283f000080bf52fd373ed8d8d83ec9503f3e9c1532be80b9d5bca9ac303f3e015fbeb7ac303f82b2f3be40ee143f47d8283f000080bfda202f3ebcbfdc3eb9f5453e989919bea011cdbca9ac303f3e015fbeb7ac303f7eb2f3be41ee143f46d8283f000080bfaa63373eae9de43ecbcc4c3e989919becbcc4cbdba8c6e3fa76083bea760833efa8117be4407c13e9a106a3f000080bfe8a92f3e0804e83eb9f5453e989919bea011cdbcba8c6e3fa76083bea760833ed10517bee6adc13e31f3693f000080bfaa63373eae9de43ec9503f3e9c1532be80b9d5bcba8c6e3fa76083bea760833e258316be0c5dc23e22d4693f000080bfda202f3ebcbfdc3eb9f5453e992a33becfcc4cbdba8c6e3fa76083bea760833ed00517bee5adc13e31f3693f000080bfa42d273e44bddf3eb9f5453e992a33becfcc4cbdb2ac303facac30bf6d015f3e00000000a6139a3e2322743f000080bf98f60e3fe36e113fc9503f3e9c1532be80b9d5bcb2ac303facac30bf6d015f3e00000000d9139a3e1a22743f000080bfa247133f0443103f9c15323ec9503fbe80b9d5bcb2ac303facac30bf6d015f3e000000000f149a3e1122743f000080bfa247133fdced0d3f992a333eb9f545becfcc4cbdb2ac303facac30bf6d015f3e00000000d0139a3e1c22743f000080bf98f60e3fb21e0e3f9c15323e80b9d5bc40c057bc45cd813e96f3843e1f8c6e3fc27f43bfbd1e253fe099e53c000080bfce8c7e3ea272003f0ad7233e5cb0d0bc3ae719bc45cd813e96f3843e1f8c6e3fe2bf43bffcd0243f957dea3c000080bff951833eb0a0fd3e0ad7233e07d723bd0e77b4bb45cd813e96f3843e1f8c6e3f3d5e43bf4647253f9c0ce33c000080bf0730803e0b66f93e0ad7233ececc4cbd6d562fbb45cd813e96f3843e1f8c6e3f813f43bf606c253f19b6e03c000080bfbb167c3ea979f63e992a333ecfcc4cbd60e2dabb45cd813e96f3843e1f8c6e3f813f43bf606c253f25b6e03c000080bf9fb5733e8c2afa3e9c15323e40c057bc80b9d5bc47015f3ebaac303fa4ac303f131d45bf9d560e3f7046a0be000080bf793f813ec2af023f0ad7233e3ae719bc5cb0d0bc47015f3ebaac303fa4ac303f161d45bf9c560e3f6e46a0be000080bf91c6853ea499013f0ad7233e5cb0d0bc3ae719bc47015f3ebaac303fa4ac303f181d45bf9a560e3f6646a0be000080bff951833eb0a0fd3e9c15323e80b9d5bc40c057bc47015f3ebaac303fa4ac303f171d45bf9b560e3f6a46a0be000080bfce8c7e3ea272003f9c15323e40c057bc80b9d5bc36cd813e248c6e3f89f3843e000000000458893e129e76bf000080bf11e5163f479e6f3f992a333e60e2dabbcfcc4cbd36cd813e248c6e3f89f3843e18ac86bafd92893ed09576bf000080bf1b361b3f1ccf6f3f0ad7233e77562fbbcecc4cbd36cd813e248c6e3f89f3843e7fb286ba0093893ed09576bf000080bf1b361b3f651b6d3f0ad7233e1877b4bb06d723bd36cd813e248c6e3f89f3843e00000000ce76893ec79976bf000080bff367193f651b6d3f0ad7233e3ae719bc5cb0d0bc36cd813e248c6e3f89f3843eaf62263be21c893e13a676bf000080bfa8c8163f651b6d3f992a333e60e2dabbcfcc4cbdacac303fb2ac303f74015f3e00000000cb139a3e1c2274bf000080bf1b361b3f1ccf6f3f9c15323e40c057bc80b9d5bcacac303fb2ac303f74015f3e00000000b0139a3e222274bf000080bf11e5163f479e6f3fc9503f3e80b9d5bc80b9d5bcacac303fb2ac303f74015f3e00000000c8139a3e1e2274bf000080bf11e5163f6ef3713fb9f5453ea011cdbccfcc4cbdacac303fb2ac303f74015f3e00000000de139a3e192274bf000080bf1b361b3f4e1f733fcbcc4c3ecbcc4cbdcbcc4cbdba8c6e3fa760833eaa60833ee22db6be73da013f97f0483f000080bfba655f3edc8d013fb9f5453ea011cdbccfcc4cbdba8c6e3fa760833eaa60833e9a89b6befcf7033f9a79473f000080bf5cbf6e3e212e043fc9503f3e80b9d5bc80b9d5bcba8c6e3fa760833eaa60833ef4e4b6bed52d063fa0e9453f000080bf56b0753e1466023fb9f5453ecfcc4cbda011cdbcba8c6e3fa760833eaa60833e9a89b6befcf7033f9a79473f000080bf7c1f673e5fb5ff3eb9f5453ecfcc4cbda011cdbca9ac303f3a015f3eb6ac303f56ab21bf109e253f72d0da3e000080bf7c1f673e5fb5ff3ec9503f3e80b9d5bc80b9d5bca9ac303f3a015f3eb6ac303f5dab21bf009e253f89d0da3e000080bf56b0753e1466023f9c15323e80b9d5bc40c057bca9ac303f3a015f3eb6ac303f65ab21bff19d253fa1d0da3e000080bfce8c7e3ea272003f992a333ecfcc4cbd60e2dabba9ac303f3a015f3eb6ac303f5bab21bf029e253f84d0da3e000080bf9fb5733e8c2afa3e9899193ecbcc4cbe999919bea360833eba8c6ebfae6083be000000009fed87be3fd0763f000080bf17d2f93ed39c093f9899193eb9f545be992a33bea360833eba8c6ebfae6083be27e4ec3a10b187be77d8763f000080bf58cef03ed39c093f9c15323ec9503fbe9c1532bea360833eba8c6ebfae6083be000000009eed87be3fd0763f000080bf0330f13edded0d3f992a333eb9f545be989919bea360833eba8c6ebfae6083beaad5ebba102a88becfc7763f000080bf17d2f93eb21e0e3f992a333eb9f545be989919beabac303fb0ac30bf76015fbe00000000ca139abe1c22743f000080bf17d2f93eb21e0e3f9c15323ec9503fbe9c1532beabac303fb0ac30bf76015fbe00000000af139abe2222743f000080bf0330f13edded0d3fc9503f3e9d1532be9c1532beabac303fb0ac30bf76015fbe00000000c7139abe1e22743f000080bf0330f13e0443103fb9f5453e992a33be989919beabac303fb0ac30bf76015fbe00000000de139abe1922743f000080bf18d2f93ee46e113fcbcc4c3e999919be989919bebd8c6e3faa6083be896083be035f54be3bf274bf9d8e503e000080bf7e51b83ea89a0b3fb9f5453e992a33be989919bebd8c6e3faa6083be896083be587253bed6d674bf807c533e000080bf6255c13e5ec00a3fc9503f3e9d1532be9c1532bebd8c6e3faa6083be896083bee67852be68b974bfa890563e000080bf54f3c03ef1de063fb9f5453e989919be992a33bebd8c6e3faa6083be896083be577253bed6d674bf7f7c533e000080bf1551b83e7490073fb9f5453e989919be992a33bea6ac303f6c015fbeb5ac30bf43b01dbe03db79bf60b01d3e000080bf1551b83e7490073fc9503f3e9d1532be9c1532bea6ac303f6c015fbeb5ac30bf54b01dbe05db79bf51b01d3e000080bf54f3c03ef1de063f9d15323e9c1532bec9503fbea6ac303f6c015fbeb5ac30bf47b01dbe05db79bf5fb01d3e000080bf54f3c03e7192033f992a333e989919beb9f545bea6ac303f6c015fbeb5ac30bf39b01dbe03db79bf6bb01d3e000080bf1551b83eeee0023f9999193e989919becbcc4cbeaa60833e896083bebd8c6ebf828f50be38f274bf6b5e543e000080bf7e51b83e74adfd3e992a333e989919beb9f545beaa60833e896083bebd8c6ebff07c53bed6d674bfe571533e000080bf1551b83eeee0023f9d15323e9c1532bec9503fbeaa60833e896083bebd8c6ebf9d9056be6eb974bf9a78523e000080bf54f3c03e7192033f9899193e992a33beb9f545beaa60833e896083bebd8c6ebfef7c53bed6d674bfe471533e000080bf6255c13e0a62ff3e9899193e992a33beb9f545be63015f3ebdac30bf9fac30bf00000000e50435bf0105353f000080bff62dea3ed39c093f9d15323e9c1532bec9503fbe63015f3ebdac30bf9fac30bf00000000e60435bfff04353f000080bfb485ec3edded0d3f9c15323ec9503fbe9c1532be63015f3ebdac30bf9fac30bf00000000e80435bffe04353f000080bf0330f13edded0d3f9899193eb9f545be992a33be63015f3ebdac30bf9fac30bf00000000e60435bfff04353f000080bf58cef03ed39c093f0ad7233efc4775bb87751dbeb660833eb68c6e3fbb6083beb33cec3a382a88bec9c776bf000080bfd3f12d3f651b6d3f0ad7233e6d562fbb989919beb660833eb68c6e3fbb6083be88edeb3a242a88becbc776bf000080bfa7432d3f651b6d3f992a333e60e2dabb989919beb660833eb68c6e3fbb6083be066ba33a9e1788be68ca76bf000080bfa7432d3f1ccf6f3f72a5203e465c78bb71a520beb660833eb68c6e3fbb6083bef33b07bca1d786be0bf476bf000080bfab812e3f418b6c3f87751d3e0e4875bb0ad723beb660833eb68c6e3fbb6083be5c0ad0ba86b887be77d776bf000080bfcf112f3f69fb6b3f9c15323e40c057bc9c1532beb660833eb68c6e3fbb6083be000000008efb87be54ce76bf000080bfb194313f479e6f3f9999193e77562fbb0ad723beb660833eb68c6e3fbb6083bee570ecba3db187be70d876bf000080bfcf112f3f3d4d6b3f9899193e60e2dabb992a33beb660833eb68c6e3fbb6083bea0f5ecba1bb187be75d876bf000080bf86c5313f3d4d6b3f9899193e60e2dabb992a33be3c015f3eb9ac303fa7ac30bf00000000eb0435bffb0435bf000080bf86c5313f3d4d6b3f9c15323e40c057bc9c1532be3c015f3eb9ac303fa7ac30bf00000000eb0435bffb0435bf000080bfb194313f479e6f3f9c15323e80b9d5bcc9503fbe3c015f3eb9ac303fa7ac30bf00000000ea0435bffc0435bf000080bfd8e9333f479e6f3f9899193ea011cdbcb9f545be3c015f3eb9ac303fa7ac30bf00000000ea0435bffb0435bf000080bfb815353f3d4d6b3f9899193ecbcc4cbdcbcc4cbea760833ea760833eba8c6ebf8d8f503e34f274bfa45e54be000080bf6436943e74adfd3e9899193ea011cdbcb9f545bea760833ea760833eba8c6ebf127d533ed2d674bf177253be000080bfcd328b3e0a62ff3e9c15323e80b9d5bcc9503fbea760833ea760833eba8c6ebfd690563e66b974bfc47852be000080bf13948b3e7192033f992a333ecfcc4cbdb9f545bea760833ea760833eba8c6ebf137d533ed2d674bf187253be000080bffc35943eeee0023f992a333ecfcc4cbdb9f545bea9ac303f39015f3eb6ac30bf3bb01d3e07db79bf1fb01dbe000080bffc35943eeee0023f9c15323e80b9d5bcc9503fbea9ac303f39015f3eb6ac30bf2cb01d3e07db79bf30b01dbe000080bf13948b3e7192033fc9503f3e80b9d5bc9d1532bea9ac303f39015f3eb6ac30bf3ab01d3e07db79bf20b01dbe000080bf13948b3ef1de063fb9f5453ecfcc4cbd992a33bea9ac303f39015f3eb6ac30bf46b01d3e07db79bf15b01dbe000080bffc35943e7490073fcbcc4c3ecbcc4cbd999919beba8c6e3fb460833ea26083be055f543e39f274bfba8e50be000080bf6436943ea89a0b3fb9f5453ecfcc4cbd992a33beba8c6e3fb460833ea26083be6272533ed6d674bf817c53be000080bffc35943e7490073fc9503f3e80b9d5bc9d1532beba8c6e3fb460833ea26083bef778523e68b974bf8a9056be000080bf13948b3ef1de063fb9f5453ea011cdbc989919beba8c6e3fb460833ea26083be6372533ed6d674bf817c53be000080bfcd328b3e5ec00a3fb9f5453ea011cdbc989919beb0ac303fabac303f76015fbe00000000de139abe192274bf000080bfa7432d3f4e1f733fc9503f3e80b9d5bc9d1532beb0ac303fabac303f76015fbe00000000c9139abe1c2274bf000080bfb294313f6ef3713f9c15323e40c057bc9c1532beb0ac303fabac303f76015fbe00000000b2139abe202274bf000080bfb194313f479e6f3f992a333e60e2dabb989919beb0ac303fabac303f76015fbe00000000cc139abe1c2274bf000080bfa7432d3f1ccf6f3fcbcc4c3dcbcc4cbecbcc4cbda86083beba8c6ebfa660833e000000009aed873e3fd0763f000080bf98f60e3f8c1eef3ecfcc4c3db9f545be9811cdbca86083beba8c6ebfa660833ec8bbec3a13b1873e77d8763f000080bf7778133f8d1eef3e80b9d53cc9503fbe78b9d5bca86083beba8c6ebfa660833e000000009aed873e3fd0763f000080bfa247133f787ce63ea011cd3cb9f545becbcc4cbda86083beba8c6ebfa660833e3cbcebba022a883ecfc7763f000080bf98f60e3fcf1ae63ea011cd3cb9f545becbcc4cbdb1ac30bfb2ac30bf32015f3e0000000091139a3e2522743f000080bf98f60e3fcf1ae63e80b9d53cc9503fbe78b9d5bcb1ac30bfb2ac30bf32015f3e0000000075139a3e2b22743f000080bfa247133f787ce63e40c0573c9d1532be78b9d5bcb1ac30bfb2ac30bf32015f3e000000008f139a3e2722743f000080bfa247133f2bd2e13e60e2da3b992a33becbcc4cbdb1ac30bfb2ac30bf32015f3e00000000a5139a3e2322743f000080bf98f60e3f6c7adf3e6d562f3b0ad723becbcc4cbd268c6ebf34cd81be84f3843e6570863e6e0477bf00000000000080bfd482d93d693b503f60e2da3b992a33becbcc4cbd268c6ebf34cd81be84f3843e9145863e360a77bf1e928aba000080bf8e20ef3d693b503f40c0573c9d1532be78b9d5bc268c6ebf34cd81be84f3843ef397863ef9fe76bfa1fcb23a000080bfe699ed3d5fea4b3f38e7193c0ad723be54b0d0bc268c6ebf34cd81be84f3843ec5c3863ed4f876bff0202e3b000080bfd482d93df6cd4b3f0677b43b0ad723be07d723bd268c6ebf34cd81be84f3843e0000803f0000000000000000000080bfd482d93d416d4e3f5cb0d03c0ad723be23e719bcb5ac30bf21015fbeadac303f0d149a3e132274bf00000000000080bfd482d93dc2e6483f38e7193c0ad723be54b0d0bcb5ac30bf21015fbeadac303fe5139a3e192274bf00000000000080bfd482d93df6cd4b3f40c0573c9d1532be78b9d5bcb5ac30bf21015fbeadac303fc8139a3e1e2274bf00000000000080bfe699ed3d5fea4b3f80b9d53c9c1532be20c057bcb5ac30bf21015fbeadac303ff4139a3e172274bf00000000000080bfe699ed3d3895493f06d7233d0ad723befd76b4bb6df384be26cd81be2a8c6e3ff3dd45bfad0e223fe5c730bd000080bfbf60823ee9b8bd3e5cb0d03c0ad723be23e719bc6df384be26cd81be2a8c6e3ffb5644bf1af7233f89aa21bd000080bf90c6853e59baba3e80b9d53c9c1532be20c057bc6df384be26cd81be2a8c6e3f7e5845bfa3b6223fb4992bbd000080bf20f9813e3e62b73ecfcc4c3d992a33be40e2dabb6df384be26cd81be2a8c6e3fb35746bf5174213fab8635bd000080bf7a45783e0c05bc3ececc4c3d0ad723be5d562fbb6df384be26cd81be2a8c6e3fb05746bf5474213f8b8635bd000080bf5c0d803ea0c5bf3ecfcc4c3d992a33be40e2dabb53015fbeafac30bfb0ac303f00000000ef04353ff704353f000080bfa8c8163f8c1eef3e80b9d53c9c1532be20c057bc53015fbeafac30bfb0ac303f00000000f304353ff404353f000080bfc99c153f787ce63e80b9d53cc9503fbe78b9d5bc53015fbeafac30bfb0ac303f00000000f304353ff204353f000080bfa247133f787ce63ecfcc4c3db9f545be9811cdbc53015fbeafac30bfb0ac303f00000000f004353ff604353f000080bf7778133f8d1eef3ecbcc4c3dcbcc4cbe989919bea36083bebc8c6ebfa86083be000000009bed87be3fd0763f000080bf17d2f93e8d1eef3e9811cd3cb9f545be989919bea36083bebc8c6ebfa86083be7df2eb3a102a88becfc7763f000080bf16d2f93ecf1ae63e78b9d53cc9503fbe9c1532bea36083bebc8c6ebfa86083be000000009ded87be3fd0763f000080bf0230f13e797ce63ecbcc4c3db9f545be992a33bea36083bebc8c6ebfa86083be1ee3ecba09b187be77d8763f000080bf58cef03e8d1eef3ecbcc4c3db9f545be992a33be3a015fbeb7ac30bfa9ac30bf00000000eb0435bffa04353f000080bf58cef03e8d1eef3e78b9d53cc9503fbe9c1532be3a015fbeb7ac30bfa9ac30bf00000000eb0435bffa04353f000080bf0230f13e797ce63e78b9d53c9d1532bec9503fbe3a015fbeb7ac30bfa9ac30bf00000000ec0435bffa04353f000080bfb485ec3e797ce63ecbcc4c3d992a33beb9f545be3a015fbeb7ac30bfa9ac30bf00000000ec0435bffa04353f000080bff62dea3e8d1eef3ecbcc4c3d999919becbcc4cbeb26083bea06083beba8c6ebf2f57abbe2f8261bf7b60ab3e000080bfb853b83e9a25e43ecbcc4c3d992a33beb9f545beb26083bea06083beba8c6ebfa178a8be002262bf3aeeaa3e000080bf9c57c13e2fdae53e78b9d53c9d1532bec9503fbeb26083bea06083beba8c6ebf2d57abbe2f8261bf7b60ab3e000080bfa0f6c03e8167e13e9811cd3c989919beb9f545beb26083bea06083beba8c6ebf0e34aebe2be060bf0fd1ab3e000080bf6d54b83e5d7adf3e9811cd3c989919beb9f545beabac30bf24015fbeb8ac30bfc4139a3e1e2274bf00000000000080bf9611cb3d061b6a3f78b9d53c9d1532bec9503fbeabac30bf24015fbeb8ac30bf83139a3e292274bf00000000000080bfe899ed3d26ef683f20c0573c9c1532be9d1532beabac30bf24015fbeb8ac30bf3f139a3e322274bf00000000000080bfe699ed3d009a663f40e2da3b989919be992a33beabac30bf24015fbeb8ac30bf8c139a3e272274bf00000000000080bf9611cb3dd4ca663f5062843bc9881ebe0ad723bebc8c6ebf446283befe5e83be732b883e9dc776bf2352ebba000080bf2a07d23d1d17643f54562f3b989919be0ad723bebc8c6ebf446283befe5e83be7f2b883e9dc776bf3a80ebba000080bf9411cb3d1d17643f40e2da3b989919be992a33bebc8c6ebf446283befe5e83be0b1d883ea7c976bff0edb2ba000080bf9611cb3dd4ca663f65e8893bda6c21bedb6c21bebc8c6ebf446283befe5e83beeffe863e41ef76bf81d5e93b000080bff21ad63d21aa633f05678b3bb9e522be073320bebc8c6ebf446283befe5e83be9802863e220c77bfe3b06e3c000080bf7a2ed83dce72633f5572893b0ad723becd171fbebc8c6ebf446283befe5e83be97b8873e73d776bf3a82d53a000080bfd482d93ddf40633f20c0573c9c1532be9d1532bebc8c6ebf446283befe5e83bee5f9873e8dce76bf00000000000080bfe699ed3d009a663f5d562f3b0ad723be999919bebc8c6ebf446283befe5e83be8eb2873e41d876bfce03ed3a000080bfd482d93df648623f40e2da3b992a33be989919bebc8c6ebf446283befe5e83bea8b2873e3ed876bf9aa1ec3a000080bf8e20ef3df548623f40e2da3b992a33be989919beb4ac30bfacac30bf32015fbe00000000bb139abe2022743f000080bf16d2f93e6c7adf3e20c0573c9c1532be9d1532beb4ac30bfacac30bf32015fbe00000000b2139abe2022743f000080bf0230f13e2bd2e13e78b9d53cc9503fbe9c1532beb4ac30bfacac30bf32015fbe00000000aa139abe2222743f000080bf0230f13e797ce63e9811cd3cb9f545be989919beb4ac30bfacac30bf32015fbe00000000b3139abe2022743f000080bf16d2f93ecf1ae63ececc4c3d6d562fbb0ad723be90f384be218c6e3f40cd81be000000007e7086be6a0477bf000080bfcf112f3fb03f593fcfcc4c3d60e2dabb992a33be90f384be218c6e3f40cd81be6fe8893acb4586be2d0a77bf000080bf86c5313fb13f593f80b9d53c40c057bc9c1532be90f384be218c6e3f40cd81be0fbab2baef9786befbfe76bf000080bfb194313fa6ee543f5cb0d03c3ae719bc0ad723be90f384be218c6e3f40cd81beb1c02dbba1c386bed8f876bf000080bfcf112f3f3ed2543f07d7233d0e77b4bb0ad723be90f384be218c6e3f40cd81be0000803f0000000000000000000080bfcf112f3f8971573f3ae7193c5cb0d0bc0ad723beb5ac30bfabac303f3d015fbeed0435bff80435bf00000000000080bfe0cc393c1d17643f5cb0d03c3ae719bc0ad723beb5ac30bfabac303f3d015fbeee0435bff70435bf00000000000080bf000000001d17643f80b9d53c40c057bc9c1532beb5ac30bfabac303f3d015fbeed0435bff80435bf00000000000080bf50752e3b009a663f40c0573c80b9d5bc9c1532beb5ac30bfabac303f3d015fbeed0435bff90435bf00000000000080bf10e7403c009a663f40c0573c80b9d5bc9c1532be248c6ebf89f3843e36cd81bef85789be139e76bf00000000000080bf10e7403c009a663f60e2da3bcfcc4cbd992a33be248c6ebf89f3843e36cd81bee19289bed59576bfe439863a000080bfcb94ea3cd4ca663f77562f3bcecc4cbd0ad723be248c6ebf89f3843e36cd81beed9289bed49576bff966863a000080bfc994ea3c1d17643f1877b43b06d723bd0ad723be248c6ebf89f3843e36cd81becf7689bec79976bf00000000000080bfcbcfb03c1d17643f3ae7193c5cb0d0bc0ad723be248c6ebf89f3843e36cd81bee21c89be13a676bfae6226bb000080bfe0cc393c1d17643f60e2da3bcfcc4cbd992a33beb2ac30bf74015f3eacac30bfa6139abe232274bf00000000000080bfcb94ea3cd4ca663f40c0573c80b9d5bc9c1532beb2ac30bf74015f3eacac30bf53139abe302274bf00000000000080bf10e7403c009a663f80b9d53c80b9d5bcc9503fbeb2ac30bf74015f3eacac30bf9a139abe252274bf00000000000080bf10e7403c26ef683fa011cd3ccfcc4cbdb9f545beb2ac30bf74015f3eacac30bfde139abe192274bf00000000000080bfcb94ea3c061b6a3fcbcc4c3dcbcc4cbdcbcc4cbea76083beaa60833eba8c6ebf6957ab3e228261bf8860abbe000080bf9f38943e9a25e43ea011cd3ccfcc4cbdb9f545bea76083beaa60833eba8c6ebf6534ae3e16e060bf22d1abbe000080bf5439943e5d7adf3e80b9d53c80b9d5bcc9503fbea76083beaa60833eba8c6ebf6a57ab3e218261bf8960abbe000080bf5f978b3e8267e13ecfcc4c3da011cdbcb9f545bea76083beaa60833eba8c6ebfc078a83efa2162bf41eeaabe000080bf08358b3e2fdae53ecfcc4c3da011cdbcb9f545be3a015fbeb6ac303fa9ac30bf00000000ec0435bff90435bf000080bfb815353fb13f593f80b9d53c80b9d5bcc9503fbe3a015fbeb6ac303fa9ac30bf00000000ec0435bffa0435bf000080bfd8e9333fa6ee543f80b9d53c40c057bc9c1532be3a015fbeb6ac303fa9ac30bf00000000ec0435bffa0435bf000080bfb194313fa6ee543fcfcc4c3d60e2dabb992a33be3a015fbeb6ac303fa9ac30bf00000000eb0435bffa0435bf000080bf86c5313fb13f593f9899193ecbcc4cbe999919bedc53843e5a4d77bf0000000000000000000000000000803f000080bf17d2f93ed39c093f992a333eb9f545be989919bedc53843e5a4d77bf0000000000000000000000000000803f000080bf17d2f93eb21e0e3f992a333eb9f545becfcc4cbddc53843e5a4d77bf0000000000000000000000000000803f000080bf98f60e3fb21e0e3f9999193ecbcc4cbecbcc4cbddc53843e5a4d77bf0000000000000000000000000000803f000080bf98f60e3fd39c093f992a333eb9f545be989919bef404353ff10435bf0000000000000000000000000000803f000080bf17d2f93eb21e0e3fb9f5453e992a33be989919bef404353ff10435bf0000000000000000000000000000803f000080bf18d2f93ee46e113fb9f5453e992a33becfcc4cbdf404353ff10435bf0000000000000000000000000000803f000080bf98f60e3fe36e113f992a333eb9f545becfcc4cbdf404353ff10435bf0000000000000000000000000000803f000080bf98f60e3fb21e0e3fb9f5453e992a33be989919be564d773ff15384be000000003d1e80be446f6fbff21d803e000080bf6255c13e5ec00a3fcbcc4c3e999919be989919be564d773ff15384be000000003d1e80be426f6fbf061e803e000080bf7e51b83ea89a0b3fcbcc4c3e989919becbcc4cbd564d773ff15384be00000000361e80be366f6fbf691e803e000080bfb853b83e965e183fb9f5453e992a33becfcc4cbd564d773ff15384be00000000371e80be376f6fbf551e803e000080bf9c57c13e4b84173f992a333ecfcc4cbd60e2dabb0254843e00000000554d773fa5b739bf860b293ffcbf463e000080bf9fb5733e8c2afa3e0ad7233ececc4cbd6d562fbb0254843e00000000554d773fa3b739bf8a0b293ff6bf463e000080bfbb167c3ea979f63e0ad7233e999919be77562fbb0254843e00000000554d773f81b739bfb00b293fd5bf463e000080bfe85a4c3ef761db3e992a333e989919be60e2dabb0254843e00000000554d773f84b739bfab0b293fd7bf463e000080bfcdf9433edc12df3e992a333e989919be60e2dabbf104353f00000000f404353f692b0ebf6d771e3f672b0e3f000080bfcdf9433edc12df3eb9f5453e989919bea011cdbcf104353f00000000f404353f6b2b0ebf6a771e3f6a2b0e3f000080bfaa63373eae9de43eb9f5453ecfcc4cbda011cdbcf104353f00000000f404353f602b0ebf7e771e3f5e2b0e3f000080bf7c1f673e5fb5ff3e992a333ecfcc4cbd60e2dabbf104353f00000000f404353f5e2b0ebf80771e3f5b2b0e3f000080bf9fb5733e8c2afa3eb9f5453e989919bea011cdbc584d773f00000000e353843e81136ebe0ba1df3e3a775e3f000080bfaa63373eae9de43ecbcc4c3e989919becbcc4cbd584d773f00000000e353843e7e136ebe16a1df3e37775e3f000080bfe8a92f3e0804e83ecbcc4c3ecbcc4cbdcbcc4cbd584d773f00000000e353843e8c136ebedea0df3e44775e3f000080bfba655f3edc8d013fb9f5453ecfcc4cbda011cdbc584d773f00000000e353843e8e136ebed4a0df3e46775e3f000080bf7c1f673e5fb5ff3e992a333e60e2dabb989919be0954843e534d773f000000000000000000000000000080bf000080bfa7432d3f1ccf6f3f0ad7233e6d562fbb989919be0954843e534d773f000000000000000000000000000080bf000080bfa7432d3f651b6d3f0ad7233e77562fbbcecc4cbd0954843e534d773f000000000000000000000000000080bf000080bf1b361b3f651b6d3f992a333e60e2dabbcfcc4cbd0954843e534d773f000000000000000000000000000080bf000080bf1b361b3f1ccf6f3f992a333e60e2dabbcfcc4cbdf304353ff304353f000000000000000000000000000080bf000080bf1b361b3f1ccf6f3fb9f5453ea011cdbccfcc4cbdf304353ff304353f000000000000000000000000000080bf000080bf1b361b3f4e1f733fb9f5453ea011cdbc989919bef304353ff304353f000000000000000000000000000080bf000080bfa7432d3f4e1f733f992a333e60e2dabb989919bef304353ff304353f000000000000000000000000000080bf000080bfa7432d3f1ccf6f3fb9f5453ea011cdbccfcc4cbd554d773ffa53843e000000003f1e803e366f6fbf5f1e80be000080bf07358b3e4b84173fcbcc4c3ecbcc4cbdcbcc4cbd554d773ffa53843e000000003d1e803e346f6fbf6f1e80be000080bf9f38943e965e183fcbcc4c3ecbcc4cbd999919be554d773ffa53843e00000000441e803e3e6f6fbf171e80be000080bf6436943ea89a0b3fb9f5453ea011cdbc989919be554d773ffa53843e00000000461e803e426f6fbf051e80be000080bfcd328b3e5ec00a3f9899193ecbcc4cbdcbcc4cbeed53843e00000000564d77bf00000000000080bf00000000000080bf6436943e74adfd3e992a333ecfcc4cbdb9f545beed53843e00000000564d77bf00000000000080bf00000000000080bffc35943eeee0023f992a333e989919beb9f545beed53843e00000000564d77bf00000000000080bf00000000000080bf1551b83eeee0023f9999193e989919becbcc4cbeed53843e00000000564d77bf00000000000080bf00000000000080bf7e51b83e74adfd3e992a333ecfcc4cbdb9f545bef104353f00000000f40435bf00000000000080bf00000000000080bffc35943eeee0023fb9f5453ecfcc4cbd992a33bef104353f00000000f40435bf00000000000080bf00000000000080bffc35943e7490073fb9f5453e989919be992a33bef104353f00000000f40435bf00000000000080bf00000000000080bf1551b83e7490073f992a333e989919beb9f545bef104353f00000000f40435bf00000000000080bf00000000000080bf1551b83eeee0023fb9f5453ecfcc4cbd992a33be5a4d773f00000000dc5384be00000000000080bf00000000000080bffc35943e7490073fcbcc4c3ecbcc4cbd999919be5a4d773f00000000dc5384be00000000000080bf00000000000080bf6436943ea89a0b3fcbcc4c3e999919be989919be5a4d773f00000000dc5384be00000000000080bf00000000000080bf7e51b83ea89a0b3fb9f5453e989919be992a33be5a4d773f00000000dc5384be00000000000080bf00000000000080bf1551b83e7490073fcbcc4c3dcbcc4cbe989919be00000000564d77bff25384be00000000f25384be564d773f000080bf17d2f93e8d1eef3ecbcc4c3db9f545be992a33be00000000564d77bff25384be00000000f35384be564d773f000080bf58cef03e8d1eef3e9899193eb9f545be992a33be00000000564d77bff25384be00000000f35384be564d773f000080bf58cef03ed39c093f9899193ecbcc4cbe999919be00000000564d77bff25384be00000000f25384be564d773f000080bf17d2f93ed39c093fcbcc4c3db9f545be992a33be00000000f30435bff40435bf00000000f30435bff304353f000080bf58cef03e8d1eef3ecbcc4c3d992a33beb9f545be00000000f30435bff40435bf00000000f30435bff304353f000080bff62dea3e8d1eef3e9899193e992a33beb9f545be00000000f30435bff40435bf00000000f30435bff304353f000080bff62dea3ed39c093f9899193eb9f545be992a33be00000000f30435bff40435bf00000000f30435bff304353f000080bf58cef03ed39c093fcbcc4c3d992a33beb9f545be00000000f15384be564d77bf4a1e80be396f6fbf381e803e000080bf9c57c13e2fdae53ecbcc4c3d999919becbcc4cbe00000000f15384be564d77bf3d1e80be3b6f6fbf3b1e803e000080bfb853b83e9a25e43e9999193e989919becbcc4cbe00000000f15384be564d77bf821e80be326f6fbf341e803e000080bf7e51b83e74adfd3e9899193e992a33beb9f545be00000000f15384be564d77bf8f1e80be306f6fbf321e803e000080bf6255c13e0a62ff3ececc4c3d6d562fbb0ad723be00000000554d773ffe5384be00000000fe5384be554d77bf000080bfcf112f3fb03f593f9999193e77562fbb0ad723be00000000554d773ffe5384be00000000fe5384be554d77bf000080bfcf112f3f3d4d6b3f9899193e60e2dabb992a33be00000000554d773ffe5384be00000000fe5384be554d77bf000080bf86c5313f3d4d6b3fcfcc4c3d60e2dabb992a33be00000000554d773ffe5384be00000000fe5384be554d77bf000080bf86c5313fb13f593f9899193e60e2dabb992a33be00000000f404353ff10435bf00000000f30435bff40435bf000080bf86c5313f3d4d6b3f9899193ea011cdbcb9f545be00000000f404353ff10435bf00000000f30435bff40435bf000080bfb815353f3d4d6b3fcfcc4c3da011cdbcb9f545be00000000f404353ff10435bf00000000f30435bff40435bf000080bfb815353fb13f593fcfcc4c3d60e2dabb992a33be00000000f404353ff10435bf00000000f30435bff40435bf000080bf86c5313fb13f593f9899193ea011cdbcb9f545be00000000e353843e584d77bf831e803e346f6fbf271e80be000080bfcd328b3e0a62ff3e9899193ecbcc4cbdcbcc4cbe00000000e353843e584d77bf761e803e366f6fbf271e80be000080bf6436943e74adfd3ecbcc4c3dcbcc4cbdcbcc4cbe00000000e353843e584d77bf371e803e3e6f6fbf2c1e80be000080bf9f38943e9a25e43ecfcc4c3da011cdbcb9f545be00000000e353843e584d77bf421e803e3d6f6fbf2b1e80be000080bf08358b3e2fdae53e40e2da3b989919be992a33be554d77bfa7381134fe5384be00000000000080bf00000000000080bf9611cb3dd4ca663f54562f3b989919be0ad723be554d77bfa7381134fe5384be00000000000080bf00000000000080bf9411cb3d1d17643f77562f3bcecc4cbd0ad723be554d77bfa7381134fe5384be00000000000080bf00000000000080bfc994ea3c1d17643f60e2da3bcfcc4cbd992a33be554d77bfa7381134fe5384be00000000000080bf00000000000080bfcb94ea3cd4ca663f60e2da3bcfcc4cbd992a33bef30435bfeb320434f30435bf00000000000080bf00000000000080bfcb94ea3cd4ca663fa011cd3ccfcc4cbdb9f545bef30435bfeb320434f30435bf00000000000080bf00000000000080bfcb94ea3c061b6a3f9811cd3c989919beb9f545bef30435bfeb320434f30435bf00000000000080bf00000000000080bf9611cb3d061b6a3f40e2da3b989919be992a33bef30435bfeb320434f30435bf00000000000080bf00000000000080bf9611cb3dd4ca663fa011cd3ccfcc4cbdb9f545bef85384be00000000554d77bf00000000000080bf00000000000080bf5439943e5d7adf3ecbcc4c3dcbcc4cbdcbcc4cbef85384be00000000554d77bf00000000000080bf00000000000080bf9f38943e9a25e43ecbcc4c3d999919becbcc4cbef85384be00000000554d77bf00000000000080bf00000000000080bfb853b83e9a25e43e9811cd3c989919beb9f545bef85384be00000000554d77bf00000000000080bf00000000000080bf6d54b83e5d7adf3ecbcc4c3dcbcc4cbecbcc4cbdf75384be564d77bf0000000000000000000000000000803f000080bf98f60e3f8c1eef3ea011cd3cb9f545becbcc4cbdf75384be564d77bf0000000000000000000000000000803f000080bf98f60e3fcf1ae63e9811cd3cb9f545be989919bef75384be564d77bf0000000000000000000000000000803f000080bf16d2f93ecf1ae63ecbcc4c3dcbcc4cbe989919bef75384be564d77bf0000000000000000000000000000803f000080bf17d2f93e8d1eef3ea011cd3cb9f545becbcc4cbdf30435bff40435bf83b8d83300000000000000000000803f000080bf98f60e3fcf1ae63e60e2da3b992a33becbcc4cbdf30435bff40435bf83b8d83300000000000000000000803f000080bf98f60e3f6c7adf3e40e2da3b992a33be989919bef30435bff40435bf83b8d83300000000000000000000803f000080bf16d2f93e6c7adf3e9811cd3cb9f545be989919bef30435bff40435bf83b8d83300000000000000000000803f000080bf16d2f93ecf1ae63e6d562f3b0ad723becbcc4cbd554d77bf025484be000000000254843e554d77bf00000000000080bfd482d93d693b503f5d562f3b0ad723be999919be554d77bf025484be000000000154843e554d77bf00000000000080bfd482d93df648623f40e2da3b992a33be989919be554d77bf025484be000000000254843e554d77bf00000000000080bf8e20ef3df548623f60e2da3b992a33becbcc4cbd554d77bf025484be000000000154843e554d77bf00000000000080bf8e20ef3d693b503f9999193ecbcc4cbecbcc4cbd00000000554d77bff853843e00000000f853843e564d773f000080bf98f60e3fd39c093f9899193eb9f545bea011cdbc00000000554d77bff853843e00000000f853843e564d773f000080bf7778133fd29c093fcfcc4c3db9f545be9811cdbc00000000554d77bff853843e00000000f853843e564d773f000080bf7778133f8d1eef3ecbcc4c3dcbcc4cbecbcc4cbd00000000554d77bff853843e00000000f853843e564d773f000080bf98f60e3f8c1eef3e9899193eb9f545bea011cdbc00000000f30435bff304353f00000000f204353ff304353f000080bf7778133fd29c093f9899193e992a33be60e2dabb00000000f30435bff304353f00000000f204353ff304353f000080bfa8c8163fd29c093fcfcc4c3d992a33be40e2dabb00000000f30435bff304353f00000000f304353ff304353f000080bfa8c8163f8c1eef3ecfcc4c3db9f545be9811cdbc00000000f30435bff304353f00000000f304353ff304353f000080bf7778133f8d1eef3e9899193e0ad723be6d562fbb00000000fe5384be554d773fad043bbf06e0283fc9b9343e000080bf5eb84c3edf68d63ececc4c3d0ad723be5d562fbb00000000fe5384be554d773fc8043bbfecdf283fabb9343e000080bf5c0d803ea0c5bf3ecfcc4c3d992a33be40e2dabb00000000fe5384be554d773fc6043bbfefdf283fb1b9343e000080bf7a45783e0c05bc3e9899193e992a33be60e2dabb00000000fe5384be554d773faa043bbf0ce0283fceb9343e000080bf20e3443e4ca8d23e9899193ecbcc4cbe999919be00000000000080bf0000000000000000000000000000803f000080bf17d2f93ed39c093f9999193ecbcc4cbecbcc4cbd00000000000080bf0000000000000000000000000000803f000080bf98f60e3fd39c093fcbcc4c3dcbcc4cbecbcc4cbd00000000000080bf0000000000000000000000000000803f000080bf98f60e3f8c1eef3ecbcc4c3dcbcc4cbe989919be00000000000080bf0000000000000000000000000000803f000080bf17d2f93e8d1eef3e m_CompressedMesh: m_Vertices: m_NumItems: 0 @@ -7915,20 +9145,53 @@ Mesh: m_BitSize: 0 m_UVInfo: 0 m_LocalAABB: - m_Center: {x: 0, y: 0, z: -0.09999999} - m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.19999997} m_MeshUsageFlags: 0 + m_CookingOptions: 30 m_BakedConvexCollisionMesh: m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1.6879306 - m_MeshMetrics[1]: 1 + 'm_MeshMetrics[0]': 3.0308292 + 'm_MeshMetrics[1]': 1 m_MeshOptimizationFlags: 1 m_StreamData: serializedVersion: 2 offset: 0 size: 0 path: ---- !u!1 &918098384 +--- !u!1 &2121825121 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} + m_PrefabInstance: {fileID: 343040741} + m_PrefabAsset: {fileID: 0} +--- !u!4 &2121825122 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} + m_PrefabInstance: {fileID: 343040741} + m_PrefabAsset: {fileID: 0} +--- !u!64 &2121825125 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2121825121} + 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: -4437772860958094431, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} +--- !u!1 &2140681946 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -7936,37 +9199,106 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 918098385} - - component: {fileID: 918098386} + - component: {fileID: 2140681947} + - component: {fileID: 2140681948} m_Layer: 0 - m_Name: HandLeft + m_Name: Collider (4) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &918098385 +--- !u!4 &2140681947 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 918098384} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: 0} + m_GameObject: {fileID: 2140681946} + serializedVersion: 2 + m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} + m_LocalPosition: {x: -0.245, y: 0, z: -0.004} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 660021081} + m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} +--- !u!136 &2140681948 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2140681946} + 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: 2 + m_Radius: 0.02 + m_Height: 0.2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &188081216333578103 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6819434276863307335} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb84184823a056249bfba5107e766ec3, type: 3} + m_Name: + m_EditorClassIdentifier: + layerSet: 2 + interactors: + - {fileID: 6436482240471706213} + - {fileID: 764665970482468834} +--- !u!4 &201644940689064429 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 493922041563270451} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.007800013, y: 0.0013757758, z: 0.0055} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 54233951} - m_RootOrder: 1 + m_Father: {fileID: 6640532333174287149} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &918098386 -SkinnedMeshRenderer: +--- !u!114 &218416012922712036 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7311542647873375615} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_DelayTime: 0 +--- !u!23 &298864190649971979 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 918098384} + m_GameObject: {fileID: 8307141036015099956} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -7975,12 +9307,15 @@ SkinnedMeshRenderer: m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 - m_RayTracingMode: 3 + m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 2ab12257a86442740ba3dc5694817baa, type: 2} + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -8001,71 +9336,38 @@ SkinnedMeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -1400252653696632910, guid: 3cc1bfa741063664e8b13a63afcd062f, type: 3} - m_Bones: - - {fileID: 2109031085} - - {fileID: 740016310} - - {fileID: 1714243700} - - {fileID: 933831182} - - {fileID: 1418001335} - - {fileID: 679583488} - - {fileID: 1836407205} - - {fileID: 2030842803} - - {fileID: 2146657147} - - {fileID: 695049119} - - {fileID: 1466462400} - - {fileID: 1338586625} - - {fileID: 1289966973} - - {fileID: 388840135} - - {fileID: 2139940513} - - {fileID: 628411316} - - {fileID: 1494241464} - - {fileID: 595536807} - - {fileID: 391997631} - - {fileID: 1909973946} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1909973946} - m_AABB: - m_Center: {x: -0.10444905, y: -0.0046319105, z: 0.015674934} - m_Extent: {x: 0.10534169, y: 0.05054314, z: 0.081589594} - m_DirtyAABB: 0 ---- !u!1 &933831181 -GameObject: + m_AdditionalVertexStreams: {fileID: 0} +--- !u!4 &312356894876649652 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 933831182} - m_Layer: 0 - m_Name: Ring_2_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &933831182 + m_GameObject: {fileID: 1904414998833462851} + 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: 5155727875416655660} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &375804120739163510 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 933831181} - m_LocalRotation: {x: -0.0013731687, y: -0.0005792431, z: -0.08538537, w: 0.9963469} - m_LocalPosition: {x: -0.028493328, y: -0.00000044822693, z: -0.0000003170967} + m_GameObject: {fileID: 5346970755468595171} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.012, y: 0.0013757758, z: -0.009} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 326836476} - m_Father: {fileID: 2146657147} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 6640532333174287149} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &995671519 +--- !u!1 &383170654740640448 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8073,169 +9375,200 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 995671520} + - component: {fileID: 3073591509392172036} + - component: {fileID: 4008296297209630360} + - component: {fileID: 8155571418837613114} m_Layer: 0 - m_Name: Ring_1_Left + m_Name: Button_Home m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &995671520 -Transform: +--- !u!114 &405221815212551259 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 995671519} - m_LocalRotation: {x: -0.00025817356, y: 0.00035699108, z: -0.14537643, w: 0.9893763} - m_LocalPosition: {x: -0.036576994, y: 0.00000019073485, z: 0.0000001502037} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1481350550} - m_Father: {fileID: 1968119230} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1006305323 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2121825122} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalPosition.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalPosition.y - value: 1.95 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d586649e59c967444a1607a4aed46c01, type: 2} - - target: {fileID: 919132149155446097, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - propertyPath: m_Name - value: Shield - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} ---- !u!1 &1015737781 -GameObject: + m_GameObject: {fileID: 564343745990615316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: e0974d43-a211-4251-882f-3f0b4749db16 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 3220680263695665919, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 0a88b07c-2048-460b-b52d-880dd98ceb35 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5930349909990434036, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: ca2485cb-f4d4-4bef-84e6-b085e080175c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 2069149553511882089, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: b902054d-edbb-440a-a455-68558ef17b58 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: 629180f1-a17a-4e47-a583-481808df540f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 +--- !u!4 &435968174823160039 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1015737782} - - component: {fileID: 1015737784} - - component: {fileID: 1015737783} - m_Layer: 0 - m_Name: LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1015737782 + m_GameObject: {fileID: 8909806846597705552} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0075} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 438452003399677042} + - {fileID: 8115900070550992636} + m_Father: {fileID: 9099370170554531971} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &438452003399677042 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1015737781} - m_LocalRotation: {x: -0.27542365, y: 0.27542365, z: 0.65126175, w: 0.65126175} - m_LocalPosition: {x: -0.0358, y: 0.0577, z: -0.1296} - m_LocalScale: {x: 0.95, y: 0.95, z: 0.95} + m_GameObject: {fileID: 963314481201573576} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 50, y: 50, z: 50} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 105739408} - - {fileID: 1987239407} - - {fileID: 1199504349} - m_Father: {fileID: 506692965} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -45.848, y: 0, z: 90} ---- !u!114 &1015737783 + m_Children: [] + m_Father: {fileID: 435968174823160039} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!114 &480325925856804122 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1015737781} + m_GameObject: {fileID: 5294060598795513720} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e241df096dff11c478f43d1b202d33af, type: 3} + m_Script: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} m_Name: m_EditorClassIdentifier: - selectFloat: Select - activateFloat: Activate - UIStateBool: UIEnabled - teleportStateBool: TeleportEnabled - baseController: {fileID: 0} - teleportController: {fileID: 0} - uiController: {fileID: 0} - controllerManager: {fileID: 0} ---- !u!95 &1015737784 -Animator: - serializedVersion: 5 + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_EnableFreeXMovement: 1 + m_EnableFreeYMovement: 0 + m_EnableFreeZMovement: 1 + m_UseGravity: 1 + m_GravityApplicationMode: 0 + m_ControllerTransform: {fileID: 8616564067840974700} + m_EnableMoveWhileSelecting: 0 + m_MoveFactor: 1 + m_GrabMoveInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Grab Move + m_Type: 1 + m_ExpectedControlType: + m_Id: 2e9a23ce-d949-4c67-9b12-7a9a35510733 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Grab Move Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 3680a95b-119c-4eba-b8fe-7e0a362e460b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -3742484312079769484, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -3742484312079769484, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_GrabMoveAction: + m_UseReference: 1 + m_Action: + m_Name: Grab Move + m_Type: 0 + m_ExpectedControlType: + m_Id: 3d33edcf-0043-45cb-95a7-008204badf83 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} +--- !u!1 &480510933409723392 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1015737781} - m_Enabled: 1 - m_Avatar: {fileID: 9000000, guid: 3cc1bfa741063664e8b13a63afcd062f, type: 3} - m_Controller: {fileID: 9100000, guid: 6f17d5d554bc9b742b9bf585b813330c, type: 2} - m_CullingMode: 0 - m_UpdateMode: 0 - m_ApplyRootMotion: 0 - m_LinearVelocityBlending: 0 - m_StabilizeFeet: 0 - m_WarningMessage: - m_HasTransformHierarchy: 1 - m_AllowConstantClipSamplingOptimization: 1 - m_KeepAnimatorStateOnDisable: 0 - m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &1074416407 + serializedVersion: 6 + m_Component: + - component: {fileID: 619529927228428335} + - component: {fileID: 4045662919487542209} + - component: {fileID: 5718243006952887840} + m_Layer: 0 + m_Name: ThumbStick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &493922041563270451 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8243,31 +9576,51 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1074416408} + - component: {fileID: 201644940689064429} + - component: {fileID: 2620494948419736564} + - component: {fileID: 7096558086162139218} m_Layer: 0 - m_Name: Thumb_0_Left + m_Name: Button_A m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1074416408 +--- !u!4 &528766804999492054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7777894093816881952} + 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: 5091508808143647695} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &562656882107642631 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1074416407} - m_LocalRotation: {x: -0.017132446, y: 0.023738552, z: -0.011670226, w: 0.9995033} - m_LocalPosition: {x: -0.027674861, y: -0.00000018596648, z: 0.00000015173107} + m_GameObject: {fileID: 4685605516835196876} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, 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: 283625090} - m_Father: {fileID: 25957662} - m_RootOrder: 0 + - {fileID: 6423679583386327495} + - {fileID: 6835903852850722140} + - {fileID: 619529927228428335} + - {fileID: 3786297410715878379} + m_Father: {fileID: 9191415921813784219} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1078070623 +--- !u!1 &564343745990615316 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8275,85 +9628,633 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1078070624} + - component: {fileID: 5464547611444675945} + - component: {fileID: 8096066991363713888} + - component: {fileID: 8661329633579594116} + - component: {fileID: 405221815212551259} m_Layer: 0 - m_Name: Middle_1_Left + m_Name: Gaze Interactor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1078070624 + m_IsActive: 0 +--- !u!114 &573887576842515142 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7777894093816881952} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75b29b6c6428c984a8a73ffc2d58063b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_TurnSpeed: 60 + m_LeftHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Left Hand Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 3610965d-108d-4451-a143-a78d1ee8f9b8 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 1010738217276881514, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RightHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Right Hand Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: eeb82678-2af4-4b6c-87fc-621bb707edc5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -6493913391331992944, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!23 &574422509234299241 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287286360104146889} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!4 &619529927228428335 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1078070623} - m_LocalRotation: {x: 0.0013464622, y: -0.0029157132, z: -0.22192244, w: 0.9750591} - m_LocalPosition: {x: -0.039041024, y: 0.0000006005168, z: 0.00000011503696} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 480510933409723392} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775876, y: -0.002558912, z: -0.0074315914} + m_LocalScale: {x: 1.342947, y: 1.342947, z: 1.342947} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 626500155} - m_Father: {fileID: 1430860603} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 562656882107642631} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1106929323 -GameObject: +--- !u!114 &654221994010234037 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1106929324} - - component: {fileID: 1106929327} - - component: {fileID: 1106929326} - - component: {fileID: 1106929325} - m_Layer: 0 - m_Name: SnapPoint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1106929324 -Transform: + m_GameObject: {fileID: 6819434276863307335} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} + m_Name: + m_EditorClassIdentifier: + head: {fileID: 5410547930083255870} + leftHand: {fileID: 8616564067840974700} + rightHand: {fileID: 6314179924109280940} + rigBase: {fileID: 6936079037490303986} +--- !u!114 &764665970482468834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 764665970482468846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 2 + m_Handedness: 2 + m_AttachTransform: {fileID: 2683287926882365439} + m_KeepSelectedTargetValid: 0 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 36843f28-4fd5-4729-b5a6-afe92ef11597 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 1a51c331-470d-4462-b8e1-2522a24bd40c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 0ace7244-e61f-4e60-8d0b-2ef8c3ae51af + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: bdf06a24-21b3-4f27-a8a3-72086e6c7f00 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 83097790271614945, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 7904272356298805229, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_LineType: 1 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 9069410611224085996} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 10 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 50 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 256 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_AutoDeselect: 0 + m_TimeToAutoDeselect: 1 + m_EnableUIInteraction: 0 + m_BlockInteractionsWithScreenSpaceUI: 0 + m_BlockUIOnInteractableSelection: 1 + m_ManipulateAttachTransform: 1 + m_UseForceGrab: 0 + m_RotateSpeed: 180 + m_TranslateSpeed: 0 + m_RotateReferenceFrame: {fileID: 0} + m_RotateMode: 1 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_EnableARRaycasting: 0 + m_OccludeARHitsWith3DObjects: 0 + m_OccludeARHitsWith2DObjects: 0 + m_ScaleMode: 0 + m_UIPressInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: 54867c8e-3650-4605-a53c-ee8ffb351dcf + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 257d8673-0295-4ff5-b278-e63d20cd918b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 8c6b1aac-a242-4bf4-a5b3-bfad6e83b638 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TranslateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Translate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 0f9fd0ee-650d-41a6-ab30-2a036c425c21 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RotateManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Rotate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: cadca2d2-f642-4efc-a222-c1827be3e896 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -5913262927076077117, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_DirectionalManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Directional Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 472cbca3-7add-47a9-a5fc-73d3d10107aa + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -440298646266941818, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleToggleInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Scale Toggle + m_Type: 1 + m_ExpectedControlType: + m_Id: 692a9304-a2fd-4dbd-9e2f-2fb4b6154f1c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Scale Toggle Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: d0cf082b-f2d7-4100-b069-651cf2820425 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ScaleOverTimeInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Over Time + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 6f835f0d-f1c2-461c-b8bc-edc587e89149 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleDistanceDeltaInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Distance Delta + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 9140e1d5-f197-46d4-88c2-a02441edeac5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!114 &764665970482468844 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1106929323} - 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: 597715543} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1106929325 -MeshRenderer: + m_GameObject: {fileID: 764665970482468846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.01 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_AutoAdjustLineLength: 0 + m_MinLineLength: 0.02 + m_UseDistanceToHitAsMaxLineLength: 1 + m_LineRetractionDelay: 0.5 + m_LineLengthChangeSpeed: 12 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + m_SetLineColorGradient: 1 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 0.1254902, g: 0.5882353, b: 0.9529412, a: 0.5882353} + key1: {r: 0.1254902, g: 0.5882353, b: 0.9529412, a: 0.5882353} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 0.5882353} + key1: {r: 1, g: 0, b: 0, a: 0.5882353} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 8748868027195207512, guid: 0c9c836faf8b16c4896fef2e890b91db, type: 3} + m_BlockedReticle: {fileID: 3177232254315139758, guid: 8963c70806d0e3441802c7bbc8162b5c, type: 3} + m_StopLineAtFirstRaycastHit: 1 + m_StopLineAtSelection: 0 + m_SnapEndpointIfAvailable: 1 + m_LineBendRatio: 0.5 + m_BendingEnabledInteractionLayers: + m_Bits: 4294967295 + m_OverrideInteractorLineOrigin: 1 + m_LineOriginTransform: {fileID: 435968174823160039} + m_LineOriginOffset: 0 +--- !u!120 &764665970482468845 +LineRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1106929323} + m_GameObject: {fileID: 764665970482468846} m_Enabled: 1 - m_CastShadows: 1 + m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 738067764} + - {fileID: 10306, guid: 0000000000000000f000000000000000, type: 0} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -8374,61 +10275,76 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1106929326 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1106929323} - m_Mesh: {fileID: 524671518} ---- !u!114 &1106929327 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1106929323} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88ea78c93b844cc1b7f98cca70e8679c, type: 3} - m_Name: - m_EditorClassIdentifier: - parent: {fileID: 597715544} ---- !u!1 &1142522480 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1142522481} - m_Layer: 0 - m_Name: Ring_Palm_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1142522481 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1142522480} - m_LocalRotation: {x: 0.99804187, y: -0.04426889, z: 0.04315787, w: 0.009497783} - m_LocalPosition: {x: -0.05238823, y: 0.0045133065, z: -0.011750946} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1968119230} - m_Father: {fileID: 105739408} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1177651916 + m_Positions: [] + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 0 +--- !u!1 &764665970482468846 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8436,170 +10352,239 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1177651917} + - component: {fileID: 764665970482468847} + - component: {fileID: 764665970482468834} + - component: {fileID: 764665970482468845} + - component: {fileID: 764665970482468844} + - component: {fileID: 5059173303298847618} + - component: {fileID: 2224961187121987286} m_Layer: 0 - m_Name: Middle_Tip_Left + m_Name: Right Teleport Interactor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1177651917 +--- !u!4 &764665970482468847 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1177651916} - m_LocalRotation: {x: -0.00000002980233, y: -0.00000005308539, z: -0.000000042258765, w: 1} - m_LocalPosition: {x: -0.022676239, y: 0.00000029563904, z: -0.000000077486035} + m_GameObject: {fileID: 764665970482468846} + 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: 626500155} - m_RootOrder: 0 + m_Father: {fileID: 6314179924109280940} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1192304053 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1192304054} - m_Layer: 0 - m_Name: Transformation Machine - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1192304054 -Transform: +--- !u!114 &808217723329261619 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1192304053} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1471223338} - - {fileID: 1583804101} - - {fileID: 2011926244} - - {fileID: 535679137} - m_Father: {fileID: 1527860102} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1199504348 -GameObject: + m_GameObject: {fileID: 5280533180685219232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 8454587283669440819} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: d0eab193f3deddf459ada93a8c8366ef, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 2573842367973974107} + m_ColorPropertyName: _BaseColor +--- !u!114 &809452651236114862 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1199504349} - m_Layer: 0 - m_Name: AttachTransform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1199504349 + m_GameObject: {fileID: 5979253672754829115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 7862207684358717888, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: -530380113134220495, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State Input + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: be9cc21d-5595-4ea6-aa72-e48652a11968 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 1031966339891076899, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_RotationAction: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 +--- !u!4 &810764635415466062 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1199504348} - m_LocalRotation: {x: 0.56707263, y: -0.5567243, z: -0.42857793, w: 0.42989275} - m_LocalPosition: {x: -0.09850459, y: -0.018400598, z: -0.0062015653} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1015737782} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0.594, y: -105.251, z: -90.602} ---- !u!1001 &1204090590 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1756511964} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalPosition.z - value: 0.75 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: -7511558181221131132, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - - target: {fileID: 919132149155446097, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_Name - value: Table - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} ---- !u!4 &1204090591 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: aac080cbebbc8d744ad7320f8bb657c9, type: 3} - m_PrefabInstance: {fileID: 1204090590} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!1 &1216574280 + m_GameObject: {fileID: 1546999163601020601} + 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: 5231230020209156054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &838948447543983496 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7393986751170059213} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] +--- !u!1 &963314481201573576 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8607,47 +10592,397 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1216574281} - - component: {fileID: 1216574282} + - component: {fileID: 438452003399677042} + - component: {fileID: 5445689226051439499} m_Layer: 0 - m_Name: LightSabre Origin + m_Name: Pinch_Pointer_LOD0 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1216574281 +--- !u!23 &1005885787993019412 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4662746224129893333} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!4 &1008284944111624865 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1216574280} - m_LocalRotation: {x: -0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0.4000002, y: 1.18, z: 0.6000003} + m_GameObject: {fileID: 3475689358978197177} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.36144, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5410547930083255870} + - {fileID: 5464547611444675945} + - {fileID: 4182470257755192204} + - {fileID: 8616564067840974700} + - {fileID: 4551018433386045865} + - {fileID: 6314179924109280940} + - {fileID: 9069410611224085996} + m_Father: {fileID: 6936079037490303986} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &1058830439912984803 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8425775126076867325} + 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: 1756511964} - m_RootOrder: 2 + m_Father: {fileID: 7726587846299096489} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1216574282 +--- !u!4 &1116454838511533587 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3817474755283063292} + 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: 6439302189377213059} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1124281641288727228 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1216574280} + m_GameObject: {fileID: 7112287131004872226} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: c4a99b4c0ca9cb45a73a8f0d59cbc130 - uniqueName: LightSabre Origin - tags: [] ---- !u!1 &1222594155 + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: cd22b81e-c39a-4170-bdbf-33b5a06ea86f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -2024308242397127297, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 04fa80c1-7876-441c-8416-c5ea3caea5c4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 8248158260566104461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: fdcc0d62-5cd0-4fcc-8c3a-c07cf6230b7d + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 684395432459739428, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: ddb05e9d-4218-401c-a7a8-003424f4b4fa + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: de98cdb6-b2c4-4d67-af3c-9c8bd60b295a + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 +--- !u!114 &1183458572780013368 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5573389152138464832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 8828401783147873184} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: d0eab193f3deddf459ada93a8c8366ef, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 9113964301892253528} + m_ColorPropertyName: _BaseColor +--- !u!114 &1210680681007785837 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5011224878527212036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 792f6c7eaa1a4b82abf8351559ac97eb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransformToFollow: {fileID: 5231230020209156054} + m_MotionStabilizationMode: 1 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_SmoothOffset: 0 + m_SmoothingSpeed: 10 + m_UseDistanceBasedVelocityScaling: 1 + m_UseMomentum: 1 + m_MomentumDecayScale: 1.25 + m_ZVelocityRampThreshold: 0.3 + m_PullVelocityBias: 1 + m_PushVelocityBias: 1.25 + m_MinAdditionalVelocityScalar: 0.05 + m_MaxAdditionalVelocityScalar: 1.5 +--- !u!1 &1287286360104146889 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6835903852850722140} + - component: {fileID: 6982170933871747373} + - component: {fileID: 574422509234299241} + m_Layer: 0 + m_Name: Button_B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!82 &1392600450532211228 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5979253672754829115} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {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 &1420811056858859466 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8655,42 +10990,41 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1222594156} - - component: {fileID: 1222594158} - - component: {fileID: 1222594157} - m_Layer: 8 - m_Name: Plane + - component: {fileID: 5454017983593361391} + - component: {fileID: 2440068422649079134} + m_Layer: 0 + m_Name: Collider m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1222594156 -Transform: +--- !u!1 &1441846840232970914 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1222594155} - m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 134998304} - m_Father: {fileID: 1521703297} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!23 &1222594157 + serializedVersion: 6 + m_Component: + - component: {fileID: 5473337241521369555} + m_Layer: 0 + m_Name: Gaze Stabilized Attach + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1491353634768997898 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1222594155} + m_GameObject: {fileID: 6719937617212664874} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_StaticShadowCaster: 0 m_MotionVectors: 1 @@ -8698,10 +11032,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 5984489a6c8753743953c8d64d3265fb, type: 2} + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -8723,15 +11060,22 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1222594158 -MeshFilter: +--- !u!4 &1533848678484289632 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1222594155} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1241623309 + m_GameObject: {fileID: 5280533180685219232} + 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: 5948305712812316948} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1546999163601020601 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8739,282 +11083,369 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1241623310} - - component: {fileID: 1241623318} - - component: {fileID: 1241623317} - - component: {fileID: 1241623316} - - component: {fileID: 1241623315} - - component: {fileID: 1241623314} - - component: {fileID: 1241623313} - - component: {fileID: 1241623312} - - component: {fileID: 1241623311} + - component: {fileID: 810764635415466062} + - component: {fileID: 3690860733258065439} + - component: {fileID: 3277249423340330650} + - component: {fileID: 5766029233133336685} m_Layer: 0 - m_Name: Ball + m_Name: LineVisual m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1241623310 +--- !u!114 &1562120326400178471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3817474755283063292} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 403f8ba1dc82bb842b2dd5de318ed2ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClimbTeleportInteractor: {fileID: 5454378607909765555} + m_PointerPrefab: {fileID: 5212361887338514247, guid: bb7ea2e5c009e7c46afed352eb1941aa, type: 3} + m_PointerDistance: 0.3 +--- !u!4 &1574911661580200921 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} + m_GameObject: {fileID: 7311542647873375615} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0.5, y: 2.125, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 813701130} - m_RootOrder: 1 + m_Father: {fileID: 5091508808143647695} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1241623311 -MonoBehaviour: +--- !u!210 &1584020808580632069 +SortingGroup: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} + m_GameObject: {fileID: 6436482240471706217} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 428efa2c1665b6745bfa9c1ec2026c93, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - grabStarted: - m_PersistentCalls: - m_Calls: [] - grabEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1241623312 -MonoBehaviour: + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 + m_SortAtRoot: 0 +--- !u!1 &1585487133833722341 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - touchStarted: - m_PersistentCalls: - m_Calls: [] - touchEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1241623313 + serializedVersion: 6 + m_Component: + - component: {fileID: 6439302189377213059} + - component: {fileID: 8850411173210485318} + m_Layer: 2 + m_Name: Climb + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1605866786084870032 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} + m_GameObject: {fileID: 5011224878527212036} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} + m_Script: {fileID: 11500000, guid: ef20135915079454985abea5a2ec8967, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 1 - m_DistanceCalculationMode: 1 - m_SelectMode: 0 - m_FocusMode: 1 - m_CustomReticle: {fileID: 0} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_AttachTransform: {fileID: 0} - m_SecondaryAttachTransform: {fileID: 0} - m_UseDynamicAttach: 0 - m_MatchAttachPosition: 1 - m_MatchAttachRotation: 1 - m_SnapToColliderVolume: 1 - m_ReinitializeDynamicAttachEverySingleGrab: 1 - m_AttachEaseInTime: 0.15 - m_MovementType: 1 - m_VelocityDamping: 1 - m_VelocityScale: 1 - m_AngularVelocityDamping: 1 - m_AngularVelocityScale: 1 - m_TrackPosition: 1 - m_SmoothPosition: 0 - m_SmoothPositionAmount: 5 - m_TightenPosition: 0.5 - m_TrackRotation: 1 - m_SmoothRotation: 0 - m_SmoothRotationAmount: 5 - m_TightenRotation: 0.5 - m_TrackScale: 1 - m_SmoothScale: 0 - m_SmoothScaleAmount: 8 - m_TightenScale: 0.1 - m_ThrowOnDetach: 1 - m_ThrowSmoothingDuration: 0.25 - m_ThrowSmoothingCurve: + m_CastOrigin: {fileID: 5231230020209156054} + m_EnableStabilization: 1 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_AimTargetObject: {fileID: 2792525422796048802} + m_RaycastMask: serializedVersion: 2 - m_Curve: - - 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: 4 - m_ThrowVelocityScale: 1.5 - m_ThrowAngularVelocityScale: 1 - m_ForceGravityOnDetach: 0 - m_RetainTransformParent: 1 - m_AttachPointCompatibilityMode: 0 - m_StartingSingleGrabTransformers: [] - m_StartingMultipleGrabTransformers: [] - m_AddDefaultGrabTransformers: 1 - isTouchable: 1 - isGrabbable: 1 - isUsable: 0 ---- !u!114 &1241623314 + m_Bits: 32 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_TargetNumCurveSegments: 1 + m_HitDetectionType: 2 + m_CastDistance: 10 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 +--- !u!20 &1696974451555237050 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5979253672754829115} + 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.01 + 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!114 &1711562312829489948 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} + m_GameObject: {fileID: 8721447093911992910} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 0e1969c09cdcd146a3bba4ccd6b6b3bd - uniqueName: Ball - tags: [] ---- !u!54 &1241623315 -Rigidbody: + m_Target: {fileID: 5464547611444675945} + m_AimTargetObject: {fileID: 0} + m_UseLocalSpace: 1 + m_AngleStabilization: 20 + m_PositionStabilization: 0.25 +--- !u!4 &1810776864474526703 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} + m_GameObject: {fileID: 2798410165253765510} serializedVersion: 2 - m_Mass: 0.01 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 0 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!135 &1241623316 + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2623177013501468337} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1827603307351822186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5376927054557213438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ef20135915079454985abea5a2ec8967, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CastOrigin: {fileID: 5155727875416655660} + m_EnableStabilization: 1 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_AimTargetObject: {fileID: 3014271272736952664} + m_RaycastMask: + serializedVersion: 2 + m_Bits: 32 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_TargetNumCurveSegments: 1 + m_HitDetectionType: 2 + m_CastDistance: 10 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 +--- !u!114 &1877690765202205926 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8142159310659467549} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Renderer: {fileID: 8107342546769351320} + m_MaterialIndex: 0 +--- !u!1 &1904414998833462851 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 312356894876649652} + - component: {fileID: 4336208444415540965} + - component: {fileID: 2481197726451811936} + - component: {fileID: 6850205770236633239} + m_Layer: 0 + m_Name: LineVisual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &1931258251342232653 SphereCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} - m_Material: {fileID: 13400000, guid: fb001adfa2edbb64887889d74d6fe41e, type: 2} + m_GameObject: {fileID: 2929121276912721625} + 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: 2 - m_Radius: 0.12 + serializedVersion: 3 + m_Radius: 0.7 m_Center: {x: 0, y: 0, z: 0} ---- !u!23 &1241623317 +--- !u!1 &1940911703554234342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6640532333174287149} + m_Layer: 0 + m_Name: XRController_Thumbstick_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &1971586465853045759 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7379614265931015409} + - component: {fileID: 4288091224510082277} + - component: {fileID: 6204977624437820478} + m_Layer: 0 + m_Name: TouchPad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2080223686523286607 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4551018433386045865} + - component: {fileID: 5382527637378606193} + m_Layer: 0 + m_Name: Left Controller Teleport Stabilized Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2109123500429517896 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5979253672754829115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!23 &2148623634401593508 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} + m_GameObject: {fileID: 2562056696028985392} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -9025,11 +11456,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: a2e88723e4cd77a4690d0637321940aa, type: 2} - - {fileID: 2100000, guid: 1862d8e21d2bba649b255c6a7eb4eb61, type: 2} + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -9051,110 +11484,135 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1241623318 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1241623309} - m_Mesh: {fileID: 6935877506589290101, guid: 1eef6eb71f126ba4aa31d33bb2f810c5, type: 3} ---- !u!1 &1268751233 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1268751234} - m_Layer: 8 - m_Name: Anchor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1268751234 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1268751233} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.01, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1731060433} - m_Father: {fileID: 232339300} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1275973670 -GameObject: +--- !u!114 &2224961187121987286 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1275973671} - m_Layer: 0 - m_Name: Little_Tip_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1275973671 -Transform: + m_GameObject: {fileID: 764665970482468846} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 764665970482468834} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 1 +--- !u!114 &2294847314185076631 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1275973670} - m_LocalRotation: {x: 0.000000022351742, y: 0.000000014901163, z: -0.00000002793968, w: 1} - m_LocalPosition: {x: -0.017860297, y: 0.00000007152557, z: -0.00000015258789} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1418001335} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1289966972 -GameObject: + m_GameObject: {fileID: 5376927054557213438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 792f6c7eaa1a4b82abf8351559ac97eb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransformToFollow: {fileID: 5155727875416655660} + m_MotionStabilizationMode: 1 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_SmoothOffset: 0 + m_SmoothingSpeed: 10 + m_UseDistanceBasedVelocityScaling: 1 + m_UseMomentum: 1 + m_MomentumDecayScale: 1.25 + m_ZVelocityRampThreshold: 0.3 + m_PullVelocityBias: 1 + m_PushVelocityBias: 1.25 + m_MinAdditionalVelocityScalar: 0.05 + m_MaxAdditionalVelocityScalar: 1.5 +--- !u!23 &2353950120760105551 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1289966973} - m_Layer: 0 - m_Name: Little_Palm_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1289966973 -Transform: + m_GameObject: {fileID: 8660961134141084188} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!114 &2401395827670043856 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1289966972} - m_LocalRotation: {x: 0.99290055, y: -0.033564012, z: 0.11202527, w: 0.02173406} - m_LocalPosition: {x: -0.048623275, y: 0.0027686262, z: -0.026522674} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1466462400} - m_Father: {fileID: 1909973946} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1307398687 + m_GameObject: {fileID: 7554377125383235881} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6fa7b4195685c3846be746c74f0ab2f8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &2403362939570951492 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -9162,221 +11620,61 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1307398688} + - component: {fileID: 2683287926882365439} m_Layer: 0 - m_Name: Little_1_Left + m_Name: Right Controller Stabilized Attach m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1307398688 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1307398687} - m_LocalRotation: {x: 0.0012706812, y: -0.0023152584, z: -0.06524572, w: 0.99786574} - m_LocalPosition: {x: -0.033131722, y: 0.00000038266182, z: -0.00000061273573} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 795450758} - m_Father: {fileID: 2110589559} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1336895284 -GameObject: +--- !u!135 &2440068422649079134 +SphereCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1336895285} - - component: {fileID: 1336895289} - - component: {fileID: 1336895288} - - component: {fileID: 1336895287} - - component: {fileID: 1336895286} - m_Layer: 0 - m_Name: Right UI Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1336895285 + m_GameObject: {fileID: 1420811056858859466} + 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: 3 + m_Radius: 0.7 + m_Center: {x: 0, y: 0, z: 0} +--- !u!4 &2467290615543809192 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1336895284} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_GameObject: {fileID: 2562056696028985392} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000013985816, y: -0.1305262, z: 0.000000018412676, w: 0.9914449} + m_LocalPosition: {x: -0.0125, y: -0.028556997, z: 0.027326612} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 676405892} - m_Father: {fileID: 697578261} - m_RootOrder: 2 + m_Children: [] + m_Father: {fileID: 2623177013501468337} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1336895286 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1336895284} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 1} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 65535 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!120 &1336895287 +--- !u!120 &2481197726451811936 LineRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1336895284} - m_Enabled: 1 + m_GameObject: {fileID: 1904414998833462851} + m_Enabled: 0 m_CastShadows: 0 - m_ReceiveShadows: 0 + m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_StaticShadowCaster: 0 m_MotionVectors: 0 @@ -9384,6 +11682,9 @@ LineRenderer: m_ReflectionProbeUsage: 0 m_RayTracingMode: 0 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -9407,39 +11708,30 @@ LineRenderer: m_LightmapParameters: {fileID: 0} m_SortingLayerID: 0 m_SortingLayer: 0 - m_SortingOrder: 5 + m_SortingOrder: 0 m_Positions: [] m_Parameters: serializedVersion: 3 - widthMultiplier: 0.02 + widthMultiplier: 1 widthCurve: serializedVersion: 2 m_Curve: - serializedVersion: 3 time: 0 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 0 - weightedMode: 0 - inWeight: 0 - outWeight: 0 - - serializedVersion: 3 - time: 1 - value: 1 + value: 0.012002945 inSlope: 0 outSlope: 0 tangentMode: 0 weightedMode: 0 - inWeight: 0 - outWeight: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 colorGradient: serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} key2: {r: 0, g: 0, b: 0, a: 0} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} @@ -9463,35 +11755,247 @@ LineRenderer: atime6: 0 atime7: 0 m_Mode: 0 + m_ColorSpace: -1 m_NumColorKeys: 2 m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 + numCornerVertices: 8 + numCapVertices: 8 alignment: 0 textureMode: 0 + textureScale: {x: 1, y: 1} shadowBias: 0.5 generateLightingData: 0 + m_MaskInteraction: 0 m_UseWorldSpace: 1 m_Loop: 0 ---- !u!114 &1336895288 + m_ApplyActiveColorSpace: 0 +--- !u!1 &2562056696028985392 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2467290615543809192} + - component: {fileID: 4432513338469133278} + - component: {fileID: 2148623634401593508} + m_Layer: 0 + m_Name: Bumper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2573842367973974107 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5280533180685219232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Renderer: {fileID: 5445689226051439499} + m_MaterialIndex: 0 +--- !u!1 &2583086854053857846 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7425273342673865614} + - component: {fileID: 4545633650006401624} + - component: {fileID: 8882211879289209445} + m_Layer: 0 + m_Name: Trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2607346015685567649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5376927054557213438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 3014271272736952664} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 +--- !u!33 &2620494948419736564 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 493922041563270451} + m_Mesh: {fileID: 5083779560280695074, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!4 &2623177013501468337 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3399291057493099531} + 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: + - {fileID: 2467290615543809192} + - {fileID: 3073591509392172036} + - {fileID: 1810776864474526703} + - {fileID: 4431741724180888795} + - {fileID: 4387283731022205860} + - {fileID: 6640532333174287149} + m_Father: {fileID: 3424889092756910468} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2636557085421466147 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8307141036015099956} + m_Mesh: {fileID: -2014588322676101042, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!1 &2651624948322462526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3424889092756910468} + - component: {fileID: 7474092368878982165} + - component: {fileID: 7474092368878982166} + m_Layer: 0 + m_Name: Right Controller Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2683287926882365439 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2403362939570951492} + 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: 9069410611224085996} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &2705125127577650707 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9024350238825505196} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dca6b5fc8485ffd4c88bf8ae060949bc, 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!114 &2792525422796048802 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1336895284} - m_Enabled: 0 + m_GameObject: {fileID: 5011224878527212036} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} + m_Script: {fileID: 11500000, guid: 25a07ef133a37d140a87cdf1f1c75fdf, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2089871579} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 + m_InteractionManager: {fileID: 0} m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 676405892} + m_Bits: 1 + m_Handedness: 2 + m_AttachTransform: {fileID: 0} m_KeepSelectedTargetValid: 1 m_DisableVisualsWhenBlockedInGroup: 1 m_StartingSelectedInteractable: {fileID: 0} @@ -9510,22 +12014,71 @@ MonoBehaviour: m_Calls: [] m_StartingHoverFilters: [] m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 2491b664-3d4e-4f20-a7ae-ee1861d845f2 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: fc42dacc-33eb-41ec-9c17-d242ac6b0c5b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 187161793506945269, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -1758520528963094988, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 77660b9e-6bbe-4740-b80f-1fea8d0f59e1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 94568f52-c27a-47fc-a190-5e3b17572929 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 83097790271614945, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 7904272356298805229, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 m_AllowHoveredActivate: 0 m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 m_PlayAudioClipOnSelectEntered: 0 m_AudioClipForOnSelectEntered: {fileID: 0} m_PlayAudioClipOnSelectExited: 0 @@ -9558,647 +12111,688 @@ MonoBehaviour: m_HapticHoverCancelIntensity: 0 m_HapticHoverCancelDuration: 0 m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 + m_InteractionAttachController: {fileID: 1210680681007785837} + m_EnableNearCasting: 1 + m_NearInteractionCaster: {fileID: 7327968346056529354} + m_NearCasterSortingStrategy: 1 + m_SortNearTargetsAfterTargetFilter: 0 + m_EnableFarCasting: 1 + m_FarInteractionCaster: {fileID: 1605866786084870032} + m_FarAttachMode: 1 m_EnableUIInteraction: 1 m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 m_UIHoverEntered: m_PersistentCalls: m_Calls: [] m_UIHoverExited: m_PersistentCalls: m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!114 &1336895289 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1336895284} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 820468471} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked + m_UIPressInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: UI Press m_Type: 1 m_ExpectedControlType: - m_Id: fc9b37cc-fd6c-4777-a440-ecfac6144601 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: 90359750-2287-4286-aed5-46e8351830e5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: + m_Id: ded1ccb2-ff18-46c7-ade9-b80985fe2825 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value + m_InputActionValue: + m_Name: UI Press Value m_Type: 0 - m_ExpectedControlType: - m_Id: 6010ccb0-bc96-4f14-8cec-bb81835a63eb + m_ExpectedControlType: Axis + m_Id: d762660e-30e0-4a4d-8e2a-e6b553e03f11 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 4766120400929042988, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: + m_InputActionReferencePerformed: {fileID: 3279264004350380116, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -5908353012961274365, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: UI Scroll m_Type: 0 - m_ExpectedControlType: - m_Id: + m_ExpectedControlType: Vector2 + m_Id: ef5cc4a5-b968-432c-9ae7-45e494178db0 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 + m_InputActionReference: {fileID: -6756787485274679044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!1 &2798410165253765510 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1810776864474526703} + - component: {fileID: 4032309936690062326} + - component: {fileID: 9107287204640775737} + m_Layer: 0 + m_Name: Controller_Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2927895350547920926 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8026185166414060481} + - component: {fileID: 9187329214229572105} + - component: {fileID: 6903133021200428321} + m_Layer: 0 + m_Name: ThumbStick_Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &2929121276912721625 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8115900070550992636} + - component: {fileID: 1931258251342232653} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &3014271272736952664 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5376927054557213438} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25a07ef133a37d140a87cdf1f1c75fdf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 1 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 m_ExpectedControlType: - m_Id: a770f569-5289-4c4d-ba37-79e50efe54ee + m_Id: 2491b664-3d4e-4f20-a7ae-ee1861d845f2 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: -3285721481334498719, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: + m_InputActionValue: + m_Name: Select Value m_Type: 0 - m_ExpectedControlType: - m_Id: + m_ExpectedControlType: Axis + m_Id: fc42dacc-33eb-41ec-9c17-d242ac6b0c5b m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 + m_InputActionReferencePerformed: {fileID: -6131295136447488360, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 6558622148059887818, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 m_ExpectedControlType: - m_Id: 532b2b0b-2859-4882-a216-c5bbec06b0ec + m_Id: 77660b9e-6bbe-4740-b80f-1fea8d0f59e1 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll + m_InputActionValue: + m_Name: Activate Value m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: c0c98540-834b-4be6-88b6-b84f677a5c16 + m_ExpectedControlType: Axis + m_Id: 94568f52-c27a-47fc-a190-5e3b17572929 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 + m_InputActionReferencePerformed: {fileID: -5982496924579745919, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -4289430672226363583, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 1 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_InteractionAttachController: {fileID: 2294847314185076631} + m_EnableNearCasting: 1 + m_NearInteractionCaster: {fileID: 7685375935220452656} + m_NearCasterSortingStrategy: 1 + m_SortNearTargetsAfterTargetFilter: 0 + m_EnableFarCasting: 1 + m_FarInteractionCaster: {fileID: 1827603307351822186} + m_FarAttachMode: 1 + m_EnableUIInteraction: 1 + m_BlockUIOnInteractableSelection: 1 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_UIPressInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 m_ExpectedControlType: - m_Id: 9ad5ff42-2240-49bb-89c4-c981d3c023eb + m_Id: ded1ccb2-ff18-46c7-ade9-b80985fe2825 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: + m_InputActionValue: + m_Name: UI Press Value m_Type: 0 - m_ExpectedControlType: - m_Id: + m_ExpectedControlType: Axis + m_Id: d762660e-30e0-4a4d-8e2a-e6b553e03f11 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation + m_InputActionReferencePerformed: {fileID: -6395602842196007441, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 71106601250685021, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: UI Scroll m_Type: 0 - m_ExpectedControlType: - m_Id: 8a29bfec-f245-4960-a581-9483a94f70d0 + m_ExpectedControlType: Vector2 + m_Id: ef5cc4a5-b968-432c-9ae7-45e494178db0 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: + m_InputActionReference: {fileID: 2464016903823916871, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!114 &3015871882154560389 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8425775126076867325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 4841988177154314013} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: d0eab193f3deddf459ada93a8c8366ef, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 5173989514426203109} + m_ColorPropertyName: _BaseColor +--- !u!114 &3046743599406995995 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6663198538617514225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: m_UseReference: 1 m_Action: - m_Name: + m_Name: Position m_Type: 0 - m_ExpectedControlType: - m_Id: + m_ExpectedControlType: Vector3 + m_Id: c21ad7d3-c46f-48ad-99da-097df39312cc m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 + m_Reference: {fileID: -3326005586356538449, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 26da0e49-599a-47eb-82d6-0a15fae0d588 + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 69f091ba-e646-4189-9296-d68870a4d922 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 + m_Reference: {fileID: 5101698808175986029, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 m_Action: - m_Name: Scale Delta + m_Name: Tracking State m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: afa73a20-c36b-49cf-9c5a-b1e356d4be1d + m_ExpectedControlType: Integer + m_Id: 05873c58-6d6f-4aea-8e06-78c4544c58dc m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &1338586624 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1338586625} - m_Layer: 0 - m_Name: Index_0_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1338586625 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1338586624} - m_LocalRotation: {x: 0.039005104, y: -0.077951096, z: -0.09432525, w: 0.9917182} - m_LocalPosition: {x: -0.059387933, y: -0.00000024288892, z: 0.0000000011920929} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 740016310} - m_Father: {fileID: 628411316} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1352490007 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1352490008} - m_Layer: 0 - m_Name: Index_1_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1352490008 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1352490007} - m_LocalRotation: {x: 0.0029770152, y: -0.0028722505, z: -0.046370056, w: 0.9989158} - m_LocalPosition: {x: -0.033406343, y: 0.00000032424927, z: -0.00000019073485} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 512971542} - m_Father: {fileID: 189572713} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1359767050 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1359767051} - - component: {fileID: 1359767052} - m_Layer: 0 - m_Name: Collider (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1359767051 + m_Reference: {fileID: -1277054153949319361, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: e0c62bbd-29f9-48af-967b-21babef9a6a4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: 303ef588-e0d6-494e-9ceb-2d2edc0eb8e5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 +--- !u!4 &3073591509392172036 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1359767050} - m_LocalRotation: {x: 0.27059805, y: 0.27059805, z: 0.6532815, w: 0.6532815} - m_LocalPosition: {x: 0.1617, y: 0, z: 0.18} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 383170654740640448} + serializedVersion: 2 + m_LocalRotation: {x: 0.18379451, y: -0.00000008593347, z: 0.000000016067828, w: 0.9829647} + m_LocalPosition: {x: 0.0000000071757764, y: -0.0032368493, z: 0.024549427} + m_LocalScale: {x: 1.01935, y: 1.01935, z: 1.01935} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 660021081} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 45, z: 90} ---- !u!136 &1359767052 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1359767050} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.02 - m_Height: 0.2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &1364604469 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1364604472} - - component: {fileID: 1364604471} - - component: {fileID: 1364604470} - m_Layer: 0 - m_Name: PROCESS_CONFIGURATION - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1364604470 -MonoBehaviour: + m_Father: {fileID: 2623177013501468337} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &3082561608921768464 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364604469} + m_GameObject: {fileID: 6825299945718180586} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 215a8bb6dc630a44299469418bc73e6f, type: 3} - m_Name: - m_EditorClassIdentifier: - extensionAssembliesWhitelist: [] - defaultConfettiPrefab: Confetti/Prefabs/MindPortConfettiMachine ---- !u!114 &1364604471 + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!114 &3115078825735683163 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364604469} + m_GameObject: {fileID: 5011224878527212036} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2ef5789d95ab46e095b834b7c4789068, type: 3} + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} m_Name: m_EditorClassIdentifier: - runtimeConfigurationName: VRBuilder.Core.Configuration.DefaultRuntimeConfiguration, - VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - selectedProcessStreamingAssetsPath: Processes/Demo - Core Features/Demo - Core - Features.json - processStringLocalizationTable: ---- !u!4 &1364604472 + m_InteractorSourceObject: {fileID: 2792525422796048802} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 +--- !u!4 &3242496131495290077 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1364604469} + m_GameObject: {fileID: 8142159310659467549} + 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_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1390163569 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1390163570} - m_Layer: 0 - m_Name: Index_Tip_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1390163570 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1390163569} - m_LocalRotation: {x: 0.000000029802326, y: 9.492409e-15, z: 0.00000031851238, w: 1} - m_LocalPosition: {x: -0.02301526, y: 0.000000085830685, z: -0.000000114440915} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2109031085} - m_RootOrder: 0 + m_Father: {fileID: 7726587846299096489} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!43 &1390574009 -Mesh: +--- !u!120 &3277249423340330650 +LineRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 2532 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 779 - localAABB: - m_Center: {x: 0, y: 0, z: -0.09999999} - m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 0 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 0 - m_IndexBuffer: 00000100020003000400050006000700080009000a000b000b000c0009000b000d000c000e000c000d000d000f000e0010000e000f00110010000f001200100011001200110013001400120013001400130015001600140015001600150017001800160017001800170019001a0011000f001b00180019001b0019001c000f001d001a001e001d000f001f001e000f000f0020001f001b001c00210022001b00210023002200210024002300210024002500230021002600240027002800290029002a00270029002b002a0029002c002b002c002d002b002e002a002b002b002f002e002f0030002e00300031002e0032002e00310033003200310033003100340034003500330035003400360037003500360036003800370034003900360034003a00390030003b003c003b003d003c003b003e003d003e003f003d003e0040003f00400041003f0040004200410042004300410042004400430044004500430044004600450046004700450046004800470048004900470048004a00490049004a004b004b004c0049004a004d004b004d004a00480048004e004d0048004f004e0050005100520052005300500052005400530050005300550055005300540054005600550056005700550055005800500055005900580059005a00580059005b005a005b005c005a005c005d005a005c005e005d005e005f005d005e0060005f00600061005f0060006200610062006300610062006400630064003200630065006600670067006600680068006900670066006a0068006a006b0068006b006c0068006b006d006c006b006e006d006e006f006d006f0070006d006f00710070006f00720071007200730071007200740073007400750073007400760075007700760078007800790077007a00780076007a0076007b007b007c007a007d007a007c007d007c007e007e007f007d007d007f008000800081007d0080008200810082008300810082008400830084008500830083008600810086008700810085008800830088008900830085008a0088008a008b0088008b008c0088008b008d008c008d008e008c008e008f008c008d0090008e00900091008e0091009000920093008e0091009100940093009500960097009700980095009800990095009a009900980098009b009a009b009c009a009b009d009c009d009e009c009d009f009e009b00a0009d009b00a100a0009d00a2009f009d00a300a200a200a4009f00a200a500a400a200a600a500a600a700a500a600a800a700a600a900a800a800aa00a700a800ab00aa00ac00aa00ab00ad00a700aa00aa00ae00ad00af00b000b100b100b200af00b200b300af00b200b400b300b400b500b300b400b600b500b700b800b900ba00bb00bc00bd00be00bf00c000c100c200c300c400c500c600c700c800c900ca00cb00cc00cd00ce00cf00d000d100cf00d100d200d200d300cf00d300d200d400d300d400d500d500d400d600d500d600d700d500d700d800d900cf00d300d500d900d300da00d500d800da00d800db00db00dc00da00db00dd00dc00db00de00dd00d500da00df00da00e000df00d500df00e100d500e100d900d900e200cf00cf00e200e300e400e200d900e100e400d900e400e500e200e600e100df00e100e600e400e600df00e700e800e600e700e800e900e600e400e600e900e900e800ea00e900ea00eb00ec00e900eb00e500e400ed00e400e900ed00ec00ed00e900e500ed00ee00ed00ec00ef00ed00ef00ee00f000f100f200f000f300f100f300f000f400f500f300f400f400f000f600f400f600f700f400f800f500f400f700f900fa00f800f400f400f900fa00fa00fb00f800f900fc00fa00fb00fa00fc00f900fd00fc00fe00fb00fc00ff00fe00fc000001ff00fc00fc00fd00010102010001fc000301fc000101fc000301020103010101040105010301040106010201030105010701030106010301070108010601070108010701090109010a0108010b010a0109010b0109010c010d010e010f010d010f01100111010d011001110112010d01110113011201110114011301150113011401160115011401170111011001170114011101180110010f01170110011801160114011901170119011401160119011a0116011a011b01190117011c0119011c011a0118011c0117011c011d011a0118010f011e011e010f011f011e011f01200121011e012001220118011e01210122011e01180123011c012201230118012101240122012301220124012101250124011c0126011d0126011c0123012301240127012601230127012701240128012701280129012a01270129012a01260127012a011d0126012a012b011d012c012d012e012c012e012f0130012c012f01300131012c01300132013101300133013201340133013001340130012f0134013501330136012f012e0134012f01360136012e01370136013701380139013501340139013a0135013b0134013601360138013b013b01390134013b0138013c013d013c0138013d013e013c013c013e013f0140013c013f013b013c0140013b01410139013b014001410140014201410140014301420140013f014301390141014401390144013a014201440141013a01440145013a014501460144014701450142014701440148014701420149014801420142014a0149014b014a0142014b01420143014b0143013f014c014b013f014d014c013f014e014d013f014f014e013f013f0150014f0151015201530153015401510151015401550151015501560151015601570156015501580158015901560158015a0159015a015b0159015a015c015b015d015e015f015f0160015d01600161015d0160016201610160016301620162016301640164016501620165016401660165016601670165016701680165016801690169016a01650169016b016a0169016c016b016b016c016d016e016b016d016d016f016e016f0170016e01700171016e016f0172017001700172017301730174017001730175017401730176017501770178017901770179017a017b0177017a017b017c0177017b017d017c017b017e017d017f017d017e0180017f017e0181017b017a0181017e017b0182017a01790181017a01820180017e018301810183017e01800183018401800184018501830181018601830186018401820186018101860187018401820179018801880179018901880189018a018b0188018a018c01820188018b018c01880182018d0186018c018d0182018b018e018c018d018c018e018b018f018e01860190018701900186018d018d018e01910190018d01910191018e0192019101920193019401910193019401900191019401870190019401950187019601970198019601980199019a01960199019a019b0196019a019c019b019a019d019c019e019d019a019e019a0199019e019f019d01a001990198019e019901a001a0019801a101a001a101a201a3019f019e01a301a4019f01a5019e01a001a001a201a501a501a3019e01a501a201a601a701a601a201a701a801a601a601a801a901a501a601aa01aa01a601a901a501ab01a301a501aa01ab01a301ac01a401a301ab01ac01aa01ad01ab01ad01ac01ab01a401ac01ae01a401ae01af01ac01b001ae01ad01b001ac01aa01a901b101aa01b101ad01b201b001ad01b101b201ad01b201b301b001b101b401b201b401b101a901b401a901b501b601b701b801b901b601b801b801ba01b901bb01b901ba01bb01bc01b901bd01bc01bb01be01bd01bb01bf01be01bb01bb01c001bf01c101bf01c001c001c201c101c301c001bb01ba01c301bb01ba01b801c401b801c501c401ba01c401c601ba01c601c301c301c701c001c001c701c801c901c701c301c601c901c301c901ca01c701cb01c601c401c601cb01c901cb01c401cc01cd01cb01cc01cd01ce01cb01c901cb01ce01c901ce01cf01cf01ca01c901cf01d001ca01d101d201d301d101d301d401d501d101d401d501d601d101d501d701d601d501d801d701d401d901d501d801d501d901d401da01d901da01d401d301d901db01d801d301dc01da01dd01dc01d301dd01d301de01df01d801db01db01e001df01e001e101df01e101e201df01e201e301df01e401df01e301e401e301e501e201e601e301e301e701e501e801e301e601e301e801e701e601e901e801e801ea01e701e901eb01e801e801ec01ea01e801eb01ec01ed01ee01ef01ed01ef01f001ed01f001f101ed01f101f201f101f301f201f101f401f301f001ef01f501f501f601f001f601f101f001ef01f701f501f801f701ef01f801f901f701f601fa01f101f101fa01fb01f101fb01fc01f101fc01fd01f401f101fd01f401fd01fe01fe01ff01f401fe010002ff01fe01010200020202f401ff0100020202ff0102020302f401000204020202000205020402000206020502060200020102010207020602080209020a020a020b0208020b020a020c020c020a020d020e0208020b020e020f0208020f020e021002100211020f0212020e020b02120210020e020b020c02130212020b021302100214021102140215021102140216021502140217021602180217021402180214021902180219021a021a021b0218021a021c021b021d0213020c021d020c021e021d021e021f021d021f022002210213021d0221021d022002210212021302210220022202220223022102220224022302210223022502210225021202120225021002250226021002270228022902270229022a022b0227022a022b022c0227022b022d022c022b022e022d022f022d022e0230022f022e0231022b022a0231022e022b0232022a02290231022a02320230022e023302310233022e02300233023402300234023502330231023602330236023402320236023102360237023402320229023802380229023902380239023a023b0238023a023c02320238023b023c02380232023d0236023c023d0232023b023e023c023d023c023e023b023f023e02360240023702400236023d023d023e02410240023d02410241023e0242024102420243024402410243024402400241024402370240024402450237024602470248024602480249024a024602490249024b024a024c024a024b024c024b024d024c024d024e024f024e024d024f0250024e024e0251024c024e02500252024e025302510253024e025202530254025102530255025402530256025502570256025302530252025802590258025202590252025a02580259025b02530258025c0258025b025c02570253025d0253025c025d0257025d025e025c025e025d025e025f0257025e0260025f02610260025e0261025e0262025e02630262025c0263025e025b0263025c025b0264026302650266026702650267026802650268026902650269026a026a0269026b026a026b026c026d026b02690268026d026902680267026e0267026f026e0268026e027002680270026d026d0271026b026b0271027202730271026d02700273026d02730274027102750270026e0270027502730275026e02760277027502760277027802750273027502780273027802790279027402730279027a0274027b027c027d027b027d027e027b027e027f027b027f0280027f02810280027f02820281027e027d028302830284027e0284027f027e02840285027f027f028502860282027f0286028602870282028702880282028702890288027d028a0283027d028b028a028b027d028c028c027d028d028c028d028e028c028f028b028c028e02900291028f028c028c0290029102910292028f0290029302910292029102930290029402930295029202930293029402960293029702950296029702930296029802970299029a029b029c029a0299029d029a029c029d029e029a029e029d029f029e029f02a0029f02a102a0029f02a202a102a2029f02a3029d02a3029f02a202a302a402a302a502a402a302a602a502a602a302a7029d02a702a302a602a702a802a702a902a802aa02a7029d02aa029d029c02a702aa02a902ab02aa029c02ab02a902aa02ab029c02ac029c029902ac02ab02ad02a902ad02ae02a902af02ad02ab02af02ab02ac02af02b002ad02b102ac029902af02ac02b102b1029902b202b102b202b302b102b302b402af02b102b402af02b402b502b502b002af02b502b602b002b702b802b902ba02b702b902b902bb02ba02bc02ba02bb02bb02b902bd02bb02bd02be02bc02bf02ba02bb02be02c002bb02c002bc02c102bf02bc02c202c102bc02c302c202bc02c002c402bc02bc02c402c302c002c502c402c602c302c402c402c702c602c802c602c702c802c702c902c802c902ca02ca02cb02c802cc02ca02c902cc02cd02ca02ce02cb02ca02ca02cd02cf02ce02ca02cf02d002ce02cf02d102d002cf02cf02d202d102d302d402d502d302d502d602d702d302d602d702d802d302d702d902d802d702da02d902db02d902da02dc02db02da02dd02d702d602dd02da02d702de02d602d502dd02d602de02dc02da02df02dd02df02da02dc02df02e002dc02e002e102df02dd02e202df02e202e002de02e202dd02e202e302e002de02d502e402e402d502e502e402e502e602e702e402e602e802de02e402e702e802e402de02e902e202e802e902de02e702ea02e802e902e802ea02e702eb02ea02e202ec02e302ec02e202e902e902ea02ed02ec02e902ed02ed02ea02ee02ed02ee02ef02f002ed02ef02f002ec02ed02f002e302ec02f002f102e302f202f302f402f202f402f502f202f502f602f202f602f702f702f602f802f702f802f902fa02f802f602f502fa02f602f502f402fb02f402fc02fb02f502fb02fd02f502fd02fa02fe02fd02fb02fe02fa02fd02fb02ff02fe02fe020003fa02fa020103f8020103fa020003f80201030203000303030103040301030303030305030403050306030403060307030403070308030403040308030903040309030a03 - m_VertexData: + m_GameObject: {fileID: 1546999163601020601} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, 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_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_Positions: [] + m_Parameters: serializedVersion: 3 - m_VertexCount: 779 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 24 - format: 0 - dimension: 4 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 40 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 37392 - _typelessdata: 77562f3bcecc4cbd0ad723be000000000000803f00000000000000000000803f00000000000080bf0b98ec3e00ab133f54562f3b989919be0ad723be000000000000803f000000000000803f0000000000000000000080bf5005083f5a07023f54562f3bcecc4c3d0ad723be000000000000803f000000000000803f0000000000000000000080bf7325c93ea64e253f6b562fbbcccc4c3d0ad723be000000000000803f00000000000000000000803f000000000000803f3242c73ede5b243f60562fbb9999193e0ad723be000000000000803f00000000000080bf00000000000000000000803f9bcfa33e84ff353f60562fbbcecc4cbd0ad723be000000000000803f00000000000080bf00000000000000000000803fcab4ea3e37b8123fcecc4c3d0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf4247a33ef3efa83e999919be0ad723be5d562fbb000000000000803f00000000000000000000803f00000000000080bf0ae0a63e36e2ef3ececc4cbd0ad723be6d562fbb000000000000803f00000000eea07ebf00000000e8b2d3bd000080bfa613a53e1469cc3e235b21be235b213e37b088bb54e524bf496a423f4a4bbbbdb877acbcc9b6d03d2f9c7e3f000080bfdd683c3e6d37253f0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd1663ecbbcb97c73d50c67e3f000080bfb6443c3eeff3253f0ad723be78c31f3e000000001b807dbff0b80d3e248888bcec4b3bbb5386cb3d50bb7e3f000080bf6085403ef8ec253f27731ebe0ad7233e639e83bbf8b9babecaff6d3f341754bdaf66afbb69335b3d25a17f3f000080bfa2a73c3ec05a243fa7081fbe0ad7233e00000000b1527bbd08827f3f2bbb0ebce17549bb5be70b3c4efd7f3f000080bf6aab403e6f80243f999919be0ad7233e74562fbb000000000000803f000000006f0b473c000000002afb7f3f000080bfd4fe3d3e753b233f672c1d3e0ad7233e00000000668ee83d1c587e3f000000002639873c8047f7baf4f67f3f000080bf6aab403eb228b63ecccc4cbd0ad7233e74562fbb000000000000803f000000004015473c000000002afb7f3f000080bfd4fe3d3e91740b3fcbcc4c3d0ad7233e74562fbb000000000000803f000000005ce4463c000000002cfb7f3f000080bfd4fe3d3e5a5be73e07d723bd0ad7233e0e77b4bb000000000000803f000000009424473c000000002afb7f3f000080bf342a3b3ec811093f06d7233d0ad7233e0e77b4bb000000000000803f000000004202473c000000002afb7f3f000080bf342a3b3e8b18ec3e54b0d0bc0ad7233e3ae719bc000000000000803f00000000610c473c000000002afb7f3f000080bfd247373ec59a053f54b0d03c0ad7233e3ae719bc000000000000803f00000000a833473c0000000028fb7f3f000080bfd247373e11fbf23e2de719bc0ad7233e5cb0d0bc000000000000803f000000005c17473c000000002afb7f3f000080bffc34273e07bc013f23e7193c0ad7233e5cb0d0bc000000000000803f000000003814473c000000002afb7f3f000080bffc34273ef888fa3efd76b4bb0ad7233e07d723bd000000000000803f00000000e20b473c000000002afb7f3f000080bf49b0183ebdc4003ff376b43b0ad7233e07d723bd000000000000803f000000000b0c473c000000002afb7f3f000080bf49b0183e934cfc3e9999193e0ad7233e74562fbb000000000000803f0000000010f6463c000000002cfb7f3f000080bfd4fe3d3e92cdb73e66562fbb0ad7233ececc4cbd000000000000803f00000000f510473c000000002afb7f3f000080bf80b10e3ef810003f59562f3b0ad7233ececc4cbd000000000000803f000000008c16473c000000002afb7f3f000080bf80b10e3e8896fd3e672c1d3e0ad7233eb01a70bbee55fd3e5f775e3f00000000a6048b3ced4e1ebc81f37f3f000080bff5013d3e4723b63ef558203ef558203e62d46dbb67733d3fec2c2c3f000000004cff9a3c8a8caabc11e67f3f000080bf3eea3c3e1531b53e0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f00000000f9b77d3c3159bdbca3e67f3f000080bfd5ec3c3ec126b43e0ad7233e2b811c3e00000000b2887d3f46ca0d3e00000000f9d7523b0b81bcbc4fee7f3f000080bff666403ee62bb43e74562f3b0ad7233e989919be000000000000803f000000008615473c000000002afb7f3f000080bfb0f62a3d9a02fd3e66562fbb0ad7233e999919be000000000000803f00000000b421473c000000002afb7f3f000080bfb0f62a3d018eff3e9e7289bb0ad7233ed4171fbed13ca5bc263d7e3f793aecbdf7aad0bd5ddde63d03077d3f000080bf3484153d801f003f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bea064d2bcfa47e53e4acd643f000080bf20c7123d2461fe3e24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf4d974fbe9069333f16152f3f000080bf880f113d9034003fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9be291402bcdf1ae93e72eb633f000080bfb000113d2319fc3e6fe889bbdb6c213edb6c21be72ac91bd2c0f233f828244bfb02a173fe1e417bfb60b0cbf000080bfad8fa03e0713373f24678bbbcde5223ef83220be5015b0bddfd72e3f0fb139bf9421163f3dca0dbf414d17bf000080bf1209a03ee451373f628091b90ad7233e64cb1fbe72db2cbd8d8c643f0da6e5bebe721b3f03ccaabed89a38bf000080bfb61ca13ee22f383f606284bbca881e3e0ad723bef1d71abdc954ad3e81b070bfc0a02c3f968a2fbf1d4c8cbe000080bf169fa13e329b363fdb078d3b0a7d1f3e0ad723bee4b63fbd7e9bd63efb1d68bf58fe293f5b402abf81f5aebe000080bf1a3ca43edc3f383fa9ec933b0ad7233ec73f20be0ec12cbd5daf633fbb0ee9bef9371b3f24bcadbeaa1c38bf000080bf79cda23e4d09393f33d2913bcddf213eccdf21bebebb91bd1f0f233f5f8244bf554b173f15d017bf03ff0bbf000080bfe175a33eb3af383f60562fbb9999193e0ad723be0000000000000000000080bf0f96343f947335bf00000000000080bf9bcfa33e84ff353f77562f3b9999193e0ad723be0000000000000000000080bf0a96343f987335bf00000000000080bfdcb2a53e4df2363f54562f3bcecc4c3d0ad723be0000000000000000000080bf8495343f207435bf00000000000080bf7325c93ea64e253f54562f3b989919be0ad723be0000000000000000000080bf1596343f8f7335bf00000000000080bf5005083f5a07023f60562fbbcecc4cbd0ad723be0000000000000000000080bfdf95343fc27335bf00000000000080bfcab4ea3e37b8123f6b562fbb999919be0ad723be0000000000000000000080bf1396343f917335bf00000000000080bfb013073f9114013f5062843bc9881ebe0ad723be76a3293d53e4bdbe68816dbfa2622c3fc4f52cbf48ad993e000080bf931d093fac6b013fc3078dbb097d1fbe0ad723be97b1233d003db7be22d36ebf019d2a3f67a32fbf4860953e000080bf11cf073f058eff3e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2bedbaa1b3f9690a8becbee383f000080bfb45e093fd9adff3e1cd291bbcddf21beccdf21be1eab913d010f23bfaa8244bf542b173faee417bf3b0b0c3f000080bf2e32083f56aefe3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894befac2233fc56953bebc893d3f000080bf6286083f22fbfd3e05678b3bb9e522be073320be14319f3dda5928bff7d33fbfe4b2163fe38913bf511d113f000080bf92e8093ffdb4003f65e8893bda6c21bedb6c21be37c3913dec0e23bf738244bff001173fbffc17bfc51d0c3f000080bf48a5093fd7f3003feb76b43b0ad7233d0ad723be0000000000000000000080bf9095343f117435bf00000000000080bfaab0cd3e940b243f77562f3bcecc4cbd0ad723be0000000000000000000080bff695343fac7335bf00000000000080bf0b98ec3e00ab133f1877b43b06d723bd0ad723be0000000000000000000080bfff95343fa47335bf00000000000080bf570cea3e0fef153f21e7193c57b0d03c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bfbf35d43efe2b223f3ae7193c5cb0d0bc0ad723be0000000000000000000080bfb295343ff17335bf00000000000080bf3345e63e4c2f193f54b0d03c2de7193c0ad723be0000000000000000000080bffc95343fa87335bf00000000000080bf6495df3e792f223f5cb0d03c3ae719bc0ad723be0000000000000000000080bfea95343fb87335bf00000000000080bf3d3ee63e1fdf1e3f04d7233d0677b43b0ad723be0000000000000000000080bf1096343f927335bf00000000000080bfde15e63e0b13243f07d7233d0e77b4bb0ad723be0000000000000000000080bf1f96343f837335bf00000000000080bf68fde93ea821223fcbcc4c3d6b562f3b0ad723be0000000000000000000080bfdf95343fc47335bf00000000000080bffc9dea3ee558253fcecc4c3d6d562fbb0ad723be0000000000000000000080bfc195343fe17335bf00000000000080bf8e83ec3e4567243f9899193e60562f3b0ad723be0000000000000000000080bfd795343fcb7335bf00000000000080bfa4f2063f3012373f9999193e77562fbb0ad723be0000000000000000000080bfb195343ff17335bf00000000000080bf6de5073f9020363fd18d1d3e2600773b0ad723beb7e1e93ece0f503db15b63bfdca62a3f9d3d2ebfe19d9b3e000080bf646f073fc4f2373f87751d3e0e4875bb0ad723be3a6ddc3eba1d71bd969166bf2ba1273fc9992abf7e8eb63e000080bf08c0083f5e9b363faefb1d3e151886320ad723be3103293f320a38bca44140bf50c3093fcac130bf8f80f73e000080bf522d083f985b373f0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf0ab9cc3efb980cbf87db3b3f000080bf6ad9093f19b6373f72a5203e465c78bb71a520be9f2e343f45c2c4bd8c2e34bf18e10c3f96830dbf3732203f000080bfb64e093f7726373f0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be539f063e7a0527bf86113f3f000080bf992f093f1b5f383f0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bfc4c9e23e9e9e1fbf1dec243f000080bf9784083f4c09393fbeb1203ef00d7a3bc0b120be1576343f51bba03df17534bf7216193f2ba719bf38fb073f000080bfc2f7073f0580383fd38d1dbe530077bb0ad723bec716ddbeacae44bd319366bf78dc2c3f9ae32dbf5f3593be000080bf75fba43e1914003fc1b120be1b0e7abbc1b120bead7734bf7bd69fbd877734bf6202193ff8b819bfaffd07bf000080bfb8eaa33eb10dff3e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bfd880df3e79ea1fbf16c125bf000080bf0ed1a23e23fbfd3eb1fb1dbe151886320ad723beb5f228bf1aefd13bd55340bfbe4c0a3f5add30bf11fef5be000080bf967fa33e46ab003f0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33be9708063e5ae926bfb7303fbf000080bf0a7ba13e864fff3e8b751dbe2048753b0ad723be68ece6beab987c3debef63bf3d57253f187d2abfa31fbfbe000080bf2c5aa23e806b013f0ad723be0f48753b89751dbee0e058bfe968933d87c206bf526cd03eab7b0cbf76ec3abf000080bf6827a03ec450003f73a520be555c783b72a520be092e34bf820fc53dd42d34bfb3e80c3ff26d0dbfa43e20bf000080bfd03ca13e67e0003f999919be6d562fbb0ad723be0000000000000000000080bf2796343f7c7335bf00000000000080bff4f4a53eadf4003f999919be6b562f3b0ad723be0000000000000000000080bf1896343f8b7335bf00000000000080bf620fa43e4ee6013fcccc4cbd77562fbb0ad723be0000000000000000000080bfdf95343fc37335bf00000000000080bf413cc93ef9ad123fcecc4cbd60562f3b0ad723be0000000000000000000080bfd595343fcd7335bf00000000000080bfaf56c73e999f133f09d723bdfd76b43b0ad723be0000000000000000000080bfd095343fd17335bf00000000000080bfd4dcc93e35e5153f05d723bd1877b4bb0ad723be0000000000000000000080bfe895343fba7335bf00000000000080bf5fc4cd3ed3f3133f57b0d0bc2de7193c0ad723be0000000000000000000080bf0e96343f947335bf00000000000080bf009ccd3ec027193f54b0d0bc3ae719bc0ad723be0000000000000000000080bf0996343f9a7335bf00000000000080bfd844d43e65d7153f2de719bc54b0d03c0ad723be0000000000000000000080bfbf95343fe27335bf00000000000080bf0a95cd3e92d71e3f2be719bc5cb0d0bc0ad723be0000000000000000000080bf1d96343f857335bf00000000000080bf7da4df3ee0da153f0677b4bb05d7233d0ad723be0000000000000000000080bff195343fb27335bf00000000000080bfe6cdc93ecf17223ff576b4bb0ad723bd0ad723be0000000000000000000080bf3596343f6e7335bf00000000000080bf9229e63e4afb133f6b562fbbcccc4c3d0ad723be0000000000000000000080bffc95343fa77335bf00000000000080bf3242c73ede5b243f05678b3bb9e522be073320be14319f3dda5928bff7d33fbfae3e06bf5bbd1c3f8f7b17bf000080bf74ebf03efcd3b83e5572893b0ad723becd171fbe824ea53cc53c7ebf4154ecbdbec494be8e3ed63d997c73bf000080bf575df03e802cb93e16c890390ad723be6ccb1fbe86e02a3deb3b65bfaeece2be03d390bda132e13e993165bf000080bffec6f03e5290ba3e60562fbb0ad723be989919be00000000000080bf000000000000000000000000000080bf000080bf15cfed3e7b9cbb3e93ec93bb0ad723bec73f20be191cdc3c59e774bf677894be7e2809bc9368943e130075bf000080bfce15f13e5743bc3e5d562f3b0ad723be999919be00000000000080bf000000000000000000000000000080bf000080bf74b6ed3e90b6b93e6d562f3b0ad723becbcc4cbd00000000000080bf000000000000000000000000000080bf000080bf2ec4bb3e97b8b93e6b562fbb0ad723bececc4cbd00000000000080bf000000000000000000000000000080bf000080bfd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd00000000000080bf000000000000000000000000000080bf000080bf3aebb63ee39fbc3e0677b43b0ad723be07d723bd00000000000080bf000000000000000000000000000080bf000080bf84b8b63ea0b7b83e38e7193c0ad723be54b0d0bc00000000000080bf000000000000000000000000000080bf000080bf6265af3e0357b73e2de719bc0ad723be5cb0d0bc00000000000080bf000000000000000000000000000080bf000080bfe1bbaf3e1601be3e57b0d0bc0ad723be38e719bc00000000000080bf000000000000000000000000000080bf000080bfbafda73ec4b5c33e5cb0d03c0ad723be23e719bc00000000000080bf000000000000000000000000000080bf000080bf2913a73efda2b13e0ad723bd0ad723be0677b4bb00000000000080bf000000000000000000000000000080bf000080bfb54fa63ee8dcc83e06d7233d0ad723befd76b4bb00000000000080bf000000000000000000000000000080bf000080bf65dfa43e027cac3ececc4cbd0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfa613a53e1469cc3ececc4c3d0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf4247a33ef3efa83e999919be0ad723be5d562fbb00000000000080bf000000000000000000000000000080bf000080bf0ae0a63e36e2ef3e6c2c1dbe0ad723be00000000835d95bd77517fbf000000000000000000000000000080bf000080bf059aa53e2c1ff13e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf000000000000000000000000000080bf000080bf786ea73e191ff13e9e081f3e0ad723be000000004e4f0f3ef56d7dbfc2c5a2bc334405bd13467d3c77d57fbf000080bf5a0ca03e0195833e9899193e0ad723be6d562fbb00000000000080bf000000000000000000000000000080bf000080bfde7aa13ed376853e20731e3e0ad723be1d9e83bb38bbba3e88ff6dbfde1754bd256915bd022d293d6d9c7fbf000080bf8e10a23eb6c8833e0ad7233e71c31fbe00000000ba917f3f18cf6bbd5f2be3bb56c7a4bb5dca073d25db7fbf000080bf1209a03e7d83803e1e5b213e205b21befaaf88bb5ae5243f446a42bfac4bbbbd7eac84bd4e0e853d96eb7ebf000080bf7022a23e0dec813e0ad7233ebd3d1fbe37ca8abbf27e733f32ed9cbe5b2d17bd2a47eabc8246013d88c47fbf000080bffc28a23e6055803e0ad7233e999919be77562fbb0000803f00000000000000000000000000000000000080bf000080bfde7aa13e78c87c3e0ad7233e2b811c3e00000000b2887d3f46ca0d3e000000000000000000000000000080bf000080bf0297a53e08111d3d0ad7233ececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bf4247a33e0647363e0ad7233ecccc4c3d77562fbb0000803f00000000000000000000000000000000000080bf000080bfa613a53e248bdf3d0ad7233e07d723bd0e77b4bb0000803f00000000000000000000000000000000000080bf000080bf65dfa43ef6392f3e0ad7233e5cb0d0bc3ae719bc0000803f00000000000000000000000000000000000080bf000080bf2913a73e12fc243e0ad7233e9999193e6d562fbb0000803f00000000000000000000000000000000000080bf000080bf0ae0a63e7810253d0ad7233e2b811c3e1cfb63bbe3ad543f8f7d0e3f000000000000000000000000000080bf000080bfce53a73e74101d3d0ad7233e54b0d03c3ae719bc0000803f00000000000000000000000000000000000080bf000080bfbafda73efb0f013e0ad7233e05d7233d1877b4bb0000803f00000000000000000000000000000000000080bf000080bfb54fa63ecca4ed3d0ad7233e3ae719bc5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bf6265af3edaa4193e0ad7233e1877b4bb06d723bd0000803f00000000000000000000000000000000000080bf000080bf84b8b63ed4e6163e0ad7233e2de7193c5cb0d0bc0000803f00000000000000000000000000000000000080bf000080bfe1bbaf3ee5650c3e0ad7233e77562fbbcecc4cbd0000803f00000000000000000000000000000000000080bf000080bf2ec4bb3e46e7143e0ad7233e60562f3bcecc4cbd0000803f00000000000000000000000000000000000080bf000080bfd1dcbb3e7921113e0ad7233efd76b43b07d723bd0000803f00000000000000000000000000000000000080bf000080bf3aebb63ebc220f3e0ad7233e6d562fbb989919be0000803f00000000000000000000000000000000000080bf000080bf72b6ed3e36e3143e0ad7233efdfb8932aefb1dbe980d7c3fb799deba661c33be6f1c33be00000000b00d7cbf000080bf12e6ef3e2200133e0ad7233efc4775bb87751dbe474a5a3fc7f090bde38004bf100e04bfae492e3d6d0a5bbf000080bf6893ef3eb1a3153e0ad7233e6b562f3b999919be0000803f00000000000000000000000000000000000080bf000080bf16cfed3e681d113e0ad7233e1300773bd08d1dbef820593f82cf6f3d6ec806bf567506bffd9315bd3fa559bf000080bfd6c1ef3ee257103ef85820bef75820be9ed46dbb78733dbfdc2c2cbf0000000075cb01bd75d10e3d39b77f3f000080bf789b2d3faae97e3e6c2c1dbe0ad723bede1a70bb3755fdbe94775ebf0000000022701fbd188fb53c39be7f3f000080bf018c2d3f73c1813e6c2c1dbe0ad723be00000000835d95bd77517fbf00000000268f0bbd094a233bbed97f3f000080bf02762e3f87d7813e0ad723be2e811cbe00000000a6cd7fbfe58620bd00000000ea5f03bb3459513d37aa7f3f000080bfd6912e3f98057a3e0ad723be2e811cbe52fb63bb4efc5ebfc680fbbe000000009abacdbcd366363d4daa7f3f000080bfa5b32d3fa9db793e0ad723be989919be59562fbb000080bf0000000000000000000000006ea7873d13707f3f000080bff4e62d3f3fe2773e0ad723be78c31f3e000000001b807dbff0b80d3e248888bc262bf2bb21c4893dc2697f3f000080bfd6912e3fd87ff73c0ad723bececc4cbd6d562fbb000080bf00000000000000000000000096a5873d17707f3f000080bff4e62d3f16f3303e0ad723bececc4c3d59562fbb000080bf000000000000000000000000a2ab873d0b707f3f000080bff4e62d3fd407d43d0ad723be0ad723bd0677b4bb000080bf000000000000000000000000e6a2873d1d707f3f000080bf13322d3f09b9293e0ad723be5cb0d0bc36e719bc000080bf0000000000000000000000001da6873d17707f3f000080bfdc392c3f853c1f3e0ad723be9999193e6d562fbb000080bf000000000000000000000000bfa5873d17707f3f000080bff4e62d3f00530c3d0ad723bec33d1f3e6eca8abb267f73bfeaeb9c3e9a2c17bd50cb80bc370a923d0c517f3f000080bf4e832d3f60ccf83c0ad723be57b0d03c23e719bc000080bf0000000000000000000000002ea4873d1b707f3f000080bfdc392c3f0e31f63d0ad723be09d7233df376b4bb000080bf0000000000000000000000006c0f873d56717f3f000080bf13322d3f68f3e13d0ad723be36e719bc5cb0d0bc000080bf0000000000000000000000005ca5873d17707f3f000080bfbb36283f7712133e0ad723be0677b4bb0ad723bd000080bf000000000000000000000000bba5873d17707f3f000080bffc96243fafa10f3e0ad723be2de7193c54b0d0bc000080bf00000000000000000000000031bd873de56f7f3f000080bfbc36283fe6be053e0ad723be6d562fbbcecc4cbd000080bf0000000000000000000000005fa5873d17707f3f000080bf4518223fe4260d3e0ad723be66562f3bcbcc4cbd000080bf00000000000000000000000025a5873d19707f3f000080bf4518223f385b093e0ad723befd76b43b06d723bd000080bf000000000000000000000000cc95873d39707f3f000080bffc96243f82d1073e0ad723befcfb8932b0fb1dbe990a7cbf5d49433b675b33bed3bd32bef7d88a3dbe787b3f000080bfbe13083f0f58063e0ad723be60562f3b989919be000080bf00000000000000000000000003a6873d17707f3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbee0e058bfe968933d87c206bf083304bf7cb8f83d3602593f000080bf6e34083f97b6033e0ad723be74562fbb999919be000080bf0000000000000000000000009fa5873d17707f3f000080bf2425093f8071083e0ad723be410077bbd28d1dbedb4a5abf567b6cbdd5e904bf0f8d05bf1e602d3d77225a3f000080bf832e083f8609093ea7081fbe0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e203a963b0ad723be78c31f3e0000000000000000000000000000803f000000000000803f00000000000080bf670b9e3e000000000ad723be2e811cbe0000000000000000000000000000803f000000000000803f00000000000080bf0048e53b000000006c2c1dbe0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf00000000a05fd03b672c1d3e0ad7233e0000000000000000000000000000803f000000000000803f00000000000080bf1209a03e91c79c3e9e081f3e0ad723be0000000000000000000000000000803f000000000000803f00000000000080bf0000000025b09d3e0ad7233e2b811c3e0000000000000000000000000000803f000000000000803f00000000000080bfef739c3e1209a03e0ad7233e71c31fbe0000000000000000000000000000803f000000000000803f00000000000080bf40d77e3b1209a03ecbcc4c3d6b562f3b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803fde755b3e12efe43e04d7233d0677b43b0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f53b35b3e9666e03e54b0d03c2de7193c0ad723be00000000000000000000803f0a5835bfb4b134bf000000000000803f8a0e5c3e91e5d93e57b0d0bc2de7193c0ad723be00000000000000000000803ff3672e3f3f663bbf000000000000803f03f3863e79973b3f09d723bdfd76b43b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fd1488a3e90c9383fcecc4cbd60562f3b0ad723be00000000000000000000803ff3672e3f3d663bbf000000000000803fce9c8c3e8dd5363f0ad723be57b0d03c23e719bc0000803f000000000000000000000000000000000000803f0000803fb837793f62e9d53e0ad723be09d7233df376b4bb0000803f000000000000000000000000000000000000803f0000803f3ca6763f69c6d03e0ad723bececc4c3d59562fbb0000803f000000000000000000000000000000000000803f0000803f96e1743f1c3dcd3e6b562fbb0ad723bececc4cbd000000000000803f000000000000000000000000000080bf0000803fd2dcbb3e839ebb3e0677b4bb0ad723be06d723bd000000000000803f000000000000000000000000000080bf0000803f3aebb63ee39fbc3e2de719bc0ad723be5cb0d0bc000000000000803f000000000000000000000000000080bf0000803fe1bbaf3e1601be3ecccc4cbd77562fbb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803fe199563fb2edf83e05d723bd1877b4bb0ad723be00000000000000000000803f9f2f8cbea337763f000000000000803f3623583f47e5f53e54b0d0bc3ae719bc0ad723be00000000000000000000803fa02f8cbea337763f000000000000803f28625a3f0c78f13e0ad723bececc4cbd6d562fbb0000803f00000000000000000000000000000000000080bf000080bff2f8773f3ae3fb3e0ad723be0ad723bd0677b4bb0000803f00000000000000000000000000000000000080bf000080bf5dd6793f588ef83e0ad723be5cb0d0bc36e719bc0000803f00000000000000000000000000000000000080bf000080bfd48b7c3f81b7f33e38e7193c0ad723be54b0d0bc000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803fe4026f3f2cfa5e3c0677b43b0ad723be07d723bd000000000000803f0000000046ec7f3f00000000b4fcc8bc0000803f7b9f6e3ff6f4e33c6d562f3b0ad723becbcc4cbd000000000000803f0000000046ec7f3f00000000b3fcc8bc0000803ff7536e3fd7151a3d5cb0d03c3ae719bc0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803fd429753f5968603f07d7233d0e77b4bb0ad723be00000000000000000000803ff3b4acbefcfe703f000000000000803ff5c3723fc6845d3fcecc4c3d6d562fbb0ad723be00000000000000000000803ff3b4acbefbfe703f000000000000803f9e1b713f01855b3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3e96198f3e264199be648c69bf000080bfd0dbaf3e1cbcff3d0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fd0d0993e781301bff0444fbf000080bfe1bbaf3ee5650c3e0ad7233efd76b43b07d723bdc1fb813e458c6ebf10c5843e9f71553e6e1c56be949674bf000080bf3aebb63ebc220f3e0ad7233e60562f3bcecc4cbd3a4b843efd3c77bfab21ba3c0cf7a03debf61ebb11357fbf000080bfd1dcbb3e7921113e992a333e4fe2da3bcfcc4cbd88f80f3f9c8053bfb5b20a3d13e0203dafe468bccfc67fbf000080bf58aabb3e53b0033e0ad7233e6b562f3b999919be9053843e8f4c77bf484fa2bbf0f498bd489d73bcb4417fbf000080bf16cfed3e681d113e992a333e4fe2da3b989919bef1ed0f3f2b8753bf9aae0bbdfb0f22bdae826a3cf7c57fbf000080bf9c9ced3e43ac033e0ad7233e1300773bd08d1dbea8467f3e7a896ebf6d1a87be414759be9d6b5a3e7d2374bf000080bfd6c1ef3ee257103ebeb1203ef00d7a3bc0b120be0ba6723e94dc71bf5ad467befe863cbe9c953d3eab1e77bf000080bf5158f13e497d123ed18d1d3e2600773b0ad723be7ca8823e80686ebf691c85be8a2b50bec243583efac074bf000080bf02eff23e90b2143eb9f5453e9911cd3ccfcc4cbd6a2e5e3f064afdbeed41383d3084b13c4f2358bd49957fbf000080bf58aabb3ec874d33d9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe5fc29bbee90ab33e38d762bf000080bf9eb0f93e1ab0ff3d9899193e60562f3b0ad723be4fa6a83ceb3f77bfcd4c84beeebb66bee2417d3e1e3f71bf000080bfc0fbf23e3b35183e9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbfb2b77fbe8ab1093f3f214ebf000080bfee87fa3edb61153ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf3be980be69360d3fc4914bbf000080bf5254fc3e1d545c3ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584bee0be7ebed1c4833ecc096fbf000080bf24c8f43e7c275f3ec9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5bebef7a3be929a903e247d67bf000080bf9eb0f93e3c22db3d9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebfcc0012bf19a4123f75b716bf000080bf1d30003fb076ed3db9f5453e9711cd3c989919be6a2e5e3f064afdbeeb4138bda5dab2bc03f8563d0a967fbf000080bf9c9ced3eac6cd33dc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e08e4a33e1dbd90be3c7b67bf000080bfd0dbaf3e402edb3d9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd790c3f26db05bf04fd26bf000080bf2ea3a93ecc84ed3dcbcc4c3ececc4c3dcbcc4cbd7e487f3fa09758bda697583de3133f3d4600e7bdf9157ebf000080bf8afebb3e7cc5a63db9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3eee81f03ef48e7fbe6fc758bf000080bfeba4af3eee41b03dcbcc4c3ecccc4c3d989919be7e487f3fa39758bd9e9758bdeb2b3fbd0334e63dcc187ebf000080bfcdf0ed3e5cbda63db9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe188af0be002d7f3e62cc58bf000080bfee87fa3ec035b03db9f5453e9899193e992a33be6a2e5e3fea41383d064afdbebd6ff8be4e7a943e852c53bf000080bf5254fc3e70cb8c3ccbcc4c3e9999193e999919be7e487f3fa297583d9f9758bd1d4378bd9a19213ede557cbf000080bf32bdef3ec0d34d3cc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be18740abf05937b3e7cf04dbf000080bf2d59fc3ec006ab3bb9f5453e982a333e989919be692e5e3f064afd3ef04138bde24223bed73e443ee1ea77bf000080bfe44ef03e00000000b9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d8f86233eccb844be0de277bf000080bfa15cbe3e00408237cbcc4c3e9999193ecbcc4cbd7e487f3fa397583da397583d575a783d4b9c21be8e507cbf000080bfedcabd3eb0144e3cb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e3869f83e17b594be192453bf000080bf4f71b13e30fc8c3cc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e327c0a3fd00c7cbebae14dbf000080bf5e84b23e00c7ab3b9c15323e7bb9d53c40c057bc0a29043fb7b5cdbeed9f413fcd9e29bf1d373fbfd636633d000080bf05e1d83e2a523b3f0ad7233e2de7193c5cb0d0bcc779733efa4f48bf4b54133fac9029bf366110bf307efcbe000080bfd0b3e33e16d43a3f9c15323e2bc0573c80b9d5bc026c063f4d723fbf84fdcf3ead4e1ebf2fc829bf21dcd7be000080bfc272dd3e4c09393f0ad7233e54b0d03c3ae719bcdb87753e013e0bbf0ddd4d3fa1b133bfa25a2bbfba4879be000080bffc03de3e00ac3d3f992a333ececc4c3d60e2dabbbe09113f0c62f7bcf6ce523fe5a01cbf87502fbf56aaca3e000080bfbe0cd03ea65c3f3f0ad7233e05d7233d1877b4bb5bf4783ec51c82be4aa56f3f20ff34bf8a0735bf74c308bc000080bf05e1d83e7c3d403fc9503f3e7db9d53c80b9d5bc54ee4e3f5525d5be5825d53e9a2e15bfb1992abfc920ee3e000080bf474fd43e4c09393fb9f5453ececc4c3da011cdbc692e5e3fee4138bd0a4afd3e2999cfbe92b523bf2937273f000080bf408fc93ee71d3c3f0ad7233ecccc4c3d77562fbb6451843eec474cbc6948773f29352fbf4c4235bfe424323e000080bfb857d53e2202423fb9f5453e9899193ea011cdbc692e5e3ff041383d0b4afd3e974bc8be16460dbfcf8a3c3f000080bf4932a63e63cc4d3f992a333e9899193e60e2dabb8bf80f3fb7b20a3d9c80533f604f21bf322221bf5cd1e83e000080bfc6afac3e220b513f0ad7233e9999193e6d562fbb154d843eccb3a53c6140773fd69233bf1ef92ebf3cd54e3e000080bfc0fab13e9fb0533f9c15323e9c15323e40c057bcf473ef3e2e75ef3eb801403fe7c407bff3c407bf0b52293f000080bfd09aa43e4575553fc9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53ea47b86bee772c1be3e49633f000080bf1309a03e662c533f0ad7233e2b811c3e1cfb63bb9c467f3e7c1a873e7a896e3f54ae28bfe3ad28bfcbcbb93e000080bff6f9b03e0331543ff558203ef558203e62d46dbb0e14833e4ead833eb38c6e3f1bae28bf1bae28bfd0cbb93e000080bffcdab03e4575553f672c1d3e0ad7233eb01a70bb731a873eb6467f3e78896e3f16ae28bf1fae28bfd0cbb93e000080bfd4beb03ef59b563f9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53ea572c1bed47b86be4449633f000080bf1409a03e23be573f9999193e0ad7233e74562fbb0595a73cf64c843e1440773f98f92ebf8e8f33bf63fc4e3e000080bfc0fab13eeb39573f9899193e982a333e60e2dabbb0b20a3d8bf80f3f9c80533f2d2221bf644f21bf5dd1e83e000080bfc8afac3e68df593f9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e0d460dbfa44bc8bed38a3c3f000080bf4932a63e271e5d3fcbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e3ec018bf664dd7be3bf82e3f000080bf408fc93ea2cc6e3fcbcc4c3d0ad7233e74562fbbc3474cbc6a51843e6748773f754235bf01352fbfc524323e000080bfb857d53e67e8683fcbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533fa80933bffd0a1abfd681c53e000080bfbf0cd03ee48d6b3f06d7233d0ad7233e0e77b4bb2ea785bee218813e838b6e3faaf434bf341335bf170dd9bb000080bf04e1d83e0dad6a3f78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403f214e52bfd57411bf551344bd000080bf05e1d83e5f986f3f54b0d03c0ad7233e3ae719bc485413bfc979733efe4f483f618926bfb38136bfcf0e86be000080bffc03de3e893e6d3f23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f89cf0abf9fbb2bbf178501bf000080bfd0b3e33e7316703f20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e1f4827bf200b20bfd787dabe000080bfc272dd3e3ee1713fb9f5453ececc4c3d992a33be6a2e5e3feb4138bd064afdbe216dc7bce0a77d3fdbfe07be000080bfaebd143f1ce32e3fc9503f3e7bb9d53c9c1532be55ee4e3f5625d5be4f25d5be22b5693e5b965f3f1748dcbe000080bf10c30e3f7882303f9d15323e7db9d53cc9503fbe5525d53e5525d5be54ee4ebf6c3cb83b2be3633fc03fe9be000080bf10c30e3f99bd333f992a333ececc4c3db9f545be064afd3eeb4138bd6a2e5ebff60f25bdec137f3f0dd098bd000080bfaebd143ff679333f992a333e9899193eb9f545be064afd3eea41383d6a2e5ebf8a10253dec137f3f36d0983d000080bf18bf2d3ff679333fb9f5453e9899193e992a33be6a2e5e3fea41383d064afdbed76cc73ce0a77d3fc9fe073e000080bf18bf2d3f1ce32e3fc9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be67a913be3558533fa1aa0b3f000080bfb6b9333f7882303f9c15323e9c15323ec9503fbe5125d53e5725d53e55ee4ebf7e53863c48ac623ff1cded3e000080bfb6b9333f9abd333f9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be40faf5bd7fb3003f57265b3f000080bfd7f4363f9abd333f9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea2a349bcf1c5fd3ebc515e3f000080bf3394383f37b8393f9899193e9999193ecbcc4cbe9e97583da297583d7e487fbf42558b3baea27f3f93d0593d000080bf18bf2d3f37b8393f9999193ececc4c3dcbcc4cbe9f97583d9e9758bd7e487fbf17528bbbaea27f3f89d059bd000080bfaebd143f37b8393f9899193e982a333eb9f545bef241383d064afd3e692e5ebf0000000034685e3f328bfd3e000080bf59fd333f37b8393fcfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf75fc7d3b496d5e3f6177fd3e000080bf59fd333fa1b9523fcfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf3394383fa1b9523fcbcc4c3d9999193ecbcc4cbea39758bd9f97583d7e487fbf7e5a8bbbaea27f3f9ad0593d000080bf18bf2d3fa2b9523f80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf14a6923dd8b9663f20c6da3e000080bfb6b9333f3fb4583f9899193e9911cd3cb9f545beed41383d064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bf6c7f0e3f37b8393f9c15323e2bc0573c9c1532be5d30ea3e582743bf546feabe8f7fce3d8f580e3f5d3453bf000080bfef870b3f99bd333f9899193e4fe2da3b992a33beb6b20a3d9c8053bf88f80fbf8babd23bb918103f869653bf000080bf92e8093f37b8393fcbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbf83abd2bbb618103f879653bf000080bf92e8093fa1b9523fcbcc4c3d9711cd3cb9f545beea4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf6c7f0e3fa1b9523fcbcc4c3dcccc4c3dcbcc4cbea09758bda39758bd7e487fbf355c8b3baea27f3f9fd059bd000080bfaebd143fa2b9523f78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebfde34b8bb29e3633fc73fe9be000080bf10c30e3f3fb4583f78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfbfd58fbd61b6153f09e14ebf000080bfef870b3f3fb4583fa011cd3c9899193eb9f545be064afdbefa41383d692e5ebfeb0f25bdec137f3f15d0983d000080bf18bf2d3fe2f7583f9811cd3ccecc4c3db9f545be064afdbed54138bd6a2e5ebf3a10253dec137f3f14d098bd000080bfaebd143fe2f7583f20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf96ce34bec96f623fd614ddbe000080bf10c30e3f60ef5b3f40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfceb32e3deefd7d3f38a6f0bd000080bfaebd143fbd8e5d3f60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf7fa425bd36f77d3f9900f43d000080bf18bf2d3fbc8e5d3f40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe444d763e55ec593f9ec7ee3e000080bfb6b9333f60ef5b3fb9f5453e982a333e989919be692e5e3f064afd3ef04138bd2bb866bdf67e403eaf057b3f000080bfd0322d3d1209a03ec9503f3e9c15323e9d1532be54ee4e3f5825d53e5525d5be3bfd063eeba80f3fbb2f513f000080bf30e39a3c7425a33e9c15323ec7503f3e9c1532be5a25d53e53ee4e3f5725d5be089229bd67cff23ed521613f000080bf08bf9e3ca24aa73e992a333eb9f5453e989919be104afd3e672e5e3ffb4138bd39edaebd47f0cc3d57c67d3f000080bf58f02f3d5ceca53e992a333eb9f5453ecfcc4cbd0e4afd3e672e5e3ffa41383d7ce9ed3d684ef0bd797c7c3f000080bfe9ef0f3e4a80a63eb9f5453e982a333ecfcc4cbd692e5e3f064afd3eed41383d4581a03d673567beaa94783f000080bf86400f3e009da03ec9503f3e9c15323e80b9d5bc51ee4e3f5825d53e5a25d53e35a2dabd7a7c17bf038d4c3f000080bfa11c273e2200a43e9c15323ec7503f3e80b9d5bc5525d53e51ee4e3f5f25d53eb6a4923dc49ef8be550a5f3f000080bf1a98273e4e25a83e9899193ecbcc4c3ecbcc4cbda097583d7e487f3fa997583d92827f3dbcfb65bdc8187f3f000080bfc02f103e2757b13e9899193eb9f5453ea011cdbcf741383d672e5e3f124afd3e6bc3bb3df84ffebec7f15c3f000080bf79e4283eae84b23e9999193ecbcc4c3e989919bea497583d7e487f3fa09758bd1a0a18bd17c9603d01707f3f000080bfb0ef303d38c3b03e9899193eb9f5453e992a33befa41383d672e5e3f0e4afdbea47688bde450fe3edf875d3f000080bf203c983ce1a6b13ecfcc4c3db9f5453e992a33bef94138bd672e5e3f0e4afdbe30b8f7bdff41f93eeb755d3f000080bf283c983ca834e13ecbcc4c3dcbcc4c3ecbcc4cbda69758bd7e487f3fa897583dd34b473d84194ebd435f7f3f000080bfbf2f103eefe4e03ecbcc4c3db9f5453ea011cdbcf74138bd662e5e3f144afd3e1374113ef01ff8be21f55c3f000080bf79e4283e7512e23ecbcc4c3dcbcc4c3e999919bea79758bd7e487f3fa79758bd9d4ad0bc8451533d82937f3f000080bfacef303d0051e03e80b9d53cc7503f3e9c1532be5f25d5be51ee4e3f5525d5bea96aecbd4d78d03e84f1673f000080bf10bf9e3c0e96ed3ecfcc4c3d982a333eb9f545bef04138bd084afd3e692e5ebf31446abe9e30573fe063fb3e000080bf0000000078f0e33e80b9d53c9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf724ca1bea995443fbac70e3f000080bf2046ce3bbf82ef3e40c0573c9c15323e9c1532beb5d23fbfc8bfef3ef9bfefbe688670be4047f23e425c593f000080bf40e39a3cd7baf53ea011cd3cb9f5453e989919be104afdbe672e5e3f024238bd897a273c8ece6b3de18f7f3f000080bf58f02f3d0a39ed3e9811cd3cb9f5453ecfcc4cbd104afdbe672e5e3fe341383d3e82273cb3323cbd5db77f3f000080bfe9ef0f3ef9cced3e40e2da3b982a333ecfcc4cbdf9ce52bfbb09113fc761f73c6a7defbc2ba3c3bd2ab87e3f000080bf86400f3e325ef93e60e2da3b982a333e989919be9c8053bf8af80f3fccb20abd1af8363d7b4e003e93b97d3f000080bfd0322d3d43caf83e78b9d53cc7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53ef988093e97dccbbe1e4d683f000080bf1b98273eba70ee3e78b9d53c9c15323e40c057bc632bcfbe4b91053fe543403ff6728d3e3f9136bf17ef243f000080bfd706343ea683f03ecbcc4c3d982a333e60e2dabbd7f800bd13ab103fcf0c533f60ca6f3ec3354cbff0440e3f000080bf398d3a3e9204e53e20c0573c9c15323e80b9d5bceb9f41bf0a29043fb5b5cd3e215b403ea575d5beb8aa633f000080bfa11c273e8495f63e23e7193c0ad7233e5cb0d0bc0ddd4dbfcf87753e043e0b3f7babc43ef336fabe0989483f000080bffc34273ef888fa3ef376b43b0ad7233e07d723bd4ba56fbf61f4783eb81c823e1a99103e1acccdbe009b673f000080bf49b0183e934cfc3e59562f3b0ad7233ececc4cbd694877bf6451843e47474c3c5cf506bd84c22ebe6d1a7c3f000080bf80b10e3e8896fd3e74562f3b0ad7233e989919beb03e77bf2f4c843ecb2eb0bc32bf0c3dbccc563e5a267a3f000080bfb0f62a3d9a02fd3ea9ec933b0ad7233ec73f20be7a896ebfb1467f3e6f1a87be833108be2042e23ee91b633f000080bfb000113d2319fc3e33d2913bcddf213eccdf21bea38c6ebf5df9833eebc782be4a5102beada7da3e4d2d653f000080bf045f0a3da46afc3edb078d3b0a7d1f3e0ad723be78896ebf701a873ec5467fbe45b1fdbd1e2bd43e2bd1663f000080bf1859023de3d5fc3e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4c7f67bee17ad63ec622613f000080bf507d013de87ffe3e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbfc16ef8be8ad7ed3e5ca43d3f000080bf604c8b3c4982fc3e78b9d53c2bc0573c9c1532be9ff1ccbe033142bf0ba003bfe7e4a7be838acfbe4c735a3f000080bf03034e3ee8c6d83ecbcc4c3d4fe2da3b992a33beb2b20abd9d8053bf87f80fbfba676abe2a950abf831d4f3f000080bf625f4c3e1084e33ecbcc4c3d6b562f3b0ad723be7b29e0bc432d77bfc08584be111e53be95dc7dbec453723f000080bfde755b3e12efe43e54b0d03c2de7193c0ad723bea39706bf179650bf81347abe2c4937be3c0b33be45db773f000080bf8a0e5c3e91e5d93e21e7193c57b0d03c0ad723befd4f48bf4a5413bfb87973bef13e2cbe536d30beca77783f000080bf8a0e5c3eea85ce3e20c0573c7db9d53c9d1532bee34340bf642bcfbe4f9105bf308ed2be13c1a9befe5d593f000080bf01034e3e6ea3cf3e78b9d53c7bb9d53cc9503fbe5125d5be5125d5be57ee4ebf818212bf7b2212bf7bb7163f000080bf6bab403e2e33d43eeb76b43b0ad7233d0ad723be888b6ebf1ca785beca1881beb2684fbe544c4fbe4e47753f000080bf52b35b3e6101c83e40e2da3bcecc4c3d992a33becf0c53bfb1f800bd13ab10bfd97c0abf3ebc7fbe86984d3f000080bf635f4c3e8ce0c43e54562f3bcecc4c3d0ad723be694877bf31474cbc595184beb20c7fbe5b0367bea01c713f000080bfde755b3e8776c33e60e2da3b9899193e992a33be9c8053bfd0b20a3d8af80fbf2b320dbf003181be57894b3f000080bf0306493e1873a13e77562f3b9999193e0ad723be0b3f77bf0d10ae3c574c84be4dc482bee55c7fbe78226f3f000080bf7d1c583e1209a03e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eca56e73c44f222bf0150453f000080bf29ac9b3e6c1a673f2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133fd7d35abe9bfb43bfd1591b3f000080bf7b1c9e3e1fc4653ffd76b4bb0ad7233e07d723bd478c6e3fc6fb813e0bc5843e7ca7dfbc01db29bff1673f3f000080bf6e4e973e2c6c643f66562fbb0ad7233ececc4cbdfd3c773f454b843eb021ba3c5865313e792e35bfcd552f3f000080bf1898923e9185633f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d84f9b83e782f13bfa9ee3b3f000080bf2f3d903eca0e653f4fe2dabb982a333e989919beb628533f3e80103fd94e03bd0771fa3e111e2fbfd3860a3f000080bfe5244c3e56ac573f66562fbb0ad7233e999919beda4b773f3953843ea3e8dfbb0de0623ef95c50bfaf7d093f000080bfb8da503e1d23563f9e7289bb0ad7233ed4171fbe7c896e3fb9467f3e5a1a87bef412b33eb6a84fbf4af9ef3e000080bfb1dc4c3e342f553f2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe2662233f8e1532bf88daa83e000080bf83ae3a3e6651533f24678bbbcde5223ef83220be7d896e3f95467f3e601a87beeb12b33eada84fbf6df9ef3e000080bf0c594c3eebe5543f6fe889bbdb6c213edb6c21be458c6e3f2acb843e91f581be75a2b43ef3b04fbf78b0ee3e000080bfc3e84b3eb289543f606284bbca881e3e0ad723be7c896e3f681a873e97467fbe1c4fb53e28d14fbfecbced3e000080bfa8034b3e82d7533f60562fbb9999193e0ad723be793f773f5065ab3c904c84be29e32f3e33574cbf02cf133f000080bf1e814c3ee55b533f4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbf120aba3e627d4bbf93ccf83e000080bf8c48413e9fbc503f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bfa60faf3e319944bf13a60a3f000080bf001e6a3ee056423f6b562fbbcccc4c3d0ad723be6b48773fd7474cbc585184be88ca2b3e21f03abfa38b293f000080bf9356753e26f6443f0677b4bb05d7233d0ad723be858b6e3f24a785bed01881be005bb73bf62f2fbfe9a93a3f000080bfa4697a3e8815433f2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bf75d89c3d3f433bbfc3722d3f000080bfef0a773e16093e3f2de719bc54b0d03c0ad723befa4f483f4a5413bfca7973be60a130bee83511bfc0274e3f000080bf1ada803e6a64403f7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bf569745be48461ebf250d433f000080bfa46b803ea52d3a3f7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebfbd44173e5fa358bf790c033f000080bfffaa703e264f3a3f57b0d0bc2de7193c0ad723bea397063f179650bf8f347abe5537a1bec310e8be7f7b553f000080bf03f3863e79973b3fcecc4cbd60562f3b0ad723be6c29e03c432d77bfc18584be150aeebe3a4f77bee90d5a3f000080bfce9c8c3e8dd5363fcecc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbfe551f0be3b8b02bfd98a383f000080bfd67b853e4c68353f999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbfab530abfed9eeabe53aa343f000080bf84fb963eeff3253f999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84bef6fd02bf2ef658beb027553f000080bf7b1c9e3e2f61273f4fe2dabbcecc4c3d992a33bed10c533fd9f800bd10ab10bf6ab32ebdf0fd7d3f1ca6f0bd000080bfbf63363f87d7813e2bc057bc7bb9d53c9c1532bee443403f682bcfbe499105bfb3ce343ec86f623fd314ddbe000080bf2169303f3f16853e7bb9d5bc7db9d53cc9503fbe5525d53e5325d5be54ee4ebf0135b83b28e3633fc93fe9be000080bf2169303f828c8b3e9711cdbccecc4c3db9f545be064afd3ee94138bd692e5ebf621025bdec137f3f2dd098bd000080bfbf63363f3b058b3e9911cdbc9899193eb9f545be064afd3ee641383d6a2e5ebf8a10253dec137f3f34d0983d000080bf29654f3f3b058b3e4fe2dabb9899193e992a33be9d80533fa9b20a3d87f80fbff0a4253d34f77d3fcd00f43d000080bf29654f3f87d7813e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe16471cbeb5854f3f7eb8103f000080bfc75f553f4016853e7db9d5bc9c15323ec9503fbe5325d53e5525d53e54ee4ebf0353863c48ac623ff1cded3e000080bfc75f553f828c8b3e7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be3cfaf5bd7eb3003f59265b3f000080bfe89a583f828c8b3ececc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbea4a349bcf1c5fd3ebc515e3f000080bf443a5a3fbe81973ececc4cbd9999193ecbcc4cbea297583da797583d7e487fbf34558b3baea27f3f97d0593d000080bf29654f3fbe81973ecccc4cbdcecc4c3dcbcc4cbea497583da09758bd7e487fbfda548bbbaea27f3f93d059bd000080bfbf63363fbe81973ececc4cbd982a333eb9f545bef441383d064afd3e6a2e5ebf0000000035685e3f308bfd3e000080bf6aa3553fbe81973e989919be982a333eb9f545bef04138bd064afd3e692e5ebf86127e3b496d5e3f5d77fd3e000080bf6aa3553f9384c93e989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbea0a3493cf1c5fd3ebc515e3f000080bf443a5a3f9384c93e999919be9999193ecbcc4cbea39758bda497583d7e487fbf04548bbbaea27f3f96d0593d000080bf29654f3f9384c93e9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf61a6923ddab9663f19c6da3e000080bfc65f553fce79d53ececc4cbd9911cd3cb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bf7d25303fbe81973e7db9d5bc2bc0573c9c1532be99f1cc3e023142bf0fa003bfc4d58f3d62b6153f07e14ebf000080bf002e2d3f828c8b3ececc4cbd4fe2da3b992a33beb8b20a3d9c8053bf88f80fbf8fabd23bb918103f869653bf000080bfa38e2b3fbe81973e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf7fabd2bbb718103f869653bf000080bfa38e2b3f9384c93e999919be9711cd3cb9f545beeb4138bd064afdbe692e5ebf0000000034685e3f328bfdbe000080bf7d25303f9384c93e999919becccc4c3dcbcc4cbea29758bda39758bd7e487fbf83558b3baea27f3f96d059bd000080bfbe63363f9384c93e9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfea32b8bb28e3633fc93fe9be000080bf2169303fce79d53e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe23a1cebd7c4e0e3fa33a53bf000080bfff2d2d3fce79d53e982a33be9899193eb9f545be064afdbefb41383d692e5ebf0f1025bdec137f3f1fd0983d000080bf29654f3f1401d63e992a33bececc4c3db9f545be064afdbed84138bd6a2e5ebf7a10253dec137f3f27d098bd000080bfbe63363f1501d63eca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5beecb469be5a965f3f3448dcbe000080bf2169303f11f0db3eb9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe7c6dc73cdea77d3fddfe07be000080bfbe63363fca2edf3eb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe976dc7bcdea77d3ffcfe073e000080bf29654f3fc92edf3ec7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be18b5693e5a965f3f2948dc3e000080bfc65f553f10f0db3e4fe2dabb982a333e989919beb628533f3e80103fd94e03bdeaaebcbd84b4423e7a387a3f000080bf1257143f23fbfd3e2bc057bc9c15323e9d1532be8729403f722fef3edf39efbe843be93d27e81a3fa8b7493f000080bfb35f0e3f739d003f7cb9d5bcc7503f3e9c1532be5c25d53e53ee4e3f5425d5be4ad068bd09d0f53e2c18603f000080bfb4840e3fa5af023f9711cdbcb9f5453e989919be104afd3e672e5e3ff74138bdb9c2cebdbad4de3d142a7d3f000080bfa08b143fa8ee013f9911cdbcb9f5453ecfcc4cbd0e4afd3e672e5e3ff441383d4cc2ce3d78d4debd152a7d3f000080bf02892d3fa7ee013f4fe2dabb982a333ecfcc4cbd9d80533f87f80f3fb1b20a3d79d6b83d570744be6b337a3f000080bf74542d3f23fbfd3e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3eec1d48bd321411bf088d523f000080bf6450333f729d003f7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3cf683d09d0f5be2c18603f000080bf6475333fa4af023fcecc4cbdcbcc4c3ecbcc4cbda397583d7e487f3fa997583d8d184c3d086b63bd61497f3f000080bf02a92d3fcf59073fcecc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e5a71a23d9455febe5f405d3f000080bfd4d7333f47de073fcccc4cbdcbcc4c3e989919bea797583d7e487f3fa39758bdb5194cbd106b633d5f497f3f000080bfa0ab143fcf59073fcecc4cbdb9f5453e992a33befe41383d672e5e3f0e4afdbe7c72a2bd9155fe3e5c405d3f000080bff35f0e3f48de073f989919beb9f5453e992a33befa4138bd672e5e3f0e4afdbe56d606be40b2f83eb4375d3f000080bf53a60e3fc3a41f3f999919becbcc4c3ecbcc4cbda79758bd7e487f3fab97583d76f8173dcbb550bdb07d7f3f000080bf63ef2d3f4b201f3f999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e20d6063e43b2f8beb5375d3f000080bf341e343fc3a41f3f999919becbcc4c3e999919bea89758bd7e487f3fa79758bdadf817bdc5b5503dae7d7f3f000080bf00f2143f4b201f3f9c1532bec7503f3e9c1532be5f25d5be51ee4e3f5a25d5be8e0b00be3323ce3e5d23683f000080bfbcec0e3fc1d4253f989919be982a333eb9f545bef04138bd064afd3e692e5ebfdf3573be60ac563f7808fb3e000080bf92e8093fbb10213f9c1532be9c15323ec9503fbe5a25d5be5a25d53e53ee4ebf4155a5be3d6c433f82380f3f000080bf38960b3f00d5263fc7503fbe9c15323e9c1532be51ee4ebf5f25d53e5625d5be69b062be036ee13e2dc15e3f000080bfecd90e3f6fe7293f982a33beb9f5453e989919be0e4afdbe672e5e3f054238bd00000000f1ea533d3aa87f3f000080bf25f5143f6394253f992a33beb9f5453ecfcc4cbd104afdbe672e5e3fe441383d00000000feea53bd3aa87f3f000080bf88f22d3f6394253f9d1532bec7503f3e80b9d5bc5a25d5be53ee4e3f5a25d53e360b003e4723cebe5b23683f000080bf6cdd333fc1d4253fb9f545be982a333ecfcc4cbd692e5ebf0a4afd3ed241383dfdc4a6bc0ded00becce87d3f000080bfced72d3f685d2b3f9d1532be9c15323e40c057bc787debbedd46eb3e0382423fe8f1963e3c653abf4f6b1e3f000080bf20fc363fffd4263f999919be982a333e60e2dabb4ed907bd5532103f125b533fb329683ea7df4cbf171b0e3f000080bfad8c383fba10213fca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e40b0623e276ee1be27c15e3f000080bf9cca333f6fe7293fb9f545be982a333e989919be692e5ebf0d4afd3e044238bd6ac4a63c04ed003ecce87d3f000080bf6cda143f685d2b3fcbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583d72bf273db06a52be4c517a3f000080bf94a62d3f1be32e3fb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e4089d93e1ec3e5be0044493f000080bf20df333f8a4c2d3fcbcc4cbe9999193e989919be7e487fbfa697583da39758bd78bf27bd9d6a523e4c517a3f000080bf32a9143f1be32e3fb9f545be9899193e992a33be692e5ebf0342383d0a4afdbe4089d9be14c3e53e0244493f000080bf3e670e3f8a4c2d3f0ad723befd76b43b06d723bdc3fb81be478c6ebf0cc5843ef7a9253ea2c6643e7511763f000080bffc96243f82d1073e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133fefce803e8fcd053fbf87503f000080bfbc36283fe6be053e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ed4947a3ee924a63e28e7693f000080bfee4a283fca80f23d0ad723be66562f3bcbcc4cbd414b84befd3c77bfb321ba3c3d09e53cc059833cf5dd7f3f000080bf4518223f385b093e982a33be4fe2da3bcbcc4cbd87f80fbf9d8053bfb8b20a3d000000003be6273deac87f3f000080bf3e58223f40f8f73d992a33be4fe2da3b989919be2dea0fbf978953bf64e40bbdf7a1a4bd811a5d3cec257f3f000080bf1e65093f788dee3d0ad723be60562f3b989919be9b5384be984c77bf0e7c9ebb583802be3c0dee3c05d07d3f000080bf2425093fd3a5043e0ad723be0f48753b89751dbe9a467fbe7f896ebf551a87be553d86be09194abe9cd2713f000080bf6e34083f97b6033e73a520be555c783b72a520be82e272be8fd471bfd41a68bea15e71be297a2ebed6ee743f000080bf4d60073f51ba053e8b751dbe2048753b0ad723be59a682be21686ebf2a2185be61b081bea8d347be728f723f000080bfca8b063fe0cd073e9d1532be2bc0573c9c1532be7b20eabec83043bfc35feabe2607b0beab73a5be4eb6613f000080bf6669033f2095e43d999919be6b562f3b0ad723be4462a8bcf63f77bfd24c84beff6980bea6177bbe39bc6f3f000080bfae7b063f83360b3e999919be4fe2da3b992a33beb2b20abd9c8053bf88f80fbf517f90becc2a08bf70634c3f000080bfb5bf023ff1aa073eb9f545be9911cd3c989919be692e5ebf0a4afdbed04138bdf60c3ebd7a7c1abc7fb67f3f000080bf90b3093f60b0ba3dc7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53ede06993e045aa33e9c3d663f000080bf2882283f58fdcd3d9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f23e5063f94e70c3f62c9253f000080bf36842b3f9463e13db9f545be9711cd3ccbcc4cbd692e5ebf0d4afdbefc41383d9d44f7ba882fc03db0de7e3f000080bfb1a6223f2c1bc43dca503fbe7db9d53c9d1532be58ee4ebf4e25d5be4e25d5be41ccafbe5ed776beea61683f000080bfa0a0033fac11c03d9d1532be7bb9d53cc9503fbe5025d5be5125d5be57ee4ebfd4fa19bfbe640abfbb93163f000080bf1d30003fec08d13dcbcc4cbececc4c3d999919be7e487fbf999758bd9b9758bdd2134dbd1eaf59bd14517f3f000080bf1cd0093f56de8d3db9f545bececc4c3d992a33be692e5ebfd04138bd084afdbe4c17f5be5ddf42be866b5b3f000080bfdf78033fceea943dcbcc4cbecccc4c3dcbcc4cbd7e487fbfa79758bda697583d4d65313d231e2c3e371d7c3f000080bf3ec3223f2049973db9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3ec1c5eb3e60ea993e54d0553f000080bf61e1283f6609a33db9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3ebf9ff73e71889b3eee23523f000080bf60e1283fa058293ccbcc4cbe9999193ecbcc4cbd7e487fbf9b97583d9e97583db0ba7e3d4058463e8ba57a3f000080bf3ec3223fc0ac963bcbcc4cbe9999193e989919be7e487fbfa697583da39758bd611b67bd4d208bbdf7ff7e3f000080bf1dd0093f00000000b9f545be9899193e992a33be692e5ebf0342383d0a4afdbe16e9fcbef3c83bbe8394593f000080bfdf78033f808f613bb9f545bececc4c3d9811cdbc672e5ebfec4138bd0e4afd3e3299cf3e8eb523bf2a37273f000080bf5afd6e3f9405d93ec7503fbe7bb9d53c78b9d5bc53ee4ebf5725d5be5a25d53e9a2e153fb9992abfb420ee3e000080bf5e5d743fca2edf3e9c1532be7db9d53c20c057bc11a003bf98f1ccbe0231423f27bd293f151c3fbf2149633d000080bf3ca6763f0d9dda3e982a33bececc4c3d40e2dabb89f80fbf9fb20abd9c80533f0c791d3fc7512fbf9603c83e000080bf1a3c723f1688d23e992a33be9899193e60e2dabb8af80fbfb1b20a3d9c80533f604f213f332221bf58d1e83e000080bf9d8d603f1e2baf3eb9f545be9899193ea011cdbc692e5ebfdd41383d0b4afd3e9a4bc83e15460dbfcf8a3c3f000080bfde4e5d3f9ca8b53eca503fbe9c15323e80b9d5bc57ee4ebf5125d53e5525d53e0728803ecf44cbbed60d623f000080bf443a5a3f96e8aa3e9d1532be9c15323e40c057bc787debbedd46eb3e0382423fb087093fb08b09bff570263f000080bf22835c3fd956a63e0ad723be9999193e6d562fbb6d4c84be5a5fad3c273f773fa885333fd2fa2ebf0a754f3e000080bf1a33633f24e0a93e0ad723bececc4c3d59562fbbc78584be4329e0bc432d773f61d62f3f224135bf6400283e000080bf96e1743f1c3dcd3e0ad723bec33d1f3e6eca8abb8dbd84be21bb823e2b736e3f959b283fd69c28bf994dba3e000080bfbc39623f69eda73e0ad723be57b0d03c23e719bc86347abea39706bf1796503f86f2323f73882dbf383e69be000080bfb837793f62e9d53e0ad723be2de7193c54b0d0bcbc7973befb4f48bf4a54133f8790293f3f6110bf787efcbe000080bfa20f7c3f3599db3e9c1532be2bc0573c78b9d5bc026c06bf4d723fbf81fdcf3ea34e1e3f2ec829bf40dcd7be000080bf1bef783fca2edf3e999919be982a333e60e2dabb4ed907bd5532103f125b533fcc5c273f59d31cbf0c6fe33e000080bf9d8d603f93829d3e235b21be235b213e37b088bbfeed6cbe7587723e5e8f713f43cf2a3f76cf2abffa83a93e000080bf0e4a623fd856a63e27731ebe0ad7233e639e83bb661a87bebe467f3e7a896e3f61ae283fd6ad28bfc9cbb93e000080bfb85c623f507aa43e999919be0ad7233e74562fbb0a45c6bb6e53843e2a4c773f0bd92e3f975b34bf2f65453e000080bf1a33633f8ccda23ececc4cbd982a333e60e2dabbb2b20a3d8af80f3f9a80533fc0512f3f10791dbf9d03c83e000080bf1a3c723f364b743e999919beb9f5453ea011cdbcf74138bd672e5e3f124afd3e3471153f6f0fc2beccd0373f000080bfde4e5d3f1505973ececc4cbdb9f5453ea011cdbcf841383d672e5e3f124afd3e90b5233f3399cfbe2837273f000080bf5afd6e3f3a50673ecccc4cbd0ad7233e74562fbbbf21ba3c4f4b843efb3c773f6855353fa5952fbf82d72a3e000080bf96e1743f28e17e3e7db9d5bcc7503f3e80b9d5bc5825d53e51ee4e3f5a25d53eb3be403f002b10bf0a5eae3e000080bf5e5d743fcffd5a3e7cb9d5bc9c15323e40c057bc7efdcf3e046c063f4d723f3f8e7c3f3fa34229bf9a3c6d3d000080bf3ca6763f4821643e07d723bd0ad7233e0e77b4bb18c5843ecffb813e448c6e3f511e353fb2ea34bf8a6c8ebb000080bf3ca6763f90ce773e2bc057bc9c15323e80b9d5bc4b723f3f076c063f82fdcf3e43b7263fc5f732bff02897be000080bf1bef783fcefd5a3e54b0d0bc0ad7233e3ae719bc4754133fd679733efd4f483f5289263fc78136bfa80e86be000080bfb837793f9e886d3e2de719bc0ad7233e5cb0d0bcf94f483fc879733e4c54133f3c61103f999029bf4f7efcbe000080bfa20f7c3ff728623ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3eb3aa173f6f03d83e31b12f3f000080bf6e916f3ffe542a3f7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53eada0203f6d36163fb509033f000080bfdac2743fd4b52d3f7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f5e37363fc6ff313f8be3cb3d000080bfba2b773fd28e2b3fcecc4cbd992a33be60e2dabbeaf8003d13ab10bfcf0c533fc711243f55f4243f079cd53e000080bfa2fd723f5846273f989919be992a33be40e2dabbbc2a0ebd8cc10fbfb3a3533ffbd7163ffb19283f2408f13e000080bf3855623f28a0143f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e5ce8023f8191cf3ebdfa413f000080bf03e95e3fceae173f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53e38c6b73e82948c3e455e643f000080bf24235c3f9224123f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433f99db013ffe6c123fc905253f000080bf048c5e3f90fd0f3f0ad723bd0ad723be0677b4bb2ca7853ed91881be838b6e3fb3742a3f8ff53e3f24e67a3c000080bfa472773f80a5263fcecc4cbd0ad723be6d562fbb18484c3c5a5184be6948773f876c2a3f4b13393f75433d3e000080bf32c8753f15c8243f57b0d0bc0ad723be38e719bc4754133fcb7973befd4f483fbd211e3f7fe0403fa4c866be000080bf0fde793ff75a293f2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3e8ed2253fb369293fc244c1be000080bfbc52793fb2f72d3f2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f4cf2033fd172383f2a87edbe000080bfd48b7c3fb65a2c3f999919be0ad723be5d562fbb2ef292bba35384beb24c773f906d243fb05a3d3ff2b14d3e000080bfc81f653fe421123f6c2c1dbe0ad723bede1a70bb651a87be98467fbe7d896e3fbffb1e3fa8fb313f1648b93e000080bff68a643f487b113ff85820bef75820be9ed46dbb791864be538972be2817723ff446213f198f343f3b6ca63e000080bf9ca9643fdc55103f0ad723be2e811cbe52fb63bb316485be1f9782beda606e3fe4d31e3f8ada313f4c4fba3e000080bf56cb643ffe120f3f0ad723be989919be59562fbb124d84be8fb3a5bc6140773f3b0c2a3fafe2383f0a78453e000080bfc252653f089a0e3f982a33be989919be40e2dabb89f80fbf9fb20abd9c80533f290d1a3fcf222b3f70c1df3e000080bf7ed4623f78cf0b3f992a33becfcc4cbd60e2dabb8af80fbfb3b20a3d9c80533f4bb2143fae303a3fb82cbb3e000080bfae7a753f1a4ef63e0ad723bececc4cbd6d562fbbc98584beb529e03c432d773fc360253f23803f3fd39f1b3e000080bff2f8773f3ae3fb3eb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e3252c03eaa9d173fde7c363f000080bfd8c55f3f4363083fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e4e2e663e58e0de3e3a2c5f3f000080bf02655c3fb0940d3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ee915c63e77942f3fabca1d3f000080bf086c723fb075ef3eca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e1286133f5249343f0251d43e000080bf45f6773ff2e9e93e9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423ff0b6363fb8ac303fa3f0f43d000080bf471d7a3fb2bbee3e0ad723be5cb0d0bc36e719bc96347abea397063f1696503f438e3c3fd9ab253f056d49be000080bfd48b7c3f81b7f33e6b562fbb0ad723bececc4cbd432d773fc08584be8329e03cc825df3bb4c9a3bd8f2c7fbf000080bfd2dcbb3e839ebb3e2de719bc0ad723be5cb0d0bc1696503f8d347abea697063f1fede93eae4393be407c57bf000080bfe1bbaf3e1601be3e2bc057bc9c1532be80b9d5bc0231423f0ca003bfa1f1cc3ed7b1963e702e8ebebd1a6abf000080bfd0dbaf3e443fc43e4fe2dabb992a33becfcc4cbd9d80533f87f80fbfb5b20a3ddbc75d3cfcf224bdd4c47fbf000080bf59aabb3ee750c23e7cb9d5bcc9503fbe80b9d5bc5325d53e54ee4ebf5325d53e67a98f3e7881a4be408a67bf000080bfd0dbaf3ebc62cd3e7db9d5bc9d1532be40c057bc642bcf3e4d9105bfe343403f3b30043fc8260cbfeb9428bf000080bf2fa3a93ee9d4c83e4fe2dabb992a33be989919be9c80533f88f80fbfaab20abd3fce60bc04d7233d5fc57fbf000080bf9c9ced3edf4ec23e60562fbb0ad723be989919beb23e773f254c84be7b2eb0bc00000000ee7da23d65317fbf000080bf15cfed3e7b9cbb3e2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbe426eb3be687c9d3e377762bf000080bf9fb0f93e443cc43e93ec93bb0ad723bec73f20beea776e3f129284bea5c482beb67151be12b5543e75e174bf000080bfce15f13e5743bc3e9911cdbcb9f545be989919be064afd3e6a2e5ebfe64138bd1c1855bda6ffb43c3b977fbf000080bf9c9ced3ed749cf3e9711cdbcb9f545becfcc4cbd064afd3e6a2e5ebfe841383d4eed533d8d55b6bcf6977fbf000080bf59aabb3edf4bcf3e4fe2dabb989919be992a33be9644533fefe305bd195510bf23fe09bfff20813e41bb4dbf000080bfef87fa3e2581b93e1cd291bbcddf21beccdf21be57bb713f82106cbe7da070be4cee44be2fa9453e395076bf000080bf43e9f13e3b90bb3ec3078dbb097d1fbe0ad723be7f896e3f501a87bea7467fbe2f874cbe74964d3e058575bf000080bfc6e8f23ea6b0ba3e6b562fbb999919be0ad723bea54b773f9a97efbb125384be380c80be9496683ea7f270bf000080bfc0fbf23ece15b83e60562fbbcecc4cbd0ad723befd3c773fa121ba3c3a4b84be1bd281be6cd8953e2e076cbf000080bf24c8f43e14d5943e4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbfcfbb0bbfb144973e42b948bf000080bf5254fc3e6c40963e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf61a622bfaa91553eaf573ebf000080bf2e59fc3ecf1f903ef576b4bb0ad723bd0ad723be478c6e3f0dc5843ebbfb81bea49caabe5b2fab3ed9ae61bf000080bf3803f53ec74f923e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be81e1e7bef420873edc025abf000080bffc57f53ed2918e3ecccc4cbdcbcc4cbecbcc4cbda397583d7e487fbfa397583dd79ee33dc4793fbde0217ebf000080bf8afebb3e0182da3ececc4cbdb9f545bea011cdbcf341383d692e5ebf064afd3e18997c3ee8c0f0be76ed58bf000080bfeca4af3eaf27d83e989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e9b227b3eedb2fabe3c3356bf000080bf5071b13ecea0fb3e999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583d8dbf063e718173bd2e517dbf000080bfeecabd3e22fbfd3ececc4cbdcbcc4cbe999919be9e97583d7e487fbfa39758bd526ae4bdd3613f3d181f7ebf000080bfcef0ed3efa7fda3e999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd7b2e07bec295733d694d7dbf000080bf32bdef3e1af9fd3ececc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbefffa7cbecdb8f03e94e858bf000080bfee87fa3ea324d83e999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe9a8c7bbe59aefa3ece2c56bf000080bf5254fc3ec49dfb3e7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be09cc8fbeb46da43e648867bf000080bf9eb0f93eba5fcd3e7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfd90012bf0ea4123f73b716bf000080bf1d30003f60d1c83e4fe2dabb989919be992a33be9644533fefe305bd195510bfce262abda0fa7d3f2655f2bd000080bfb8512d3deff3253f2bc057bc9d1532be9c1532be3d22423f7518ecbeb7e7ebbede2f753e8fbd5a3fde0fecbe000080bfb04f9b3c4c93273f7bb9d5bc9c1532bec9503fbe5a25d53e4e25d5be54ee4ebfbf2bb83b24e3633fd73fe9be000080bfb84f9b3c6dce2a3f9711cdbc989919beb9f545be064afd3ee94138bd692e5ebf171125bdeb137f3f5ed098bd000080bfb8512d3dc98a2a3f9911cdbccfcc4cbdb9f545be044afd3ee541383d6a2e5ebf8110253dec137f3f31d0983d000080bf175a0f3eca8a2a3f4fe2dabbcfcc4cbd992a33be9c80533fa9b20a3d88f80fbf50a5253d34f77d3f1101f43d000080bf175a0f3eeff3253f2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bff598b2bdcb1c583f4466073f000080bf8e44273e4c93273f7db9d5bc80b9d5bcc9503fbe4f25d53e5625d53e55ee4ebfb651863c4bac623fe8cded3e000080bf8e44273e6dce2a3f7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bfa2d58fbd5eb6153f0ae14e3f000080bf1231343e6dce2a3fcecc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbf8fabd2bbbc18103f8596533f000080bf84ae3a3e0bc9303fcecc4cbdcbcc4cbdcbcc4cbe9e97583da797583d7e487fbf29558b3baea27f3f99d0593d000080bf185a0f3e0bc9303fcccc4cbd989919becbcc4cbea097583d9e9758bd7e487fbf425b8bbbaea27f3f9ad059bd000080bfb8512d3d0ac9303fcecc4cbda011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000034685e3f348bfd3e000080bf1b53283e0bc9303f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf06f97d3b486d5e3f6377fd3e000080bf1a53283e75ca493f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8aabd23bba18103f8596533f000080bf84ae3a3e75ca493f999919becbcc4cbdcbcc4cbea39758bda797583d7e487fbfa65b8bbbaea27f3fa5d0593d000080bf175a0f3e76ca493f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebf1ca6923dd8b9663f20c6da3e000080bf8e44273e13c54f3fcecc4cbd992a33beb9f545bef141383d064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c0bc9303f7db9d5bcc9503fbe9c1532be5325d53e57ee4ebf5025d5be6bfaf53d7ab3003f5a265bbf000080bf20aecf3b6dce2a3fcecc4cbdb9f545be992a33bef041383d6a2e5ebf064afdbe8ba3493cecc5fd3ebf515ebf000080bf000000000bc9303f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bf0000000075ca493f999919be992a33beb9f545bee94138bd064afdbe6a2e5ebf0000000034685e3f328bfdbe000080bf48db923c75ca493f999919be999919becbcc4cbe9f9758bda39758bd7e487fbf755b8b3baea27f3fa1d059bd000080bfb4512d3d76ca493f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebfe834b8bb28e3633fcb3fe9be000080bfa84f9b3c13c54f3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be57faf5bd78b3003f5c265bbf000080bf20aecf3b13c54f3f982a33becfcc4cbdb9f545be064afdbefa41383d692e5ebfd50f25bdec137f3f0fd0983d000080bf175a0f3eb608503f992a33be989919beb9f545be064afdbed34138bd6a2e5ebf3210253dec137f3f10d098bd000080bfb4512d3db608503fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5beefb469be5b965f3f2f48dcbe000080bfb04f9b3c3400533fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbed76dc73cdea77d3feffe07be000080bfb4512d3d919f543fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbeec6cc7bce0a77d3fd6fe073e000080bf175a0f3e909f543fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5be2cb5693e5b965f3f1b48dc3e000080bf8e44273e3400533f54b0d0bc3ae719bc0ad723bea397063f1696503f9b347abe9ae73b3f582894be414a1d3f000080bf28625a3f0c78f13e2be719bc5cb0d0bc0ad723bef94f483f4c54133fc17973be8a791a3f22461bbf0f87043f000080bf24235c3f8aaced3e2bc057bc80b9d5bc9d1532be4b723f3f82fdcf3e066c06bf0b98283f6bc50dbf1b6f023f000080bffc11593ff2e9e93e7cb9d5bc40c057bc9c1532be9df1cc3e0331423f0ca003bf7aef5d3f44c906beb721f63e000080bf3aa9573f8af6ec3ecccc4cbd77562fbb0ad723be9629e03c432d773fca8584becd833b3fe598203e2198293f000080bfe199563fb2edf83ececc4cbd60e2dabb992a33bebab20a3d9a80533f8af80fbfefa3463f8874aa3e442a093f000080bfecc9533f56dbf33e999919be6d562fbb0ad723be6da6a8bce93f773fd54c84bed91c2e3f11d64f3efc55343f000080bfa679453f43f50c3f989919be60e2dabb992a33beb7b20abd9c80533f8bf80fbf8d5e1d3f69faeb3eaddb233f000080bfb2a9423f156c0a3f9c1532be40c057bc9c1532be6830eabe5427433f526feabebb17f53e151f253f8b7d183f000080bf6a583e3fe4dc0e3f989919bea011cdbcb9f545beee4138bd0a4afd3e692e5ebf65d5d93e26a84b3f60e1dc3e000080bfd5603e3f9af1073f9c1532be80b9d5bcc9503fbe5825d5be5a25d53e51ee4ebfe3828e3ee199673f4829a53e000080bf31543b3f331e0d3fd38d1dbe530077bb0ad723be91a882be7d686e3f771c85be895f243f9480ba3e87b02c3f000080bff3be443f72a50d3fc7503fbe80b9d5bc9c1532be51ee4ebf5f25d53e5525d5bea2955c3e4e015e3f94dbe53e000080bf31543b3fc199113f982a33be60e2dabb989919bef2ed0fbf2b87533fa7ae0bbd31331b3f9334e13eb69d293f000080bfb2a9423f7d15133fc1b120be1b0e7abbc1b120be95a672be7bdc713f61d567bebd12283ff0ada73efaf22d3f000080bf6fbe443f9db60e3f0ad723be410077bbd28d1dbebc467fbe7f896e3f431a87bec653243f29dcb93e00e82c3f000080bff4be443fa3c60f3f0ad723be74562fbb999919bea15384be8d4c773fbf4fa2bb8b8b333f1bc0433e1acc2f3f000080bfa679453f646d103f0ad723be6d562fbbcecc4cbd4b4b84befb3c773fb121ba3caff5343faf22313e9f942f3f000080bfe199563f42a0223fb9f545bea011cdbc989919be672e5ebf0e4afd3e004238bde048cd3e2548403ff544063f000080bfd6603e3ffef8163fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bd4ce2df3ca1776a3fb10ecd3e000080bf70ae3b3f183f193fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbe4e3fb9bda805773f6b587c3e000080bfae8c383fdb99133fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583de31b943d03a55c3ff77c003f000080bfabce4c3ff7712b3fb9f545bea011cdbccfcc4cbd692e5ebf0f4afd3ed041383daf5ad93eb80e313ffa95153f000080bf10814f3fdd2b293f992a33be60e2dabbcfcc4cbd8bf80fbf9c80533f98b20a3dfdf71b3f42cec53e8747313f000080bfecc9533f5c48253f9d1532be40c057bc80b9d5bc026c06bf50723f3f80fdcf3ea5c3303faa34c33de08f373f000080bf3aa9573fb0c3293f0ad723be0677b4bb0ad723bdc7fb81be448c6e3f18c5843ef7293d3f0fe7623c43742c3f000080bf3623583f2e94243f0ad723be36e719bc5cb0d0bccc7973befb4f483f4954133f6584453fd6c554be43ed193f000080bf28625a3f9967273f0ad723be5cb0d0bc36e719bc96347abea397063f1696503fc3ea443f1826d0bef869fc3e000080bf24235c3f10162b3f9d1532be80b9d5bc40c057bc0da003bf9af1cc3e0431423f27ac413f10f551bea3f81e3f000080bffc11593ff2b82c3fca503fbe80b9d5bc80b9d5bc57ee4ebf5125d53e5325d53e6b7c153fac14f43ee236283f000080bf01a5543f8d802c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3e6aaaaf3e6d43463f0610083f000080bf253a523f1ae32e3f999919becbcc4cbecbcc4cbda39758bd7e487fbfa397583da6a07fbf68fb553d1af05abc000080bf000040325fd1763f989919beb9f545be9811cdbcd94138bd6a2e5ebf064afd3e07317ebf2c05bf3dd134963d000080bfe074973b8aff7c3f9c1532bec9503fbe78b9d5bc5325d5be54ee4ebf5525d53ea01861bf28ebf23ed2d42b3d000080bf77afd13c71e17c3f982a33beb9f545becbcc4cbd064afdbe6a2e5ebff641383d0d765ebf0245fd3e491151bc000080bf72dfb23cb1f8763f992a33beb9f545be989919be064afdbe692e5ebfdd4138bd28515ebf14c7fd3eba134ebc000080bf70dfb23c76fe5d3f999919becbcc4cbe989919bea39758bd7e487fbf9e9758bd46747fbf3e70603d5a3a11bd000080bf0000000023d75d3f9d1532bec9503fbe9c1532be5625d5be58ee4ebf4a25d5be080960bfe9f9f53e6e4d6cbd000080bf76afd13c68f5573f999919beb9f545be992a33beeb4138bd6a2e5ebf064afdbece8f7cbfbf75ee3d4a9eeabd000080bfd074973b628c573fb9f545be992a33be989919be692e5ebf0a4afdbed54138bd62c6fdbe82515e3f39614b3c000080bf8a47413d9afe5d3fc7503fbe9d1532be78b9d5bc53ee4ebf5725d5be5a25d53e9ff3f2bed315613f9d842cbd000080bf80f3313d8be17c3f9c1532be9c1532be20c057bc0dc2e9bebc7ee9be6890433fddfd34bf090c353f00000000000080bfb9760d3d0000803fb9f545be992a33becbcc4cbd692e5ebf0b4afdbefe41383d0746fdbeec755e3ffc4e4e3c000080bf8b47413dd6f8763fca503fbe9c1532be9d1532be58ee4ebf4a25d5be5225d5bef0f1f5beea0b603f18a46b3d000080bf8af3313d82f5573f9d1532be9d1532bec9503fbe5025d5be5525d5be57ee4ebf470135bf9f08353f00000000000080bfb7760d3d909f543fcbcc4cbe989919be999919be7e487fbf969758bd999758bda2eb5fbd4c7a7f3fff15073d000080bfd6738d3d86d75d3fb9f545be989919be992a33be692e5ebfd04138bd0b4afdbe9eb7b1bdf38a7e3fa0397d3d000080bf5e05843db88c573fcbcc4cbe999919becbcc4cbd7e487fbfa49758bda397583d636c53bd33947f3f706acc3c000080bfd4738d3dc3d1763fb9f545be989919be9811cdbc692e5ebfeb4138bd0d4afd3e16b370bdc3897f3f91f449bc000080bf6105843de1ff7c3fb9f545becfcc4cbda011cdbc692e5ebfdd41383d0d4afd3ea19d643d2c987f3f6fa9e93b000080bfacdd083eed297c3fcbcc4cbecbcc4cbdcbcc4cbd7e487fbf9d97583d9e97583d70805f3ddb7e7f3fcbcdfd3c000080bfe7940d3ecffb753fcbcc4cbecbcc4cbd989919be7e487fbfa797583d9f9758bdd9e4503d837f7f3f169e143d000080bfe7940d3e93015d3fb9f545becfcc4cbd992a33be692e5ebf0442383d0a4afdbec645b93c8d997f3fff5b513d000080bfabdd083ec5b6563f9899193eb9f545bea011cdbcf341383d692e5ebf084afd3ef6450dbfaf4bc83ee18a3c3f000080bfcea83b3f32a6433f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53ead44cbbe2528803ed90d623f000080bf3494383f3506493f9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f8b2f08bf732f083f8aa6283f000080bf12dd3a3f144f4b3f9899193e992a33be60e2dabb35eb033d0e7510bffa2f533f4c2121bf8934213f261ee93e000080bf8de73e3ff0e4463fcfcc4c3d992a33be40e2dabbbdf800bd12ab10bfd00c533fd3632fbf57de1c3fd5a8c93e000080bf0996503f7536353fcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e91b523bf2999cf3e2b37273f000080bf4a574d3fb6f7313f80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53ec9992abf942e153f9220ee3e000080bf4eb7523f1be32e3f80b9d53c9c1532be20c057bc682bcfbe499105bfe443403f47833fbf3e44293fca92663d000080bf2c00553ffa2b313f20731e3e0ad723be1d9e83bb6d1a873eb7467fbe7a896e3f0aae28bf2eae283fcbcbb93e000080bfaab6403fce604a3f9899193e0ad723be6d562fbba344c63b5c5384be2e4c773f0dd92ebf975b343f1065453e000080bf0a8d413f6d8a493fcecc4c3d0ad723be5d562fbb6b474cbc595184be6b48773f5a4235bf1c352f3fcf24323e000080bf863b533ff2db373f06d7233d0ad723befd76b4bb20a785bec91881be868b6e3f7ff434bf5f13353f3103d9bb000080bf2c00553f4b17363f5cb0d03c0ad723be23e719bc4d5413bfb57973bef94f483f498926bfce81363faf0e86be000080bfa891573fcf85333f40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3ebf9f26bf997d203f513adbbe000080bf0a49573f1be32e3f38e7193c0ad723be54b0d0bc189650bf87347abea197063f8d3508bf45e22c3fb2be02bf000080bf92695a3fe6ad303f1e5b213e205b21befaaf88bb5edf833ee7e182beaa8c6e3f1cae28bf1cae283fc7cbb93e000080bf00a4403f144f4b3f0ad7233ebd3d1fbe37ca8abbb7467f3e6d1a87be7a896e3f1eae28bf1aae283fcacbb93e000080bfad93403f5d1a4c3f992a333e989919be60e2dabba482103f852d03bd2627533f923121bf4121213f7c26e93e000080bf8de73e3f37b94f3fc9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53e322880be9f44cb3edb0d623f000080bf3494383ff2974d3fb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ea14bc8be0c460d3fd48a3c3f000080bfcea83b3ff6f7523f0ad7233e999919be77562fbb2f53843e70cae5bbc54b773fd44d34bfaedb2e3fc808463e000080bf0a8d413fba134d3fb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e2299cfbe9fb5233f1f37273f000080bf4a574d3f72a6643f992a333ecfcc4cbd60e2dabb8af80f3fb7b20a3d9c80533f09791dbfcc512f3f9203c83e000080bf0996503fb367613f0ad7233ececc4cbd6d562fbb464b843ec021ba3cfd3c773f9c952fbf7255353f69d72a3e000080bf863b533f36c25e3f9c15323e80b9d5bc40c057bc026c063f82fdcf3e4e723f3f964229bf9b7c3f3f5e3b6d3d000080bf2c00553f2e72653fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53efd2a10bfb9be403ff35dae3e000080bf4eb7523f0cbb673f0ad7233e07d723bd0e77b4bbcdfb813e1bc5843e428c6e3fa5ea34bf5e1e353f01718ebb000080bf2c00553fdc86603f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3ec6f732bf40b7263fff2897be000080bf0b49573f0cbb673f0ad7233e5cb0d0bc3ae719bcd179733e4a54133ffa4f483fb18136bf6189263fd30e86be000080bfa891573f5818633f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133fac9029bf3661103f317efcbe000080bf92695a3f42f0653f9c15323ec9503fbe80b9d5bc4f25d53e55ee4ebf5725d53e78ba8fbec377a43e5589673f000080bf6a72283f7e70b23ec9503f3e9c1532be80b9d5bc54ee4e3f5025d5be5d25d53ebeeda3be2dac903e2a7c673f000080bf3a72283ff593bb3e9c15323e9d1532be40c057bc5b81ee3eb082eebe6d98403f84d907bf5b85083f78a6283f000080bfa38e2b3f93feb63eb9f5453e992a33becfcc4cbd692e5e3f064afdbef541383ddb2db2bc218f573da8957f3f000080bfec8a223fd881bd3ecbcc4c3e989919becbcc4cbd7e487f3f9b9758bda697583dd11f3fbd0f9be63d60177e3f000080bf9a60223fa8adc83eb9f5453e989919bea011cdbc692e5e3ff04138bd0d4afd3ef485f0bef35e7f3edbc9583f000080bf758d283f0c4fc63ecbcc4c3ecbcc4cbdcbcc4cbd7e487f3fa297583da297583de14e78bdb55b213e30537c3f000080bfb079213f4eeeeb3eb9f5453ecfcc4cbda011cdbc692e5e3ff041383d0d4afd3e6f6cf8be5598943e3728533f000080bf8ba6273fb28fe93ec9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e45780abfbad17b3ee3e84d3f000080bfe41c273f4db0ef3eb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d456523bed07c443e65e6773f000080bfb530213fe65cf23ecbcc4c3ecbcc4cbd999919be7e487f3fa397583da09758bdd44e783d8d5b21be30537c3f000080bf8e80083f4eeeeb3eb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd2365233e8a7c44be6be6773f000080bf9337083fe65cf23ec9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be3b780a3f51d17bbef1e84d3f000080bf7c32023f4eb0ef3eb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe696cf83e3f9894be3b28533f000080bf0a35023fb28fe93ecbcc4c3e999919be989919be7e487f3f9e9758bd9b9758bdc61f3f3d029be6bd60177e3f000080bf7767093fa8adc83eb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbeed85f03ed75e7fbedec9583f000080bff41b033f0c4fc63ec9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5beb6eda33e1dac90be2d7c673f000080bfd387033ff693bb3eb9f5453e992a33be989919be692e5e3f064afdbeed4138bd802eb23c828e57bdaa957f3f000080bfca91093fd881bd3e992a333eb9f545be989919be064afd3e692e5ebfed4138bda981543de4abb5bc9b977f3f000080bf0e92093fe186b03e992a333eb9f545becfcc4cbd064afd3e6a2e5ebff041383dac8154bde6abb53c9b977f3f000080bf308b223fe086b03e9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be4eba8f3ed677a4be5689673f000080bf0288033f7e70b23e9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf4dfa113f97aa12bf72b7163f000080bf1d30003f94feb63e9899193ecbcc4cbe999919be9e97583d7e487fbf9f9758bdf903e43dd96d3fbd7f207e3f000080bf2f68093fba50a53e9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe47c97c3eebbcf0be0feb583f000080bf931c033f8eaba73e9999193ecbcc4cbecbcc4cbda297583d7e487fbfa397583d0e04e4bdd96d3f3d7d207e3f000080bf5161223fba50a53e9899193eb9f545bea011cdbcf341383d692e5ebf084afd3e78c97cbee6bcf03e0ceb583f000080bf148e283f8eaba73ecfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3eff567bbeb0b0fa3e0e30563f000080bf9ba8273f5b32843ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583dadf606be8d8b733d504f7d3f000080bfd87b213f86d7813ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdbef6063e8c8b73bd4e4f7d3f000080bfb682083f86d7813ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe0e577b3ea9b0fabe0e30563f000080bf1937023f5b32843e0ad7233e1877b4bb06d723bdc8fb813e448c6e3f19c5843e44d526bfef7b08bd05fc413f000080bf3471773fd9a1343f0ad7233e3ae719bc5cb0d0bcd179733efa4f483f4a54133ff5043fbfc8c06dbeb2bb1f3f000080bffe677a3f7792323f9c15323e40c057bc80b9d5bc026c063f4e723f3f82fdcf3e9a443fbf91be343e870b243f000080bf0c50783f2464303f0ad7233e77562fbbcecc4cbd474b843efd3c773fcf21ba3cbd1527bf74f4203e3bbc3d3f000080bf1865753f520a363f992a333e60e2dabbcfcc4cbd8af80f3f9c80533fb8b20a3dacb121bf253bce3e2095293f000080bf6c44733fac95333f992a333e60e2dabb989919be2eea0f3f9789533f8ae40bbd0c702bbfd346f53e8646113f000080bf1002603f3482433fc9503f3e80b9d5bc80b9d5bc53ee4e3f5a25d53e5a25d53e7d8816bf5e35093f50141b3f000080bfaee1763f1be32e3fb9f5453ea011cdbccfcc4cbd692e5e3f0a4afd3eeb41383d4bf9dfbee7de373feb830a3f000080bf0a3c713fc572313f0ad7233e6d562fbb989919bea053843e984c773fe77b9ebb862b36bf836a463ecae22c3f000080bfbc22623fdaf6453fb9f5453ea011cdbc989919be692e5e3f0d4afd3eee4138bd701fddbe36d44b3f1bf1d83e000080bfaef95d3f4d5f413f0ad7233efc4775bb87751dbeb1467f3e7c896e3f621a87be3c4c2fbf677cb93e82e1213f000080bfa274613f43a2463f72a5203e465c78bb71a520bec1e2723e83d4713f631b68be21cf2fbfd9f9a73e400d263f000080bf5a56613fd3b2473f87751d3e0e4875bb0ad723be6aa6823e1f686e3f322185be170f2fbfbb56ba3effe4213f000080bf7736613fc9c1483f9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabeead21abfeedc243f9de1ef3e000080bfefd75b3f1dee473fc9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5beeda3abbe0220683f99fa823e000080bf91695a3f146d463f9999193e77562fbb0ad723be5362a83cf43f773fdc4c84be6b1231bffe294d3e16a0313f000080bff7be613f185f493f9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf793c31bf05b6d93e7c3e153f000080bff7085f3ff4034c3fcecc4c3d6d562fbb0ad723be8c29e0bc412d773fcd8584be292f2ebf89d22f3e3162363f000080bf9e1b713f01855b3fcfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbfcc9435bf66ccc03ebf8c183f000080bf9e656e3fdc295e3f80b9d53c40c057bc9c1532be9cf1ccbe0231423f0fa003bf0c9e34bfb2d7d23df07e333f000080bf3b8d723fc0c1623f5cb0d03c3ae719bc0ad723bea59706bf1696503f9b347abec6081cbfe55224be10c0463f000080bfd429753f5968603fcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfe3da3abf03af133f2fbbbb3e000080bf20a66b3fc947623f80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf586241bf3a3eac3e3ef30f3f000080bff49d703fbea7653f3ae7193c5cb0d0bc0ad723befa4f48bf4a54133fcd7973be89320bbf1f0ce4be6218363f000080bfb252783f625f643f40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bfce4227bf08c89ebed4cb303f000080bf2517753f50f1653f1877b43b06d723bd0ad723be448c6ebf19c5843ecafb81be06b3b9beab5024bf02f62c3f000080bfe68a793fec05663f77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beead556be2b7927bf89053a3f000080bffe677a3f1730673f60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf8a08e6be7f5324bf94121f3f000080bf94e8763f31d8683fb9f5453e989919be992a33be6a2e5e3fea4138bd044afdbe566dc7bcdea77d3fe4fe07be000080bff266393f00000000c9503f3e9d1532be9c1532be55ee4e3f5625d5be4f25d5be19b5693e5b965f3f1d48dcbe000080bf546c333f20aecf3b9d15323e9c1532bec9503fbe5a25d53e4e25d5be54ee4ebf8439b83b2be3633fbe3fe9be000080bf546c333fa84f9b3c992a333e989919beb9f545be044afd3eea4138bd6a2e5ebf051025bdec137f3f12d098bd000080bff266393f48db923c992a333ecfcc4cbdb9f545be064afd3eed41383d6a2e5ebf4a10253dec137f3f28d0983d000080bf5c68523f48db923cb9f5453ecfcc4cbd992a33be692e5e3fea41383d064afdbe806dc73cdea77d3fecfe073e000080bf5c68523f00000000c9503f3e80b9d5bc9d1532be54ee4e3f5b25d53e5525d5be6da913be3558533f9faa0b3f000080bffa62583f40aecf3b9c15323e80b9d5bcc9503fbe4e25d53e5a25d53e54ee4ebf3952863c49ac623fedcded3e000080bffa62583fb84f9b3c9c15323e40c057bc9c1532be7520ea3ec830433fcd5feabe0ba1cebd7d4e0e3fa33a533f000080bf1b9e5b3fb84f9b3c9899193e60e2dabb992a33beb8b20a3d9c80533f8bf80fbf8cabd2bbbb18103f8596533f000080bf773d5d3fb8512d3d9899193ecbcc4cbdcbcc4cbe9997583da697583d7e487fbf16558b3baea27f3f97d0593d000080bf5c68523fb8512d3d9999193e989919becbcc4cbe9d97583d9d9758bd7e487fbf3f528bbbaea27f3f89d059bd000080bff266393fb4512d3d9899193ea011cdbcb9f545bef041383d0d4afd3e692e5ebf0000000032685e3f338bfd3e000080bf9da6583fb8512d3dcfcc4c3da011cdbcb9f545beee4138bd0b4afd3e692e5ebfd3147e3b496d5e3f6177fd3e000080bf9da6583f175a0f3ecfcc4c3d60e2dabb992a33beb7b20abd9c80533f8af80fbf8eabd23bba18103f8596533f000080bf773d5d3f175a0f3ecbcc4c3dcbcc4cbdcbcc4cbea09758bda297583d7e487fbf01548bbbaea27f3f8ed0593d000080bf5c68523f175a0f3e80b9d53c80b9d5bcc9503fbe5825d5be5825d53e54ee4ebf18a6923dd8b9663f1cc6da3e000080bffa62583f8d44273e9899193e992a33beb9f545bef041383d064afdbe6a2e5ebf0000000035685e3f2e8bfdbe000080bfb028333fb4512d3d9c15323ec9503fbe9c1532be4d25d53e57ee4ebf5525d5be56faf53d7db3003f59265bbf000080bf3331303fb04f9b3c9899193eb9f545be992a33bef041383d6a2e5ebf064afdbe8fa3493ceac5fd3ebf515ebf000080bfd6912e3fb4512d3dcbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbe87a349bcebc5fd3ebd515ebf000080bfd6912e3f175a0f3ecbcc4c3d992a33beb9f545beeb4138bd064afdbe6a2e5ebf0000000034685e3f308bfdbe000080bfb028333f175a0f3ecbcc4c3d999919becbcc4cbe9e9758bda09758bd7e487fbf50558b3baea27f3f91d059bd000080bff266393f175a0f3e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf0535b8bb28e3633fcb3fe9be000080bf546c333f8e44273e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5be5bfaf5bd78b3003f5c265bbf000080bf3231303f8e44273ea011cd3ccfcc4cbdb9f545be084afdbefb41383d692e5ebf3c1025bdec137f3f2dd0983d000080bf5c68523f1a53283e9811cd3c989919beb9f545be064afdbed54138bd6a2e5ebf4310253dec137f3f16d098bd000080bff266393f1b53283e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbefaf274be28e55a3fb98cebbe000080bf546c333f1331343e40e2da3b989919be992a33be205f53bf673708bd0c2c10bf43fd273d08f97d3fc71ff3bd000080bff266393f84ae3a3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbfa9a425bd34f77d3fba00f43d000080bf5c68523f83ae3a3e40c0573c80b9d5bc9c1532be4d723fbf84fdcf3e026c06bf1679343e1650623feda7dd3e000080bffa62583f1231343ecbcc4c3dcbcc4cbecbcc4cbda39758bd7e487fbfa297583deb207f3f609765bd179c77bd000080bf0fb87d3f57cd063dcfcc4c3db9f545be9811cdbcda4138bd692e5ebf0a4afd3e486b7b3f752c04bed36e0cbe000080bf41087c3f5138173c80b9d53cc9503fbe78b9d5bc5325d5be54ee4ebf5525d53e3c0b5b3f86ce00bf2d77f8bd000080bfccb0763fe2ef3a3ca011cd3cb9f545becbcc4cbd084afdbe692e5ebff341383d81835d3f7f51febed3278abd000080bfae22783f59b20b3d9811cd3cb9f545be989919be084afdbe692e5ebfdb4138bd194b5e3f68a7fbbe6e0e88bd000080bfba2f7a3f287f063ecbcc4c3dcbcc4cbe989919bea39758bd7e487fbf9e9758bdd47d7f3f7cb950bda6b417bd000080bf1bc57f3fe845053e78b9d53cc9503fbe9c1532be5825d5be57ee4ebf4925d5bed18e643f6b6ce6be9e4b9bbc000080bfecb8793f72df1e3ecbcc4c3db9f545be992a33beed4138bd692e5ebf064afdbed6c97e3ff72fa7bd95eb573d000080bf7a1b7f3fa7be1e3e40e2da3b992a33be989919be9c8053bf89f80fbf94b20abd491e103f365852bfaf9db6bd000080bfd6b7733f4ca0083e40c0573c9d1532be78b9d5bc023142bf0fa003bf9bf1cc3e85e9063fdc6a58bff78fb2bd000080bf0023723f9fec523c80b9d53c9c1532be20c057bc682bcfbe499105bfe443403ff67b2f3f4d7637bfeba103be000080bf4427743f0000000060e2da3b992a33becbcc4cbd9c8053bf8af80fbfc5b20a3d91b30e3f921d53bfb95fc4bd000080bfcaaa713fec36143d6d562f3b0ad723becbcc4cbd432d77bfc28584beb129e03c26b0823e065376bf5b66c2bd000080bff7536e3fd7151a3d38e7193c0ad723be54b0d0bc189650bf87347abea197063fab38703edfde77bfc400b1bd000080bfe4026f3f2cfa5e3c5d562f3b0ad723be999919be3a3f77bf6e4c84bef7f4acbcc2b8843e540d76bfe16bc2bd000080bf0361703f08180a3e20c0573c9c1532be9d1532be509042bf3566ebbedb2eebbe1b5a0f3ffa6d52bf8781d4bd000080bf222b753f405f203e78b9d53c9d1532bec9503fbe5125d5be5525d5be57ee4ebf06ba413fedc526bf7d1a5ebd000080bf14b7773fc2eb2c3e5572893b0ad723becd171fbe71666ebf0cfa84be78da82be21f4943ea0c873bff918bdbd000080bfdac1703fdf650f3e40e2da3b989919be992a33be205f53bf673708bd0c2c10bffac5fc3d03177cbfc680fbbd000080bfefd66f3f67c5233e05678b3bb9e522be073320be75c073bfd60153bed11c67beeb5d6d3e0add77bfe360c0bd000080bfc7a0703f788e103e65e8893bda6c21bedb6c21be783571bfaf2171bedcf973be43f7863ee4c775bf8aa3bfbd000080bf4864703f97e1113e5062843bc9881ebe0ad723be7a896ebf721a87beab467fbe5ed7963e736f73bf6cd1c1bd000080bff3e96f3fe47d143e54562f3b989919be0ad723be234c77bf65a4c9bb575384be176c253d71b47dbf956902be000080bf54d36e3f54f7143e77562f3bcecc4cbd0ad723befd3c77bffd21ba3c3c4b84beb3fe363b9cc47ebf6699c8bd000080bf773d5d3faf1d1e3e60e2da3bcfcc4cbd992a33be9c8053bfd2b20a3d8af80fbf6c67ba3cb9d07ebfa533bfbd000080bf12415e3fc2eb2c3e - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: -0.09999999} - m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.09999999} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1.6879306 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: ---- !u!1 &1418001334 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.012002945 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 8 + numCapVertices: 8 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 0 +--- !u!81 &3355104584771454996 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5979253672754829115} + m_Enabled: 1 +--- !u!1 &3399291057493099531 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -10206,31 +12800,15 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1418001335} + - component: {fileID: 2623177013501468337} m_Layer: 0 - m_Name: Little_2_Left + m_Name: UniversalController m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1418001335 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1418001334} - m_LocalRotation: {x: 0.007898328, y: 0.0033098771, z: -0.14792106, w: 0.9889621} - m_LocalPosition: {x: -0.021837996, y: 0.000000052452087, z: 0.0000003004074} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1275973671} - m_Father: {fileID: 679583488} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1421788324 +--- !u!1 &3412231637938515386 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -10238,30 +12816,36 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1421788325} - m_Layer: 0 - m_Name: Index_Tip_Left + - component: {fileID: 6936079037490303986} + - component: {fileID: 4920957488103809335} + - component: {fileID: 3680673956427844191} + - component: {fileID: 5552183709122344159} + - component: {fileID: 4091356938257916090} + - component: {fileID: 8695587646629047512} + m_Layer: 2 + m_Name: XRI Rig m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1421788325 +--- !u!4 &3424889092756910468 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1421788324} - m_LocalRotation: {x: 0.000000029802326, y: 9.492409e-15, z: 0.00000031851238, w: 1} - m_LocalPosition: {x: -0.02301526, y: 0.000000085830685, z: -0.000000114440915} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 2651624948322462526} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: -1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 512971542} - m_RootOrder: 0 + m_Children: + - {fileID: 2623177013501468337} + m_Father: {fileID: 6314179924109280940} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1423342052 +--- !u!1 &3475689358978197177 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -10269,258 +12853,192 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1423342053} - - component: {fileID: 1423342056} - - component: {fileID: 1423342057} - - component: {fileID: 1423342055} - - component: {fileID: 1423342054} + - component: {fileID: 1008284944111624865} m_Layer: 0 - m_Name: Left Teleport Controller + m_Name: Camera Offset m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1423342053 -Transform: +--- !u!1 &3637632924563700266 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423342052} - 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: 1742313800} - m_Father: {fileID: 1773926310} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1423342054 + serializedVersion: 6 + m_Component: + - component: {fileID: 7500196382170294074} + m_Layer: 0 + m_Name: Left Controller Stabilized Attach + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &3639374206500600974 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423342052} + m_GameObject: {fileID: 8142159310659467549} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} m_Name: m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: + m_AffordanceStateProvider: {fileID: 5540061295610303886} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: d0eab193f3deddf459ada93a8c8366ef, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 1877690765202205926} + m_ColorPropertyName: _BaseColor +--- !u!143 &3680673956427844191 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3412231637938515386} + m_Material: {fileID: 0} + m_IncludeLayers: serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: + m_Bits: 0 + m_ExcludeLayers: serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!120 &1423342055 -LineRenderer: + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 1.36144 + m_Radius: 0.1 + m_SlopeLimit: 45 + m_StepOffset: 0.5 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.76072, z: 0} +--- !u!1 &3688099937690617217 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423342052} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_ReceiveGI: 1 - m_PreserveUVs: 0 - 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 - m_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: + serializedVersion: 6 + m_Component: + - component: {fileID: 4063676189284294459} + - component: {fileID: 8108980195671180918} + - component: {fileID: 8108980195671180919} + m_Layer: 0 + m_Name: Left Controller Visual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &3690860733258065439 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1546999163601020601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 80e353695beb436ab39a90d9ecefaee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineRenderer: {fileID: 3277249423340330650} + m_CurveVisualObject: {fileID: 2792525422796048802} + m_OverrideLineOrigin: 1 + m_LineOriginTransform: {fileID: 5231230020209156054} + m_VisualPointCount: 20 + m_MaxVisualCurveDistance: 10 + m_RestingVisualLineLength: 0.25 + m_LineDynamicsMode: 1 + m_RetractDelay: 1 + m_RetractDuration: 1 + m_ExtendLineToEmptyHit: 0 + m_ExtensionRate: 10 + m_EndPointExpansionRate: 10 + m_ComputeMidPointWithComplexCurves: 0 + m_SnapToSelectedAttachIfAvailable: 1 + m_SnapToSnapVolumeIfAvailable: 1 + m_CurveStartOffset: 0.015 + m_CurveEndOffset: 0.005 + m_CustomizeLinePropertiesForState: 1 + m_LinePropertyAnimationSpeed: 8 + m_NoValidHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.25 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 1, b: 1, a: 0.5019608} + key2: {r: 0, g: 0, b: 0, a: 0.2509804} key3: {r: 0, g: 0, b: 0, a: 0} key4: {r: 0, g: 0, b: 0, a: 0} key5: {r: 0, g: 0, b: 0, a: 0} @@ -10534,572 +13052,821 @@ LineRenderer: ctime5: 0 ctime6: 0 ctime7: 0 + atime0: 193 + atime1: 8192 + atime2: 32768 + atime3: 55705 + atime4: 65342 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_UIHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.004 + m_EndWidth: 0.004 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 0.78431374, b: 0.5686275, a: 0.49019608} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 65535 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 + atime1: 8192 + atime2: 32768 + atime3: 65535 atime4: 0 atime5: 0 atime6: 0 atime7: 0 m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &1423342056 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_UIPressHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.5686275, g: 0.78431374, b: 1, a: 0.627451} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0.78431374} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 32768 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 26214 + atime3: 42598 + atime4: 65535 + atime5: 65535 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 5 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_SelectHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.5686275, g: 0.78431374, b: 1, a: 0.627451} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0.78431374} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 32768 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 26214 + atime3: 42598 + atime4: 65535 + atime5: 65535 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 5 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.75 + m_HoverHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.25 + m_AdjustWidth: 1 + m_StarWidth: 0.004 + m_EndWidth: 0.004 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 0.78431374, b: 0.5686275, a: 0.49019608} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 13878 + atime2: 32768 + atime3: 65535 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_RenderLineInWorldSpace: 1 + m_SwapMaterials: 0 + m_BaseLineMaterial: {fileID: 0} + m_EmptyHitMaterial: {fileID: 0} +--- !u!114 &3725507820287279224 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423342052} + m_GameObject: {fileID: 6663198538617514225} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Script: {fileID: 11500000, guid: b734f2bd29eeddd4d85afb0c266228c3, type: 3} m_Name: m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 506692965} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: ee2b90af-cb76-4d31-80a6-06fad8ac806a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 4c57fe61-e6e1-4df3-bff3-6c688f6f9e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: 23cf2d5a-2e3e-44af-b5ea-b28d71f092e1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: df150c59-acdb-4a44-ae0d-6b7b17b9125b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 869302d5-d3c7-4c1b-a962-a7e033b42a15 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4084014799535200556, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: b1d7c618-2863-40eb-94b0-bc55c977ad1f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7039868187661461836, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 4aec5842-effb-4789-a584-e3222db901f4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 6a145112-f236-49b9-9463-5bc169d5d003 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5393738492722007444, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: e65a640e-2a41-422f-82dd-ebfb73c6c378 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 4936da6e-2314-466c-ac19-aa23d9db394b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 78037b9b-94c5-4459-aaa7-fadfd326bbbe - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 80072ca0-f27a-4040-8ae9-a0fa7a761bbc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 13f6cacf-e639-4a90-864c-abb89495ad0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 33f916ce-3f4c-4552-bf40-55535ae2298e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 6713f8f9-89a2-46da-aad5-ae077ac477ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 + m_HapticOutput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Haptic + m_Type: 2 m_ExpectedControlType: - m_Id: 6a05ceb9-e956-4d2e-b0b3-9b1ade5d8108 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4b35d4f1-f733-474e-8378-d24fb64bf06d + m_Id: b71b5bb4-1b09-415f-a4df-1476771fcae6 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &1423342057 + m_InputActionReference: {fileID: -8222252007134549311, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_AmplitudeMultiplier: 1 +--- !u!4 &3786297410715878379 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8307141036015099956} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775877, y: 0.00152745, z: -0.0074315914} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 562656882107642631} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3817474755283063292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1116454838511533587} + - component: {fileID: 5454378607909765555} + - component: {fileID: 1562120326400178471} + m_Layer: 2 + m_Name: Climb Teleport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &3913497244710254555 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4396737744221302113} + - component: {fileID: 8107342546769351320} + m_Layer: 0 + m_Name: Pinch_Pointer_LOD0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3965211245903780958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5573389152138464832} + 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: 5948305712812316948} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4008296297209630360 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 383170654740640448} + m_Mesh: {fileID: -8429650256770907399, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!33 &4032309936690062326 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2798410165253765510} + m_Mesh: {fileID: 22788929071467060, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!33 &4045662919487542209 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 480510933409723392} + m_Mesh: {fileID: -2564423107879867638, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!4 &4063676189284294459 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3688099937690617217} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9191415921813784219} + m_Father: {fileID: 8616564067840974700} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4091356938257916090 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423342052} - m_Enabled: 0 + m_GameObject: {fileID: 3412231637938515386} + m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Script: {fileID: 11500000, guid: 82bc72d2ecc8add47b2fe00d40318500, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2089871579} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 2 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: + m_LeftHand: {fileID: 0} + m_RightHand: {fileID: 0} + m_LeftController: {fileID: 7112287131004872226} + m_RightController: {fileID: 6663198538617514225} + m_TrackedHandModeStarted: m_PersistentCalls: m_Calls: [] - m_OnHoverExited: + m_TrackedHandModeEnded: m_PersistentCalls: m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 1 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 1742313800} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: + m_MotionControllerModeStarted: m_PersistentCalls: m_Calls: [] - m_UIHoverExited: + m_MotionControllerModeEnded: m_PersistentCalls: m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!1 &1423653692 -GameObject: +--- !u!23 &4149245136241676408 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1423653693} - - component: {fileID: 1423653694} - m_Layer: 0 - m_Name: Collider (5) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1423653693 + m_GameObject: {fileID: 6715956624062698777} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!4 &4182470257755192204 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8721447093911992910} + 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: + - {fileID: 5473337241521369555} + m_Father: {fileID: 1008284944111624865} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4254981313420245255 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5346970755468595171} + m_Mesh: {fileID: 8449303727733987256, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!33 &4288091224510082277 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1971586465853045759} + m_Mesh: {fileID: -1120971793077124694, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!114 &4336208444415540965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1904414998833462851} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 80e353695beb436ab39a90d9ecefaee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineRenderer: {fileID: 2481197726451811936} + m_CurveVisualObject: {fileID: 3014271272736952664} + m_OverrideLineOrigin: 1 + m_LineOriginTransform: {fileID: 5155727875416655660} + m_VisualPointCount: 20 + m_MaxVisualCurveDistance: 10 + m_RestingVisualLineLength: 0.25 + m_LineDynamicsMode: 1 + m_RetractDelay: 1 + m_RetractDuration: 1 + m_ExtendLineToEmptyHit: 0 + m_ExtensionRate: 10 + m_EndPointExpansionRate: 10 + m_ComputeMidPointWithComplexCurves: 0 + m_SnapToSelectedAttachIfAvailable: 1 + m_SnapToSnapVolumeIfAvailable: 1 + m_CurveStartOffset: 0.015 + m_CurveEndOffset: 0.005 + m_CustomizeLinePropertiesForState: 1 + m_LinePropertyAnimationSpeed: 8 + m_NoValidHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.25 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 1, b: 1, a: 0.5019608} + key2: {r: 0, g: 0, b: 0, a: 0.2509804} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 193 + atime1: 8192 + atime2: 32768 + atime3: 55705 + atime4: 65342 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_UIHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.004 + m_EndWidth: 0.004 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 0.78431374, b: 0.5686275, a: 0.49019608} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 65535 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 32768 + atime3: 65535 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_UIPressHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.5686275, g: 0.78431374, b: 1, a: 0.627451} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0.78431374} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 32768 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 26214 + atime3: 42598 + atime4: 65535 + atime5: 65535 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 5 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_SelectHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.5686275, g: 0.78431374, b: 1, a: 0.627451} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0.78431374} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 32768 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 26214 + atime3: 42598 + atime4: 65535 + atime5: 65535 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 5 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.75 + m_HoverHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.25 + m_AdjustWidth: 1 + m_StarWidth: 0.004 + m_EndWidth: 0.004 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 0.78431374, b: 0.5686275, a: 0.49019608} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 13878 + atime2: 32768 + atime3: 65535 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_RenderLineInWorldSpace: 1 + m_SwapMaterials: 0 + m_BaseLineMaterial: {fileID: 0} + m_EmptyHitMaterial: {fileID: 0} +--- !u!4 &4387283731022205860 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423653692} - m_LocalRotation: {x: -0.27059805, y: -0.27059805, z: 0.6532815, w: 0.6532815} - m_LocalPosition: {x: 0.177, y: 0, z: -0.171} + m_GameObject: {fileID: 8660961134141084188} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0.012954317, z: -0.02} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 660021081} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: -45, z: 90} ---- !u!136 &1423653694 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1423653692} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.02 - m_Height: 0.2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &1430860602 -GameObject: + m_Father: {fileID: 2623177013501468337} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &4396737744221302113 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1430860603} - m_Layer: 0 - m_Name: Middle_0_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1430860603 + m_GameObject: {fileID: 3913497244710254555} + serializedVersion: 2 + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 50, y: 50, z: 50} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4403736303906808308} + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!4 &4403736303906808308 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1430860602} - m_LocalRotation: {x: 0.037149172, y: -0.0391672, z: -0.020477412, w: 0.9983319} - m_LocalPosition: {x: -0.062340543, y: -0.00000025370625, z: -0.00000015303492} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 4662376211163543107} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0075} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 1078070624} - m_Father: {fileID: 1675801262} - m_RootOrder: 0 + - {fileID: 4396737744221302113} + - {fileID: 5454017983593361391} + m_Father: {fileID: 4996353036765796752} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1466462399 -GameObject: +--- !u!4 &4431741724180888795 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1466462400} - m_Layer: 0 - m_Name: Little_0_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1466462400 -Transform: + m_GameObject: {fileID: 4662746224129893333} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: -0.0020741627, z: -0.0052528577} + m_LocalScale: {x: 0.982392, y: 1.55, z: 0.982392} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2623177013501468337} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4432513338469133278 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1466462399} - m_LocalRotation: {x: -0.018601296, y: 0.022547437, z: -0.058639184, w: 0.99785125} - m_LocalPosition: {x: -0.056403197, y: -0.00000059507784, z: 0.0000003004074} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 679583488} - m_Father: {fileID: 1289966973} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1471223337 -GameObject: + m_GameObject: {fileID: 2562056696028985392} + m_Mesh: {fileID: -4189514412694937182, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!114 &4470736144836715513 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1471223338} - - component: {fileID: 1471223339} - m_Layer: 0 - m_Name: TransformerInside - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1471223338 -Transform: + m_GameObject: {fileID: 7112287131004872226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b734f2bd29eeddd4d85afb0c266228c3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HapticOutput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Haptic + m_Type: 2 + m_ExpectedControlType: + m_Id: a67d36a7-d7d4-428e-877d-0cad8d4a162f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8785819595477538065, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_AmplitudeMultiplier: 1 +--- !u!114 &4475788245870897129 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1471223337} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0, y: 1.2, z: 1.125} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1192304054} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1471223339 + m_GameObject: {fileID: 7112287131004872226} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b9a90fa34d4455469b76611722eae2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RayInteractor: {fileID: 0} + m_NearFarInteractor: {fileID: 3014271272736952664} + m_TeleportInteractor: {fileID: 6436482240471706213} + m_TeleportMode: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TeleportModeCancel: {fileID: 737890489006591557, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Turn: {fileID: 1010738217276881514, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SnapTurn: {fileID: -7374733323251553461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Move: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_UIScroll: {fileID: 2464016903823916871, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SmoothMotionEnabled: 1 + m_SmoothTurnEnabled: 0 + m_NearFarEnableTeleportDuringNearInteraction: 1 + m_UIScrollingEnabled: 1 + m_RayInteractorChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4545233648036942519 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1471223337} + m_GameObject: {fileID: 7554377125383235881} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: 6a26c941eb8a46f7b6d00416227ab8c0, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 5ff70f47eac84445b28f57b8bc54153e - uniqueName: TransformerInside - tags: [] ---- !u!1 &1481350549 -GameObject: + m_XROrigin: {fileID: 4920957488103809335} + m_BodyPositionEvaluatorObject: {fileID: 0} + m_ConstrainedBodyManipulatorObject: {fileID: 0} + m_UseCharacterControllerIfExists: 1 +--- !u!33 &4545633650006401624 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1481350550} - m_Layer: 0 - m_Name: Ring_2_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1481350550 + m_GameObject: {fileID: 2583086854053857846} + m_Mesh: {fileID: -8653722315008560443, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!4 &4551018433386045865 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1481350549} - m_LocalRotation: {x: -0.0013731687, y: -0.0005792431, z: -0.08538537, w: 0.9963469} - m_LocalPosition: {x: -0.028493328, y: -0.00000044822693, z: -0.0000003170967} + m_GameObject: {fileID: 2080223686523286607} + 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: - - {fileID: 2131842499} - m_Father: {fileID: 995671520} - m_RootOrder: 0 + - {fileID: 7500196382170294074} + m_Father: {fileID: 1008284944111624865} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1494241463 +--- !u!1 &4662376211163543107 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11107,31 +13874,15 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1494241464} + - component: {fileID: 4403736303906808308} m_Layer: 0 - m_Name: Thumb_1_Left + m_Name: Poke Point m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1494241464 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1494241463} - m_LocalRotation: {x: 0.0000025456518, y: 0.0000026570444, z: 0.10506754, w: 0.9944651} - m_LocalPosition: {x: -0.03307885, y: 0.000000052452087, z: -0.00000030398368} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 668594702} - m_Father: {fileID: 595536807} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1507460096 +--- !u!1 &4662746224129893333 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11139,93 +13890,38 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1507460097} - - component: {fileID: 1507460098} + - component: {fileID: 4431741724180888795} + - component: {fileID: 6947719085245969615} + - component: {fileID: 1005885787993019412} m_Layer: 0 - m_Name: Light + m_Name: TouchPad m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1507460097 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1507460096} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -0, y: 1.511, z: 1.142} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 535679137} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!108 &1507460098 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1507460096} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 2 - m_Shape: 0 - m_Color: {r: 1, g: 0, b: 1, a: 1} - m_Intensity: 4 - m_Range: 1 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &1521703296 +--- !u!114 &4682167229149026278 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6663198538617514225} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} + m_Name: + m_EditorClassIdentifier: + m_GroupName: Right + m_InteractionManager: {fileID: 0} + m_StartingGroupMembers: + - {fileID: 6133702203495907637} + - {fileID: 2792525422796048802} + m_StartingInteractionOverridesMap: + - groupMember: {fileID: 6133702203495907637} + overrideGroupMembers: + - {fileID: 2792525422796048802} +--- !u!1 &4685605516835196876 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11233,31 +13929,30 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1521703297} - m_Layer: 8 - m_Name: Anchor + - component: {fileID: 562656882107642631} + m_Layer: 0 + m_Name: XRController_Thumbstick_Buttons m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1521703297 +--- !u!4 &4812156106108496837 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1521703296} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0.01, z: 0} + m_GameObject: {fileID: 9024350238825505196} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1222594156} - m_Father: {fileID: 815556419} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 9191415921813784219} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1525491573 +--- !u!1 &4833513169981666050 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11265,321 +13960,292 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1525491574} - - component: {fileID: 1525491575} - - component: {fileID: 1525491579} - - component: {fileID: 1525491578} - - component: {fileID: 1525491577} - - component: {fileID: 1525491576} + - component: {fileID: 5948305712812316948} m_Layer: 0 - m_Name: Snap Zone Stairs (2) + m_Name: Poke Point Affordances m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1525491574 -Transform: +--- !u!114 &4841988177154314013 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1525491573} - m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0.8, z: 2.2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 790520236} - m_Father: {fileID: 33704422} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} ---- !u!114 &1525491575 + m_GameObject: {fileID: 8425775126076867325} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractorSource: {fileID: 7930453843509860390} + m_IgnoreHoverEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 1 + m_IgnoreUGUIHover: 0 + m_IgnoreUGUISelect: 0 + m_IgnoreXRInteractionEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!114 &4920957488103809335 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1525491573} + m_GameObject: {fileID: 3412231637938515386} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc6efdd45e6a00744aaf4c68264d6d7c, type: 3} + m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 790520236} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_ShowInteractableHoverMeshes: 1 - m_InteractableHoverMeshMaterial: {fileID: 0} - m_InteractableCantHoverMeshMaterial: {fileID: 0} - m_SocketActive: 1 - m_InteractableHoverScale: 1 - m_RecycleDelayTime: 1 - m_HoverSocketSnapping: 0 - m_SocketSnappingRadius: 0.1 - m_SocketScaleMode: 0 - m_FixedScale: {x: 1, y: 1, z: 1} - m_TargetBoundsSize: {x: 1, y: 1, z: 1} - shownHighlightObject: {fileID: 919132149155446097, guid: 3cd7c532cc585b54795fadfe1b32fc53, type: 3} - ShowHighlightInEditor: 1 - highlightMeshMaterial: {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} - validationMaterial: {fileID: 2100000, guid: c6c888b079480654fbf337e7fe50b405, type: 2} - invalidMaterial: {fileID: 2100000, guid: 69e2b61a70de44f48909a564a7cf9c62, type: 2} - previewMesh: {fileID: 862649805} ---- !u!65 &1525491576 -BoxCollider: + m_Camera: {fileID: 1696974451555237050} + m_OriginBaseGameObject: {fileID: 3412231637938515386} + m_CameraFloorOffsetObject: {fileID: 3475689358978197177} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.36144 +--- !u!4 &4996353036765796752 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1525491573} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 + m_GameObject: {fileID: 8557682003305897263} serializedVersion: 2 - m_Size: {x: 0.4, y: 0.4, z: 0.2} - m_Center: {x: 0, y: 0, z: -0.1} ---- !u!114 &1525491577 -MonoBehaviour: + 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: 4403736303906808308} + - {fileID: 7726587846299096489} + m_Father: {fileID: 8616564067840974700} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5011224878527212036 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1525491573} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 557aaed036734781b129d67ec56c9366, type: 3} - m_Name: - m_EditorClassIdentifier: - acceptedProcessSceneObjects: - - {fileID: 587381668} - - {fileID: 102893243} ---- !u!114 &1525491578 + serializedVersion: 6 + m_Component: + - component: {fileID: 5231230020209156054} + - component: {fileID: 2792525422796048802} + - component: {fileID: 1210680681007785837} + - component: {fileID: 7327968346056529354} + - component: {fileID: 1605866786084870032} + - component: {fileID: 3115078825735683163} + m_Layer: 0 + m_Name: Right Near-Far Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &5050075178227827815 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1525491573} + m_GameObject: {fileID: 6663198538617514225} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb7be990fff0a2142a874601356b26df, type: 3} + m_Script: {fileID: 11500000, guid: 7b9a90fa34d4455469b76611722eae2a, type: 3} m_Name: m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - objectAttached: + m_RayInteractor: {fileID: 0} + m_NearFarInteractor: {fileID: 2792525422796048802} + m_TeleportInteractor: {fileID: 764665970482468834} + m_TeleportMode: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TeleportModeCancel: {fileID: 2307464322626738743, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Turn: {fileID: -6493913391331992944, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SnapTurn: {fileID: -8525429354371678379, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Move: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_UIScroll: {fileID: -6756787485274679044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SmoothMotionEnabled: 0 + m_SmoothTurnEnabled: 0 + m_NearFarEnableTeleportDuringNearInteraction: 1 + m_UIScrollingEnabled: 1 + m_RayInteractorChanged: m_PersistentCalls: m_Calls: [] - objectDetached: - m_PersistentCalls: - m_Calls: [] - lockOnUnsnap: 1 ---- !u!114 &1525491579 -MonoBehaviour: +--- !u!210 &5059173303298847618 +SortingGroup: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1525491573} + m_GameObject: {fileID: 764665970482468846} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 6e662d7aa29798489718d4a6a25ea1d9 - uniqueName: Sliced Cube (1)_SnapZone_1 - tags: [] ---- !u!1 &1527860101 -GameObject: + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 + m_SortAtRoot: 0 +--- !u!23 &5059913214602055822 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1527860102} - m_Layer: 0 - m_Name: Station Transform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1527860102 + m_GameObject: {fileID: 8676005946244915226} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!4 &5091508808143647695 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1527860101} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: -3, y: 0, z: 6} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 815556419} - - {fileID: 597715543} - - {fileID: 1192304054} - - {fileID: 632093760} - m_Father: {fileID: 0} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &1583804100 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1583804101} - - component: {fileID: 1583804102} - m_Layer: 0 - m_Name: TransformerOutside - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1583804101 + m_GameObject: {fileID: 7554377125383235881} + 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: + - {fileID: 528766804999492054} + - {fileID: 9061978664655599187} + - {fileID: 8209315492308156557} + - {fileID: 1574911661580200921} + - {fileID: 6439302189377213059} + m_Father: {fileID: 6936079037490303986} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5155727875416655660 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1583804100} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 1.2, z: -0.25} - m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} + m_GameObject: {fileID: 5376927054557213438} + 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: 1192304054} - m_RootOrder: 1 + m_Children: + - {fileID: 312356894876649652} + m_Father: {fileID: 8616564067840974700} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1583804102 +--- !u!114 &5173989514426203109 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1583804100} + m_GameObject: {fileID: 8425775126076867325} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: deaeb680dc4a6547b8ec1cd1bd3c03ae - uniqueName: TransformerOutside - tags: [] ---- !u!1 &1634918258 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1634918261} - - component: {fileID: 1634918260} - - component: {fileID: 1634918259} - m_Layer: 0 - m_Name: XR_Setup_Action_Based_Hands - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1634918259 -MonoBehaviour: + m_Renderer: {fileID: 8107342546769351320} + m_MaterialIndex: 0 +--- !u!4 &5231230020209156054 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1634918258} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb84184823a056249bfba5107e766ec3, type: 3} - m_Name: - m_EditorClassIdentifier: - layerSet: 2 - interactors: - - {fileID: 1423342057} - - {fileID: 496138947} ---- !u!114 &1634918260 + m_GameObject: {fileID: 5011224878527212036} + 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: + - {fileID: 810764635415466062} + m_Father: {fileID: 6314179924109280940} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5259891643034678626 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1634918258} + m_GameObject: {fileID: 7112287131004872226} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} + m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 1a980a02ca1df7479fbe908b857b9aa3 - uniqueName: User - tags: [] - head: {fileID: 2008584333} - leftHand: {fileID: 440165965} - rightHand: {fileID: 1729154661} ---- !u!4 &1634918261 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1634918258} - m_LocalRotation: {x: -0, y: -0.8502079, z: -0, w: 0.52644706} - m_LocalPosition: {x: 0.01, y: 0, z: 7.39} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 361400739} - - {fileID: 2089871580} - - {fileID: 846924387} - - {fileID: 362215160} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: -116.469, z: 0} ---- !u!1 &1637849899 + m_GroupName: Left + m_InteractionManager: {fileID: 0} + m_StartingGroupMembers: + - {fileID: 7930453843509860390} + - {fileID: 3014271272736952664} + m_StartingInteractionOverridesMap: + - groupMember: {fileID: 7930453843509860390} + overrideGroupMembers: + - {fileID: 3014271272736952664} +--- !u!1 &5280533180685219232 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11587,30 +14253,18 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1637849900} + - component: {fileID: 1533848678484289632} + - component: {fileID: 8454587283669440819} + - component: {fileID: 2573842367973974107} + - component: {fileID: 808217723329261619} m_Layer: 0 - m_Name: Sphere + m_Name: Poke m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1637849900 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1637849899} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1.2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 632093760} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1675801261 +--- !u!1 &5294060598795513720 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11618,31 +14272,18 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1675801262} - m_Layer: 0 - m_Name: Middle_Palm_Left + - component: {fileID: 8209315492308156557} + - component: {fileID: 480325925856804122} + - component: {fileID: 7318653890612384413} + - component: {fileID: 6309884296145827369} + m_Layer: 2 + m_Name: Grab Move m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1675801262 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1675801261} - m_LocalRotation: {x: 0.99872494, y: -0.046419356, z: -0.015558949, w: -0.012318821} - m_LocalPosition: {x: -0.05391815, y: 0.0050031445, z: 0.0017454529} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1430860603} - m_Father: {fileID: 105739408} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1714243699 + m_IsActive: 0 +--- !u!1 &5346970755468595171 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11650,31 +14291,17 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1714243700} + - component: {fileID: 375804120739163510} + - component: {fileID: 4254981313420245255} + - component: {fileID: 6634329706920098115} m_Layer: 0 - m_Name: Middle_2_Left + m_Name: Button_B m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1714243700 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1714243699} - m_LocalRotation: {x: 0.007229151, y: 0.004674483, z: -0.10485168, w: 0.9944506} - m_LocalPosition: {x: -0.02966484, y: -0.00000024318695, z: 0.000000114440915} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 361187391} - m_Father: {fileID: 1836407205} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1729154660 +--- !u!1 &5376927054557213438 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -11682,65 +14309,139 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1729154661} - - component: {fileID: 1729154664} - - component: {fileID: 1729154663} - - component: {fileID: 1729154662} + - component: {fileID: 5155727875416655660} + - component: {fileID: 3014271272736952664} + - component: {fileID: 2294847314185076631} + - component: {fileID: 7685375935220452656} + - component: {fileID: 1827603307351822186} + - component: {fileID: 2607346015685567649} m_Layer: 0 - m_Name: Right Base Controller + m_Name: Left Near-Far Interactor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1729154661 +--- !u!114 &5382527637378606193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2080223686523286607} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 4403736303906808308} + m_AimTargetObject: {fileID: 6436482240471706213} + m_UseLocalSpace: 0 + m_AngleStabilization: 20 + m_PositionStabilization: 0.25 +--- !u!4 &5410547930083255870 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1729154660} + m_GameObject: {fileID: 5979253672754829115} + 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: - - {fileID: 820468471} - m_Father: {fileID: 697578261} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 1008284944111624865} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!135 &1729154662 -SphereCollider: +--- !u!137 &5445689226051439499 +SkinnedMeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1729154660} - m_Material: {fileID: 0} - m_IsTrigger: 1 + m_GameObject: {fileID: 963314481201573576} 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: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f5ccd52dc494e054fbe7d7161dcabe25, 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 serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &1729154663 + m_Quality: 0 + m_UpdateWhenOffscreen: 1 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5120762275383614272, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + m_Bones: [] + m_BlendShapeWeights: [] + m_RootBone: {fileID: 0} + m_AABB: + m_Center: {x: 0, y: 0.009045093, z: 0} + m_Extent: {x: 0.0077457884, y: 0.016694028, z: 0.0077457884} + m_DirtyAABB: 0 +--- !u!4 &5454017983593361391 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1420811056858859466} + 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: 4403736303906808308} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5454378607909765555 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1729154660} + m_GameObject: {fileID: 3817474755283063292} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} + m_Script: {fileID: 11500000, guid: e3c5f6c9defa4ae9ad41bcc3f8754f86, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2089871579} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 + m_InteractionManager: {fileID: 0} m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 2040506300} + m_Bits: 4294967295 + m_Handedness: 0 + m_AttachTransform: {fileID: 0} m_KeepSelectedTargetValid: 1 m_DisableVisualsWhenBlockedInGroup: 1 m_StartingSelectedInteractable: {fileID: 0} @@ -11759,287 +14460,156 @@ MonoBehaviour: m_Calls: [] m_StartingHoverFilters: [] m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!114 &1729154664 + m_ClimbProvider: {fileID: 8850411173210485318} + m_DestinationEvaluationSettings: + m_UseConstant: 1 + m_ConstantValue: + m_EnableDestinationEvaluationDelay: 0 + m_DestinationEvaluationDelayTime: 1 + m_PollForDestinationChange: 1 + m_DestinationPollFrequency: 1 + m_DestinationFilterObject: {fileID: 11400000, guid: 22becb1b271978f41bb17d1c741842e8, type: 2} + m_Variable: {fileID: 0} +--- !u!4 &5464547611444675945 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 564343745990615316} + 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: 1008284944111624865} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5473337241521369555 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1441846840232970914} + 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: 4182470257755192204} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5540061295610303886 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8142159310659467549} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractorSource: {fileID: 7930453843509860390} + m_IgnoreHoverEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 1 + m_IgnoreUGUIHover: 0 + m_IgnoreUGUISelect: 0 + m_IgnoreXRInteractionEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!114 &5552183709122344159 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1729154660} + m_GameObject: {fileID: 3412231637938515386} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} + m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} m_Name: m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 820468471} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: 2f5ad2a7-d128-4be6-aa7b-324a04fda92e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: b71180c0-70dd-45ad-9c7f-85180a861e1c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 183beb27-b26f-4061-8868-236672560d69 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 4766120400929042988, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 657bd760-06f7-4d83-80e9-76b85139bb0d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3285721481334498719, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: bcba2e34-25ae-4ecc-bf14-8997a78e930e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 3f81201c-5984-4321-b2d0-7d8ce8eccc75 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 59ea1b94-e9f8-4049-ab97-5920b11143a5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: c3ecb458-1b33-4991-8cb0-8cc06a515ea4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 8ca72b5b-c2db-4bb5-a0ed-3936b2f58721 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 98b33f76-5007-42f1-82ed-b035914b715c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &1731060432 + m_ActionAssets: + - {fileID: -944628639613478452, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} +--- !u!114 &5561663728500147025 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6436482240471706217} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 6436482240471706213} + m_HapticImpulsePlayer: {fileID: 4470736144836715513} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 1 +--- !u!1 &5573389152138464832 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -12047,42 +14617,45 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1731060433} - - component: {fileID: 1731060435} - - component: {fileID: 1731060434} - m_Layer: 8 - m_Name: Plane + - component: {fileID: 3965211245903780958} + - component: {fileID: 8828401783147873184} + - component: {fileID: 9113964301892253528} + - component: {fileID: 1183458572780013368} + m_Layer: 0 + m_Name: NearFar m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1731060433 -Transform: +--- !u!1 &5607850261338113084 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1731060432} - m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 757363300} - m_Father: {fileID: 1268751234} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!23 &1731060434 + serializedVersion: 6 + m_Component: + - component: {fileID: 9099370170554531971} + - component: {fileID: 6133702203495907637} + - component: {fileID: 7859142163541605441} + m_Layer: 0 + m_Name: Right Poke Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &5718243006952887840 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1731060432} + m_GameObject: {fileID: 480510933409723392} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 m_DynamicOccludee: 1 m_StaticShadowCaster: 0 m_MotionVectors: 1 @@ -12090,10 +14663,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 5984489a6c8753743953c8d64d3265fb, type: 2} + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -12115,46 +14691,51 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1731060435 -MeshFilter: +--- !u!210 &5766029233133336685 +SortingGroup: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1731060432} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1742313799 -GameObject: + m_GameObject: {fileID: 1546999163601020601} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 + m_SortAtRoot: 0 +--- !u!4 &5905294995069660909 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1742313800} - m_Layer: 0 - m_Name: RayOrigin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1742313800 + m_GameObject: {fileID: 7393986751170059213} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.028, y: 0, z: -5.929} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6160975337800433054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &5948305712812316948 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1742313799} - m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} - m_LocalPosition: {x: -0.0215, y: 0.0244, z: -0.0387} + m_GameObject: {fileID: 4833513169981666050} + 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: 1423342053} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0} ---- !u!1 &1743725475 + m_Children: + - {fileID: 1533848678484289632} + - {fileID: 3965211245903780958} + m_Father: {fileID: 9099370170554531971} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5979253672754829115 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -12162,72 +14743,157 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1743725476} + - component: {fileID: 5410547930083255870} + - component: {fileID: 1696974451555237050} + - component: {fileID: 3355104584771454996} + - component: {fileID: 809452651236114862} + - component: {fileID: 2109123500429517896} + - component: {fileID: 1392600450532211228} m_Layer: 0 - m_Name: Station Throw Ball - m_TagString: Untagged + m_Name: Main Camera + m_TagString: MainCamera m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1743725476 +--- !u!4 &6012339187599116293 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6719937617212664874} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775876, y: -0.002558912, z: -0.0074315914} + m_LocalScale: {x: 1.342947, y: 1.342947, z: 1.342947} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6640532333174287149} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6133702203495907637 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5607850261338113084} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 2 + m_AttachTransform: {fileID: 435968174823160039} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_PokeDepth: 0.1 + m_PokeWidth: 0.0075 + m_PokeSelectWidth: 0.015 + m_PokeHoverRadius: 0.015 + m_PokeInteractionOffset: 0.005 + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_PhysicsTriggerInteraction: 1 + m_RequirePokeFilter: 1 + m_EnableUIInteraction: 1 + m_DebugVisualizationsEnabled: 0 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] +--- !u!4 &6160975337800433054 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1743725475} - m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: 1.5, y: 0, z: -5.5} + m_GameObject: {fileID: 6819434276863307335} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0.8502079, z: 0, w: 0.52644706} + m_LocalPosition: {x: 0.01, y: 0, z: 7.39} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 660021080} - - {fileID: 2074732593} + - {fileID: 6936079037490303986} + - {fileID: 5905294995069660909} + - {fileID: 7646452383646115825} m_Father: {fileID: 0} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} ---- !u!1 &1745294526 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1745294527} - - component: {fileID: 1745294530} - - component: {fileID: 1745294529} - - component: {fileID: 1745294528} - m_Layer: 0 - m_Name: SnapPoint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1745294527 -Transform: + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6197129285583496530 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1745294526} - 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: 221845637} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1745294528 + m_GameObject: {fileID: 8557682003305897263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 7930453843509860390} + m_HapticImpulsePlayer: {fileID: 4470736144836715513} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 +--- !u!23 &6204977624437820478 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1745294526} + m_GameObject: {fileID: 1971586465853045759} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -12238,10 +14904,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 34211d2175b5963469d4deb504fbcbaf, type: 2} + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -12263,217 +14932,54 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1745294529 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1745294526} - m_Mesh: {fileID: 1390574009} ---- !u!114 &1745294530 +--- !u!114 &6309884296145827369 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1745294526} + m_GameObject: {fileID: 5294060598795513720} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 88ea78c93b844cc1b7f98cca70e8679c, type: 3} + m_Script: {fileID: 11500000, guid: 760ff70c1c91bdd45907d0ff0cdcaf7f, type: 3} m_Name: m_EditorClassIdentifier: - parent: {fileID: 221845638} ---- !u!1 &1756511963 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1756511964} - m_Layer: 0 - m_Name: Station Slice - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1756511964 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1756511963} - m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} - m_LocalPosition: {x: -1, y: 0, z: 2.5} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 503181885} - - {fileID: 232339300} - - {fileID: 1216574281} - - {fileID: 1978455791} - - {fileID: 587381659} - - {fileID: 102893252} - - {fileID: 1204090591} - m_Father: {fileID: 0} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} ---- !u!1 &1769588067 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1769588068} - - component: {fileID: 1769588069} - m_Layer: 0 - m_Name: Collider - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1769588068 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1769588067} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0.244} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 660021081} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!136 &1769588069 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1769588067} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.02 - m_Height: 0.2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &1773926309 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1773926310} - - component: {fileID: 1773926311} - m_Layer: 0 - m_Name: LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1773926310 + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_EnableFreeXMovement: 1 + m_EnableFreeYMovement: 0 + m_EnableFreeZMovement: 1 + m_UseGravity: 1 + m_GravityApplicationMode: 0 + m_LeftGrabMoveProvider: {fileID: 480325925856804122} + m_RightGrabMoveProvider: {fileID: 7318653890612384413} + m_OverrideSharedSettingsOnInit: 1 + m_MoveFactor: 1 + m_RequireTwoHandsForTranslation: 0 + m_EnableRotation: 1 + m_EnableScaling: 0 + m_MinimumScale: 0.2 + m_MaximumScale: 5 +--- !u!4 &6314179924109280940 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1773926309} + m_GameObject: {fileID: 6663198538617514225} + 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: - - {fileID: 440165965} - - {fileID: 1423342053} - - {fileID: 514757337} - m_Father: {fileID: 65634329} - m_RootOrder: 1 + - {fileID: 9099370170554531971} + - {fileID: 5231230020209156054} + - {fileID: 764665970482468847} + - {fileID: 3424889092756910468} + m_Father: {fileID: 1008284944111624865} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1773926311 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1773926309} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41cc12ba1114e4f46929730a9389cb74, type: 3} - m_Name: - m_EditorClassIdentifier: - baseController: {fileID: 440165964} - teleportController: {fileID: 1423342052} - uiController: {fileID: 514757336} - teleportModeActivate: {fileID: 1263111715868034790, guid: de2411ef647d9f24d981120efb63e621, type: 3} - teleportModeCancel: {fileID: 737890489006591557, guid: de2411ef647d9f24d981120efb63e621, type: 3} - uiModeActivate: {fileID: 1201092935185683357, guid: de2411ef647d9f24d981120efb63e621, type: 3} - turn: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - move: {fileID: 6972639530819350904, guid: de2411ef647d9f24d981120efb63e621, type: 3} - translateAnchor: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - rotateAnchor: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - selectState: - enabled: 0 - m_ID: 1 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - teleportState: - enabled: 0 - m_ID: 2 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - interactState: - enabled: 0 - m_ID: 3 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - uiState: - enabled: 0 - m_ID: 4 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &1784977340 +--- !u!1 &6359506408514918193 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -12481,344 +14987,368 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1784977341} + - component: {fileID: 9069410611224085996} + - component: {fileID: 9011526009913063836} m_Layer: 0 - m_Name: Little_Palm_Left + m_Name: Right Controller Teleport Stabilized Origin m_TagString: Untagged m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1784977341 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1784977340} - m_LocalRotation: {x: 0.99290055, y: -0.033564012, z: 0.11202527, w: 0.02173406} - m_LocalPosition: {x: -0.048623275, y: 0.0027686262, z: -0.026522674} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2110589559} - m_Father: {fileID: 105739408} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1785665711 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2121825122} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalPosition.x - value: 0.049998768 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalPosition.y - value: 1.7 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.w - value: 0.7071068 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.y - value: 0.7071068 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: c434c7521ce308c46bde59286f6b7998, type: 2} - - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_Name - value: TouchPanel - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} ---- !u!1 &1785665712 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - m_PrefabInstance: {fileID: 1785665711} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1785665713 -MonoBehaviour: + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6423679583386327495 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785665712} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - touchStarted: - m_PersistentCalls: - m_Calls: [] - touchEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1785665714 + m_GameObject: {fileID: 6715956624062698777} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.007800013, y: 0.0013757758, z: 0.0055} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 562656882107642631} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6436482240471706213 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785665712} + m_GameObject: {fileID: 6436482240471706217} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} m_Name: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 m_InteractionLayers: - m_Bits: 1 - m_DistanceCalculationMode: 1 - m_SelectMode: 0 - m_FocusMode: 1 - m_CustomReticle: {fileID: 0} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] + m_Bits: 2 + m_Handedness: 1 + m_AttachTransform: {fileID: 7500196382170294074} + m_KeepSelectedTargetValid: 0 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} m_HoverEntered: m_PersistentCalls: m_Calls: [] m_HoverExited: m_PersistentCalls: m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] m_SelectEntered: m_PersistentCalls: m_Calls: [] m_SelectExited: m_PersistentCalls: m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] m_StartingHoverFilters: [] m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 36843f28-4fd5-4729-b5a6-afe92ef11597 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 1a51c331-470d-4462-b8e1-2522a24bd40c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 0ace7244-e61f-4e60-8d0b-2ef8c3ae51af + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: bdf06a24-21b3-4f27-a8a3-72086e6c7f00 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -5982496924579745919, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -4289430672226363583, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_LineType: 1 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 4551018433386045865} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 10 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 50 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 256 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_AutoDeselect: 0 + m_TimeToAutoDeselect: 1 + m_EnableUIInteraction: 0 + m_BlockInteractionsWithScreenSpaceUI: 0 + m_BlockUIOnInteractableSelection: 1 + m_ManipulateAttachTransform: 1 + m_UseForceGrab: 0 + m_RotateSpeed: 180 + m_TranslateSpeed: 0 + m_RotateReferenceFrame: {fileID: 0} + m_RotateMode: 1 + m_UIHoverEntered: m_PersistentCalls: m_Calls: [] - m_OnDeactivate: + m_UIHoverExited: m_PersistentCalls: m_Calls: [] - m_AttachTransform: {fileID: 0} - m_SecondaryAttachTransform: {fileID: 0} - m_UseDynamicAttach: 0 - m_MatchAttachPosition: 1 - m_MatchAttachRotation: 1 - m_SnapToColliderVolume: 1 - m_ReinitializeDynamicAttachEverySingleGrab: 1 - m_AttachEaseInTime: 0.15 - m_MovementType: 1 - m_VelocityDamping: 1 - m_VelocityScale: 1 - m_AngularVelocityDamping: 1 - m_AngularVelocityScale: 1 - m_TrackPosition: 1 - m_SmoothPosition: 0 - m_SmoothPositionAmount: 5 - m_TightenPosition: 0.5 - m_TrackRotation: 1 - m_SmoothRotation: 0 - m_SmoothRotationAmount: 5 - m_TightenRotation: 0.5 - m_TrackScale: 1 - m_SmoothScale: 0 - m_SmoothScaleAmount: 8 - m_TightenScale: 0.1 - m_ThrowOnDetach: 1 - m_ThrowSmoothingDuration: 0.25 - m_ThrowSmoothingCurve: - serializedVersion: 2 - m_Curve: - - 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: 4 - m_ThrowVelocityScale: 1.5 - m_ThrowAngularVelocityScale: 1 - m_ForceGravityOnDetach: 0 - m_RetainTransformParent: 1 - m_AttachPointCompatibilityMode: 0 - m_StartingSingleGrabTransformers: [] - m_StartingMultipleGrabTransformers: [] - m_AddDefaultGrabTransformers: 1 - isTouchable: 1 - isGrabbable: 0 - isUsable: 0 ---- !u!54 &1785665715 -Rigidbody: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785665712} - serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!114 &1785665716 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785665712} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 87dda0b1c10254438e10fb84f67942a6 - uniqueName: TouchPanel_1 - tags: [] ---- !u!65 &1785665720 -BoxCollider: + m_EnableARRaycasting: 0 + m_OccludeARHitsWith3DObjects: 0 + m_OccludeARHitsWith2DObjects: 0 + m_ScaleMode: 0 + m_UIPressInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: 54867c8e-3650-4605-a53c-ee8ffb351dcf + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 257d8673-0295-4ff5-b278-e63d20cd918b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 8c6b1aac-a242-4bf4-a5b3-bfad6e83b638 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TranslateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Translate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 0f9fd0ee-650d-41a6-ab30-2a036c425c21 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RotateManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Rotate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: cadca2d2-f642-4efc-a222-c1827be3e896 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -7363382999065477798, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_DirectionalManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Directional Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 472cbca3-7add-47a9-a5fc-73d3d10107aa + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8811388872089202044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleToggleInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Scale Toggle + m_Type: 1 + m_ExpectedControlType: + m_Id: 692a9304-a2fd-4dbd-9e2f-2fb4b6154f1c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Scale Toggle Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: d0cf082b-f2d7-4100-b069-651cf2820425 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ScaleOverTimeInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Over Time + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 6f835f0d-f1c2-461c-b8bc-edc587e89149 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleDistanceDeltaInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Distance Delta + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 9140e1d5-f197-46d4-88c2-a02441edeac5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!4 &6436482240471706216 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785665712} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 + m_GameObject: {fileID: 6436482240471706217} serializedVersion: 2 - m_Size: {x: 0.20000012, y: 0.2121321, z: 0.12727931} - m_Center: {x: 0.00000023841858, y: 0.03535535, z: -0.06363918} ---- !u!114 &1785665721 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785665712} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3292d68f2db97a8418ca72f5b8bb5b69, type: 3} - m_Name: - m_EditorClassIdentifier: - defaultColor: - serializedVersion: 2 - rgba: 4294918375 - touchingColor: - serializedVersion: 2 - rgba: 4291359096 - materialIndex: 1 - materialColorProperty: _EmissionColor ---- !u!1 &1815494800 + 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: 8616564067840974700} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6436482240471706217 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -12826,223 +15356,364 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1815494806} - - component: {fileID: 1815494805} - - component: {fileID: 1815494804} - - component: {fileID: 1815494803} - - component: {fileID: 1815494802} - - component: {fileID: 1815494801} + - component: {fileID: 6436482240471706216} + - component: {fileID: 6436482240471706213} + - component: {fileID: 6436482240471706218} + - component: {fileID: 6436482240471706219} + - component: {fileID: 1584020808580632069} + - component: {fileID: 5561663728500147025} m_Layer: 0 - m_Name: PROCESS_CONTROLLER + m_Name: Left Teleport Interactor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1815494801 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815494800} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 73d6fe59e43872c428b2ac1a9fd85e28, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1815494802 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815494800} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 05625e2da85e44bd82228234d8676e45, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1815494803 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815494800} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Actions: {fileID: -944628639613478452, guid: 6b02a44c110911f489b56953cced3f56, type: 3} - m_NotificationBehavior: 3 - m_UIInputModule: {fileID: 0} - m_DeviceLostEvent: - m_PersistentCalls: - m_Calls: [] - m_DeviceRegainedEvent: - m_PersistentCalls: - m_Calls: [] - m_ControlsChangedEvent: - m_PersistentCalls: - m_Calls: [] - m_ActionEvents: [] - m_NeverAutoSwitchControlSchemes: 0 - m_DefaultControlScheme: - m_DefaultActionMap: Default - m_SplitScreenIndex: -1 - m_Camera: {fileID: 0} ---- !u!114 &1815494804 -MonoBehaviour: +--- !u!120 &6436482240471706218 +LineRenderer: + serializedVersion: 2 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815494800} + m_GameObject: {fileID: 6436482240471706217} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bff89a8a00803ab45922cc05aaa080b7, type: 3} - m_Name: - m_EditorClassIdentifier: - processControllerQualifiedName: VRBuilder.UX.StandardProcessController, VRBuilder.Core, - Version=0.0.0.0, Culture=neutral, PublicKeyToken=null - autoStartProcess: 1 - useCustomPrefab: 0 - customPrefab: {fileID: 0} ---- !u!114 &1815494805 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, 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_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_Positions: [] + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 0 +--- !u!114 &6436482240471706219 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815494800} + m_GameObject: {fileID: 6436482240471706217} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9e218973d8ce7b141a938229d9877d26, type: 3} + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} m_Name: m_EditorClassIdentifier: - lockSceneObjectsOnSceneStart: 1 ---- !u!4 &1815494806 + m_LineWidth: 0.01 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_AutoAdjustLineLength: 0 + m_MinLineLength: 0.02 + m_UseDistanceToHitAsMaxLineLength: 1 + m_LineRetractionDelay: 0.5 + m_LineLengthChangeSpeed: 12 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + m_SetLineColorGradient: 1 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 0.1254902, g: 0.5882353, b: 0.9529412, a: 0.5882353} + key1: {r: 0.1254902, g: 0.5882353, b: 0.9529412, a: 0.5882353} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 0.5882353} + key1: {r: 1, g: 0, b: 0, a: 0.5882353} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 8748868027195207512, guid: 0c9c836faf8b16c4896fef2e890b91db, type: 3} + m_BlockedReticle: {fileID: 3177232254315139758, guid: 8963c70806d0e3441802c7bbc8162b5c, type: 3} + m_StopLineAtFirstRaycastHit: 1 + m_StopLineAtSelection: 0 + m_SnapEndpointIfAvailable: 1 + m_LineBendRatio: 0.5 + m_BendingEnabledInteractionLayers: + m_Bits: 4294967295 + m_OverrideInteractorLineOrigin: 1 + m_LineOriginTransform: {fileID: 435968174823160039} + m_LineOriginOffset: 0 +--- !u!4 &6439302189377213059 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1815494800} + m_GameObject: {fileID: 1585487133833722341} + 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_RootOrder: 1 + m_Children: + - {fileID: 1116454838511533587} + m_Father: {fileID: 5091508808143647695} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1816767293 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1816767294} - - component: {fileID: 1816767295} - m_Layer: 0 - m_Name: Collider (3) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1816767294 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1816767293} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: 0.245, y: 0, z: -0.0040003136} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 660021081} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!136 &1816767295 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1816767293} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.02 - m_Height: 0.2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &1831340543 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - m_PrefabInstance: {fileID: 1006305323} - m_PrefabAsset: {fileID: 0} ---- !u!4 &1831340544 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: e0eb73a744a54e74a98efc5eed3a5d4d, type: 3} - m_PrefabInstance: {fileID: 1006305323} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1831340547 -MonoBehaviour: +--- !u!23 &6634329706920098115 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1831340543} + m_GameObject: {fileID: 5346970755468595171} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 9312dac0932f8845822278eeaf6370d4 - uniqueName: Shield - tags: [] ---- !u!1 &1836407204 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1836407205} - m_Layer: 0 - m_Name: Middle_1_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1836407205 + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!4 &6640532333174287149 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1836407204} - m_LocalRotation: {x: 0.0013464622, y: -0.0029157132, z: -0.22192244, w: 0.9750591} - m_LocalPosition: {x: -0.039041024, y: 0.0000006005168, z: 0.00000011503696} + m_GameObject: {fileID: 1940911703554234342} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, 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: 1714243700} - m_Father: {fileID: 2030842803} - m_RootOrder: 0 + - {fileID: 201644940689064429} + - {fileID: 375804120739163510} + - {fileID: 6012339187599116293} + - {fileID: 8026185166414060481} + m_Father: {fileID: 2623177013501468337} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1854500746 +--- !u!1 &6663198538617514225 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13050,125 +15721,19 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1854500747} - - component: {fileID: 1854500748} + - component: {fileID: 6314179924109280940} + - component: {fileID: 5050075178227827815} + - component: {fileID: 4682167229149026278} + - component: {fileID: 3725507820287279224} + - component: {fileID: 3046743599406995995} m_Layer: 0 - m_Name: ShieldLight - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1854500747 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854500746} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1831340544} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!108 &1854500748 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1854500746} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 2 - m_Shape: 0 - m_Color: {r: 1, g: 0, b: 1, a: 1} - m_Intensity: 2 - m_Range: 3 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 1 - 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!1 &1883760418 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1883760419} - m_Layer: 8 - m_Name: Anchor + m_Name: Right Controller m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1883760419 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1883760418} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.00000005960466, y: 0.00999999, z: -0.000000059604638} - m_LocalScale: {x: 0.99999976, y: 1, z: 0.99999976} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 375530500} - m_Father: {fileID: 2014095924} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1889204433 +--- !u!1 &6715956624062698777 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13176,30 +15741,17 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1889204434} + - component: {fileID: 6423679583386327495} + - component: {fileID: 9202195206050319326} + - component: {fileID: 4149245136241676408} m_Layer: 0 - m_Name: Thumb_Tip_Left + m_Name: Button_A m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1889204434 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1889204433} - m_LocalRotation: {x: 0.0000000018626451, y: 0.000000005587936, z: -0.000000014901163, w: 1} - m_LocalPosition: {x: -0.029552078, y: 0.0000000667572, z: -0.00000015109777} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 283625090} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1906445693 +--- !u!1 &6719937617212664874 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13207,31 +15759,17 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1906445694} + - component: {fileID: 6012339187599116293} + - component: {fileID: 7191133085388983275} + - component: {fileID: 1491353634768997898} m_Layer: 0 - m_Name: Index_Palm_Left + m_Name: ThumbStick m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1906445694 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1906445693} - m_LocalRotation: {x: 0.9956038, y: -0.056100972, z: -0.070293866, w: -0.026165245} - m_LocalPosition: {x: -0.05402496, y: 0.0060563944, z: 0.02002304} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 189572713} - m_Father: {fileID: 105739408} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1909973945 +--- !u!1 &6819434276863307335 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13239,35 +15777,17 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1909973946} - m_Layer: 0 - m_Name: BigHandLeft + - component: {fileID: 6160975337800433054} + - component: {fileID: 654221994010234037} + - component: {fileID: 188081216333578103} + m_Layer: 2 + m_Name: VRB_XR_Setup m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1909973946 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1909973945} - 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: 628411316} - - {fileID: 1289966973} - - {fileID: 2139940513} - - {fileID: 388840135} - - {fileID: 391997631} - m_Father: {fileID: 54233951} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1968119229 +--- !u!1 &6825299945718180586 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13275,571 +15795,265 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1968119230} + - component: {fileID: 8164615715196189742} + - component: {fileID: 7802848864819254962} + - component: {fileID: 3082561608921768464} m_Layer: 0 - m_Name: Ring_0_Left + m_Name: Button_Home m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1968119230 +--- !u!4 &6835903852850722140 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1968119229} - m_LocalRotation: {x: 0.0037497291, y: 0.028980805, z: -0.08957866, w: 0.995551} - m_LocalPosition: {x: -0.060953286, y: -0.00000024797393, z: 0.00000015258789} + m_GameObject: {fileID: 1287286360104146889} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.012, y: 0.0013757758, z: -0.009} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 995671520} - m_Father: {fileID: 1142522481} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 562656882107642631} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1969415632 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 3396913584297481876, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - m_PrefabInstance: {fileID: 660021079} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1969415634 +--- !u!114 &6836677845152990828 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1969415632} + m_GameObject: {fileID: 7246305238969106472} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: aef51f1ab9c2c94585af2ac8c731f577 - uniqueName: Ring - tags: [] ---- !u!1001 &1977887389 -PrefabInstance: + m_SendPointerHoverToParent: 1 + m_ClickSpeed: 0.3 + m_MoveDeadzone: 0.6 + m_RepeatDelay: 0.5 + m_RepeatRate: 0.1 + m_TrackedDeviceDragThresholdMultiplier: 2 + m_TrackedScrollDeltaMultiplier: 5 + m_ActiveInputMode: 1 + m_EnableXRInput: 1 + m_EnableMouseInput: 1 + m_EnableTouchInput: 1 + m_PointAction: {fileID: 2869410428622933342, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_LeftClickAction: {fileID: 1855836014308820768, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_MiddleClickAction: {fileID: -6289560987278519447, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RightClickAction: {fileID: -2562941478296515153, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ScrollWheelAction: {fileID: 5825226938762934180, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_NavigateAction: {fileID: -7967456002180160679, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SubmitAction: {fileID: 3994978066732806534, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_CancelAction: {fileID: 2387711382375263438, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_EnableBuiltinActionsAsFallback: 1 + m_EnableGamepadInput: 1 + m_EnableJoystickInput: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel +--- !u!210 &6850205770236633239 +SortingGroup: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2011926244} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalPosition.y - value: 0.6499 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalPosition.z - value: -0.95 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: -90 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: -7511558181221131132, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: c434c7521ce308c46bde59286f6b7998, type: 2} - - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_Name - value: TouchPanel - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} ---- !u!1 &1977887390 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 6db30c55efbe76c4c864604a925873d6, type: 3} - m_PrefabInstance: {fileID: 1977887389} + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!65 &1977887391 -BoxCollider: + m_GameObject: {fileID: 1904414998833462851} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 + m_SortAtRoot: 0 +--- !u!23 &6903133021200428321 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1977887390} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2927895350547920926} m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.20000003, y: 0.2121321, z: 0.12727925} - m_Center: {x: 0, y: 0.03535535, z: -0.063639626} ---- !u!114 &1977887393 + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!114 &6935133340437900737 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1977887390} + m_GameObject: {fileID: 7246305238969106472} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d1bcb89c5e4474247b7923fe1388ad1a, type: 3} + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} m_Name: m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 1 - m_DistanceCalculationMode: 1 - m_SelectMode: 0 - m_FocusMode: 1 - m_CustomReticle: {fileID: 0} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_AttachTransform: {fileID: 0} - m_SecondaryAttachTransform: {fileID: 0} - m_UseDynamicAttach: 0 - m_MatchAttachPosition: 1 - m_MatchAttachRotation: 1 - m_SnapToColliderVolume: 1 - m_ReinitializeDynamicAttachEverySingleGrab: 1 - m_AttachEaseInTime: 0.15 - m_MovementType: 1 - m_VelocityDamping: 1 - m_VelocityScale: 1 - m_AngularVelocityDamping: 1 - m_AngularVelocityScale: 1 - m_TrackPosition: 1 - m_SmoothPosition: 0 - m_SmoothPositionAmount: 5 - m_TightenPosition: 0.5 - m_TrackRotation: 1 - m_SmoothRotation: 0 - m_SmoothRotationAmount: 5 - m_TightenRotation: 0.5 - m_TrackScale: 1 - m_SmoothScale: 0 - m_SmoothScaleAmount: 8 - m_TightenScale: 0.1 - m_ThrowOnDetach: 1 - m_ThrowSmoothingDuration: 0.25 - m_ThrowSmoothingCurve: - serializedVersion: 2 - m_Curve: - - 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: 4 - m_ThrowVelocityScale: 1.5 - m_ThrowAngularVelocityScale: 1 - m_ForceGravityOnDetach: 0 - m_RetainTransformParent: 1 - m_AttachPointCompatibilityMode: 0 - m_StartingSingleGrabTransformers: [] - m_StartingMultipleGrabTransformers: [] - m_AddDefaultGrabTransformers: 1 - isTouchable: 1 - isGrabbable: 0 - isUsable: 0 ---- !u!54 &1977887394 -Rigidbody: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &6936079037490303986 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1977887390} + m_GameObject: {fileID: 3412231637938515386} serializedVersion: 2 - m_Mass: 1 - m_Drag: 0 - m_AngularDrag: 0.05 - m_UseGravity: 1 - m_IsKinematic: 1 - m_Interpolate: 0 - m_Constraints: 0 - m_CollisionDetection: 0 ---- !u!114 &1977887395 -MonoBehaviour: + 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: 1008284944111624865} + - {fileID: 5091508808143647695} + m_Father: {fileID: 6160975337800433054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6947719085245969615 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1977887390} + m_GameObject: {fileID: 4662746224129893333} + m_Mesh: {fileID: -1120971793077124694, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!33 &6982170933871747373 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1287286360104146889} + m_Mesh: {fileID: 8449303727733987256, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &7096558086162139218 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 493922041563270451} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: abba5cf45ea87a4fa9ecd84b156589f3 - uniqueName: TouchPanel - tags: [] ---- !u!114 &1977887396 -MonoBehaviour: + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &7112287131004872226 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8616564067840974700} + - component: {fileID: 4475788245870897129} + - component: {fileID: 5259891643034678626} + - component: {fileID: 4470736144836715513} + - component: {fileID: 1124281641288727228} + m_Layer: 0 + m_Name: Left Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!33 &7191133085388983275 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1977887390} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 573907d717ac4934eb429f2f5978a132, type: 3} - m_Name: - m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - touchStarted: - m_PersistentCalls: - m_Calls: [] - touchEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &1977887397 -MonoBehaviour: + m_GameObject: {fileID: 6719937617212664874} + m_Mesh: {fileID: -2564423107879867638, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!1 &7193882759593642188 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1977887390} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 3292d68f2db97a8418ca72f5b8bb5b69, type: 3} - m_Name: - m_EditorClassIdentifier: - defaultColor: - serializedVersion: 2 - rgba: 4294918375 - touchingColor: - serializedVersion: 2 - rgba: 4291359096 - materialIndex: 1 - materialColorProperty: _EmissionColor ---- !u!1001 &1978455790 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1756511964} - m_Modifications: - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: uniqueId - value: 3a6bac90-18f1-480a-9883-c7486ede5c1b - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.size - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[0] - value: 66 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[1] - value: 80 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[2] - value: 129 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[3] - value: 144 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[4] - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[5] - value: 62 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[6] - value: 126 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[7] - value: 79 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[8] - value: 139 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[9] - value: 227 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[10] - value: 135 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[11] - value: 97 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[12] - value: 209 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[13] - value: 122 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[14] - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 1978455793, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[15] - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: uniqueId - value: 58b7201a-9d6a-464f-8869-ffa708ccc6f8 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.size - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[0] - value: 217 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[1] - value: 239 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[2] - value: 192 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[3] - value: 170 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[4] - value: 73 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[5] - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[6] - value: 195 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[7] - value: 78 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[8] - value: 152 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[9] - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[10] - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[11] - value: 248 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[12] - value: 153 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[13] - value: 120 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[14] - value: 129 - objectReference: {fileID: 0} - - target: {fileID: 2999420514030884948, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: serializedGuid.serializedGuid.Array.data[15] - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 5562819036174228372, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_Name - value: LightSabre - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalPosition.x - value: 0.4 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalPosition.y - value: 1.18 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalPosition.z - value: 0.6 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalRotation.w - value: 0.7071068 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalRotation.x - value: -0.7071068 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -90 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} ---- !u!4 &1978455791 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 6459590485641253054, guid: 871cf8bed45c27f46a347df0553bdcec, type: 3} - m_PrefabInstance: {fileID: 1978455790} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1982479363 + serializedVersion: 6 + m_Component: + - component: {fileID: 9061978664655599187} + - component: {fileID: 8413140073912818780} + m_Layer: 2 + m_Name: Move + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!1 &7246305238969106472 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13847,30 +16061,25 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1982479364} + - component: {fileID: 7646452383646115825} + - component: {fileID: 6935133340437900737} + - component: {fileID: 6836677845152990828} m_Layer: 0 - m_Name: RayOrigin + m_Name: EventSystem m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1982479364 -Transform: +--- !u!33 &7276770494045272690 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1982479363} - m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} - m_LocalPosition: {x: 0.0215, y: 0.0244, z: -0.0387} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 496138948} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0} ---- !u!1 &1987239406 + m_GameObject: {fileID: 8660961134141084188} + m_Mesh: {fileID: -8653722315008560443, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!1 &7311542647873375615 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -13878,135 +16087,172 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1987239407} - - component: {fileID: 1987239408} - m_Layer: 0 - m_Name: HandLeft + - component: {fileID: 1574911661580200921} + - component: {fileID: 218416012922712036} + m_Layer: 2 + m_Name: Teleportation m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1987239407 -Transform: +--- !u!114 &7318653890612384413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5294060598795513720} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_EnableFreeXMovement: 1 + m_EnableFreeYMovement: 0 + m_EnableFreeZMovement: 1 + m_UseGravity: 1 + m_GravityApplicationMode: 0 + m_ControllerTransform: {fileID: 6314179924109280940} + m_EnableMoveWhileSelecting: 0 + m_MoveFactor: 1 + m_GrabMoveInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Grab Move + m_Type: 1 + m_ExpectedControlType: + m_Id: 67220c99-f046-4e98-aa6f-d84114cad173 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Grab Move Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: ed114d26-3fbf-41fc-80fa-9675240038c5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 15759602096507913, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 15759602096507913, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_GrabMoveAction: + m_UseReference: 1 + m_Action: + m_Name: Grab Move + m_Type: 0 + m_ExpectedControlType: + m_Id: de56d195-bf90-4347-9982-6bf8ffa3420c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} +--- !u!114 &7327968346056529354 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1987239406} - 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: 1015737782} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1987239408 -SkinnedMeshRenderer: + m_GameObject: {fileID: 5011224878527212036} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48139a683d3b4ac3a37cd5d24f71acf1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CastOrigin: {fileID: 5231230020209156054} + m_EnableStabilization: 0 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_AimTargetObject: {fileID: 0} + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_PhysicsTriggerInteraction: 1 + m_CastRadius: 0.1 +--- !u!114 &7362504528146312672 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1987239406} + m_GameObject: {fileID: 7777894093816881952} 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: 3 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 2ab12257a86442740ba3dc5694817baa, 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -1400252653696632910, guid: 3cc1bfa741063664e8b13a63afcd062f, type: 3} - m_Bones: - - {fileID: 512971542} - - {fileID: 1352490008} - - {fileID: 626500155} - - {fileID: 1481350550} - - {fileID: 795450758} - - {fileID: 1307398688} - - {fileID: 1078070624} - - {fileID: 1430860603} - - {fileID: 995671520} - - {fileID: 1968119230} - - {fileID: 2110589559} - - {fileID: 189572713} - - {fileID: 1784977341} - - {fileID: 1142522481} - - {fileID: 1675801262} - - {fileID: 1906445694} - - {fileID: 283625090} - - {fileID: 1074416408} - - {fileID: 25957662} - - {fileID: 105739408} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 105739408} - m_AABB: - m_Center: {x: -0.10444905, y: -0.0046319105, z: 0.015674934} - m_Extent: {x: 0.10534169, y: 0.05054314, z: 0.081589594} - m_DirtyAABB: 0 ---- !u!1 &2008175315 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: acf8029ebcbe52b4488ed515778fc70b, type: 3} - m_PrefabInstance: {fileID: 660021079} - m_PrefabAsset: {fileID: 0} ---- !u!65 &2008175316 -BoxCollider: + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e9f365cf844c03449bc8973eead2c3c1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_TurnAmount: 45 + m_DebounceTime: 0.5 + m_EnableTurnLeftRight: 1 + m_EnableTurnAround: 1 + m_DelayTime: 0 + m_LeftHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Left Hand Snap Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 536e141d-ee23-4272-b0fd-3984d1655f02 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -7374733323251553461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RightHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Right Hand Snap Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: b17ca378-4740-48c7-abe1-7f35bce317e9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8525429354371678379, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!4 &7379614265931015409 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008175315} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 + m_GameObject: {fileID: 1971586465853045759} serializedVersion: 2 - m_Size: {x: 1, y: 0.15393993, z: 1} - m_Center: {x: 0, y: 0.07696997, z: 0} ---- !u!65 &2008175317 -BoxCollider: + m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: -0.0020741627, z: -0.0052528577} + m_LocalScale: {x: 0.982392, y: 1.55, z: 0.982392} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9191415921813784219} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7379832885526606836 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008175315} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 0.2, y: 3.5721025, z: 0.2} - m_Center: {x: 0, y: 1.7860513, z: 0} ---- !u!1 &2008584328 + m_GameObject: {fileID: 8676005946244915226} + m_Mesh: {fileID: -4189514412694937182, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!1 &7393986751170059213 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -14014,702 +16260,819 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2008584333} - - component: {fileID: 2008584329} - - component: {fileID: 2008584332} - - component: {fileID: 2008584331} - - component: {fileID: 2008584330} - - component: {fileID: 2008584334} + - component: {fileID: 5905294995069660909} + - component: {fileID: 838948447543983496} m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera + m_Name: XR Interaction Manager + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!20 &2008584329 -Camera: +--- !u!4 &7425273342673865614 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008584328} - m_Enabled: 1 + m_GameObject: {fileID: 2583086854053857846} 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.01 - 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!114 &2008584330 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.952414e-10, y: -0.012954317, z: -0.020195028} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 9191415921813784219} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7474092368878982165 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008584328} + m_GameObject: {fileID: 2651624948322462526} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Script: {fileID: 11500000, guid: 099767effc44a8e478d295d0c4d98289, type: 3} m_Name: m_EditorClassIdentifier: - m_TrackingType: 0 - m_UpdateType: 0 - m_IgnoreTrackingState: 0 - m_PositionInput: - m_UseReference: 0 - m_Action: - m_Name: Position + m_ThumbstickTransform: {fileID: 6012339187599116293} + m_StickRotationRange: {x: 30, y: 30} + m_StickInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Thumbstick m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 + m_ExpectedControlType: Vector2 + m_Id: aa13759d-7cf9-4d6f-aaf3-41bd3fe4e97e m_Processors: m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 + m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_RotationInput: - m_UseReference: 0 - m_Action: - m_Name: Rotation + m_InputActionReference: {fileID: -8666952849799569744, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TriggerTransform: {fileID: 4387283731022205860} + m_TriggerXAxisRotationRange: {x: 0, y: -15} + m_TriggerInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Trigger m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 + m_ExpectedControlType: Axis + m_Id: 2d080dc4-1ed2-46db-b106-3bbc94b9243c m_Processors: m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 + m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_TrackingStateInput: - m_UseReference: 0 - m_Action: - m_Name: Tracking State Input + m_InputActionReference: {fileID: 83097790271614945, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 + m_GripTransform: {fileID: 2467290615543809192} + m_GripRightRange: {x: -0.0125, y: -0.011} + m_GripInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Grip m_Type: 0 - m_ExpectedControlType: - m_Id: 78fa8c8c-b04c-41be-bcb0-b08932ba313a + m_ExpectedControlType: Axis + m_Id: 2b6a1672-1377-4cbc-9b16-5a50bd489433 m_Processors: m_Interactions: m_SingletonActionBindings: [] m_Flags: 0 - m_Reference: {fileID: 0} - m_PositionAction: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_RotationAction: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 ---- !u!81 &2008584331 -AudioListener: + m_InputActionReference: {fileID: 187161793506945269, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!114 &7474092368878982166 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2651624948322462526} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Name: + m_EditorClassIdentifier: + serializedGuid: + serializedGuid: f3a79bdc26bfe94489815e40479fb83e + uniqueName: + guids: [] + tags: [] +--- !u!4 &7500196382170294074 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3637632924563700266} + 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: 4551018433386045865} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7554377125383235881 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5091508808143647695} + - component: {fileID: 2401395827670043856} + - component: {fileID: 4545233648036942519} + m_Layer: 2 + m_Name: Locomotion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7646452383646115825 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008584328} - m_Enabled: 1 ---- !u!124 &2008584332 -Behaviour: + m_GameObject: {fileID: 7246305238969106472} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.028, y: 0, z: -5.929} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6160975337800433054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7685375935220452656 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008584328} + m_GameObject: {fileID: 5376927054557213438} m_Enabled: 1 ---- !u!4 &2008584333 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48139a683d3b4ac3a37cd5d24f71acf1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CastOrigin: {fileID: 5155727875416655660} + m_EnableStabilization: 0 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_AimTargetObject: {fileID: 0} + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_PhysicsTriggerInteraction: 1 + m_CastRadius: 0.1 +--- !u!4 &7726587846299096489 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008584328} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_GameObject: {fileID: 8836885643322015679} + 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: 65634329} - m_RootOrder: 0 + m_Children: + - {fileID: 3242496131495290077} + - {fileID: 1058830439912984803} + m_Father: {fileID: 4996353036765796752} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!82 &2008584334 -AudioSource: +--- !u!1 &7777894093816881952 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 528766804999492054} + - component: {fileID: 7362504528146312672} + - component: {fileID: 573887576842515142} + m_Layer: 2 + m_Name: Turn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!33 &7790304902317439964 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9024350238825505196} + m_Mesh: {fileID: 22788929071467060, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!33 &7802848864819254962 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2008584328} + m_GameObject: {fileID: 6825299945718180586} + m_Mesh: {fileID: -8429650256770907399, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!114 &7859142163541605441 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5607850261338113084} 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!1001 &2011926243 -PrefabInstance: + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 6133702203495907637} + m_HapticImpulsePlayer: {fileID: 3725507820287279224} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 +--- !u!114 &7930453843509860390 +MonoBehaviour: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1192304054} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalPosition.z - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b8d4fff00195aa4792d649902e68bcd, type: 2} - - target: {fileID: -7511558181221131132, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 525bac3f393fa1349a1508822fb6abb0, type: 2} - - target: {fileID: -7511558181221131132, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_Materials.Array.data[2] - value: - objectReference: {fileID: 2100000, guid: 05eaaf1738723ca4a95a70d7a20e71b3, type: 2} - - target: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_Name - value: Transformer - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_StaticEditorFlags - value: 4294967295 - objectReference: {fileID: 0} - - target: {fileID: 4287207148634975974, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 2a4df160d58d76d4dac4a97bfb6dae35, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} ---- !u!4 &2011926244 stripped + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8557682003305897263} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 1 + m_AttachTransform: {fileID: 4403736303906808308} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_PokeDepth: 0.1 + m_PokeWidth: 0.0075 + m_PokeSelectWidth: 0.015 + m_PokeHoverRadius: 0.015 + m_PokeInteractionOffset: 0.005 + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_PhysicsTriggerInteraction: 1 + m_RequirePokeFilter: 1 + m_EnableUIInteraction: 1 + m_DebugVisualizationsEnabled: 0 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] +--- !u!4 &8026185166414060481 Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - m_PrefabInstance: {fileID: 2011926243} - m_PrefabAsset: {fileID: 0} ---- !u!1 &2011926245 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: d8aea3ae5508afb48a29b288fed4a3d1, type: 3} - m_PrefabInstance: {fileID: 2011926243} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!114 &2011926246 + m_GameObject: {fileID: 2927895350547920926} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775877, y: 0.00152745, z: -0.0074315914} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6640532333174287149} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8096066991363713888 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011926245} + m_GameObject: {fileID: 564343745990615316} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} + m_Script: {fileID: 11500000, guid: c416f1a5c494e224fb5564fd1362b50d, type: 3} m_Name: m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 015b2c35646e844ab0f6b7d695b2ae03 - uniqueName: Button - tags: [] ---- !u!1 &2014095923 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2014095924} - - component: {fileID: 2014095928} - - component: {fileID: 2014095927} - - component: {fileID: 2014095926} - - component: {fileID: 2014095925} - m_Layer: 8 - m_Name: Teleportation Spot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2014095924 -Transform: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 0 + m_AttachTransform: {fileID: 5473337241521369555} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 26dcb486-2cd5-4bf0-83a4-8252a6419ca1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: d589f510-c88e-41dc-89ee-4accd74ded87 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 1b75ac5e-63d2-4c5c-9b86-0fe382e6b137 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: fde38f1d-c7ff-4233-b8ba-2548488943d7 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 4182470257755192204} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 0 + m_HitClosestOnly: 0 + m_HoverToSelect: 1 + m_HoverTimeToSelect: 1 + m_AutoDeselect: 1 + m_TimeToAutoDeselect: 0.25 + m_EnableUIInteraction: 1 + m_BlockInteractionsWithScreenSpaceUI: 0 + m_BlockUIOnInteractableSelection: 1 + m_ManipulateAttachTransform: 0 + m_UseForceGrab: 0 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_RotateReferenceFrame: {fileID: 0} + m_RotateMode: 0 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_EnableARRaycasting: 0 + m_OccludeARHitsWith3DObjects: 0 + m_OccludeARHitsWith2DObjects: 0 + m_ScaleMode: 0 + m_UIPressInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: 8e16e22c-3195-4e76-b0d2-9ec60d8bfc8e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: f2af0d9f-965a-4778-accc-36828a6e40b8 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 83ec219e-cbbd-4b69-9013-f330cea06247 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TranslateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Translate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 78fd2d8b-06b9-4583-8d46-a896cee22152 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RotateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Rotate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 2941b9e4-5f6c-48d5-9338-136ff3a60e62 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_DirectionalManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Directional Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 4decd4bd-22c4-4e97-af9b-f22d09a3ea8e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleToggleInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Scale Toggle + m_Type: 1 + m_ExpectedControlType: + m_Id: 4e7a5ca5-86e4-4d9d-9678-01fb7083e39b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Scale Toggle Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 0c82215d-82dc-4f94-a5a2-cd3a7186171a + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ScaleOverTimeInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Over Time + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: ec6d1bcc-90c1-4e80-98a9-7de37426ef90 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleDistanceDeltaInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Distance Delta + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 7e170bb1-3339-4b96-bbd9-61c01cb414db + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 + m_GazeAssistanceCalculation: 1 + m_GazeAssistanceColliderFixedSize: 1 + m_GazeAssistanceColliderScale: 1 + m_GazeAssistanceSnapVolume: {fileID: 0} + m_GazeAssistanceDistanceScaling: 0 + m_ClampGazeAssistanceDistanceScaling: 0 + m_GazeAssistanceDistanceScalingClampValue: 0 +--- !u!137 &8107342546769351320 +SkinnedMeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2014095923} - m_LocalRotation: {x: 0, y: 0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: -0.5, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1883760419} - m_Father: {fileID: 813701130} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0} ---- !u!114 &2014095925 + m_GameObject: {fileID: 3913497244710254555} + 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: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: f5ccd52dc494e054fbe7d7161dcabe25, 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 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 1 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5120762275383614272, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + m_Bones: [] + m_BlendShapeWeights: [] + m_RootBone: {fileID: 0} + m_AABB: + m_Center: {x: 0, y: 0.009045093, z: 0} + m_Extent: {x: 0.0077457884, y: 0.016694028, z: 0.0077457884} + m_DirtyAABB: 0 +--- !u!114 &8108980195671180918 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2014095923} + m_GameObject: {fileID: 3688099937690617217} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 584ad12357614f4fbb5460fdf72e8cc6, type: 3} + m_Script: {fileID: 11500000, guid: 099767effc44a8e478d295d0c4d98289, type: 3} m_Name: m_EditorClassIdentifier: - lockOnParentObjectLock: 1 - teleportEnded: - m_PersistentCalls: - m_Calls: [] - initialized: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &2014095926 + m_ThumbstickTransform: {fileID: 619529927228428335} + m_StickRotationRange: {x: 30, y: 30} + m_StickInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Thumbstick + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 499d6586-a749-4626-8410-e23d3a945a6e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -60998027439631388, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TriggerTransform: {fileID: 7425273342673865614} + m_TriggerXAxisRotationRange: {x: 0, y: -15} + m_TriggerInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Trigger + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 9501238c-1324-4ba4-8e59-8c14278ef44d + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -4289430672226363583, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 + m_GripTransform: {fileID: 8778797924605353090} + m_GripRightRange: {x: -0.0125, y: -0.011} + m_GripInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Grip + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 8d37d0f0-8996-4ad8-bc49-be5eec2ad875 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 6558622148059887818, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!114 &8108980195671180919 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2014095923} + m_GameObject: {fileID: 3688099937690617217} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: serializedGuid: - serializedGuid: f5eb8ec6cdff774a82274c2396bc2513 - uniqueName: Teleportation Spot_2 + serializedGuid: 867e38a6d0e98543be864359a67d09fd + uniqueName: + guids: [] tags: [] ---- !u!65 &2014095927 -BoxCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2014095923} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Size: {x: 1, y: 0.01, z: 1} - m_Center: {x: 0, y: 0.02, z: 0} ---- !u!114 &2014095928 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2014095923} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0193c710a3042c6479b28370a44e0b0f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 2 - m_DistanceCalculationMode: 1 - m_SelectMode: 1 - m_FocusMode: 1 - m_CustomReticle: {fileID: 3819676577015031517, guid: c9ea54082e6151843acb776fb52ed6f7, type: 3} - m_AllowGazeInteraction: 0 - m_AllowGazeSelect: 0 - m_OverrideGazeTimeToSelect: 0 - m_GazeTimeToSelect: 0.5 - m_OverrideTimeToAutoDeselectGaze: 0 - m_TimeToAutoDeselectGaze: 3 - m_AllowGazeAssistance: 0 - m_FirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_LastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_FirstSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_LastSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_FirstFocusEntered: - m_PersistentCalls: - m_Calls: [] - m_LastFocusExited: - m_PersistentCalls: - m_Calls: [] - m_FocusEntered: - m_PersistentCalls: - m_Calls: [] - m_FocusExited: - m_PersistentCalls: - m_Calls: [] - m_Activated: - m_PersistentCalls: - m_Calls: [] - m_Deactivated: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] - m_TeleportationProvider: {fileID: 0} - m_MatchOrientation: 2 - m_MatchDirectionalInput: 0 - m_TeleportTrigger: 3 - m_FilterSelectionByHitNormal: 0 - m_UpNormalToleranceDegrees: 30 - m_Teleporting: - m_PersistentCalls: - m_Calls: [] - m_TeleportAnchorTransform: {fileID: 1883760419} ---- !u!21 &2018913513 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Standard - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: - - _ALPHAPREMULTIPLY_ON - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - 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_Ints: [] - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 3 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 0.4, g: 0.5882353, b: 1, a: 0.19607843} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] ---- !u!1 &2030842802 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2030842803} - m_Layer: 0 - m_Name: Middle_0_Left - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2030842803 +--- !u!4 &8115900070550992636 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2030842802} - m_LocalRotation: {x: 0.037149172, y: -0.0391672, z: -0.020477412, w: 0.9983319} - m_LocalPosition: {x: -0.062340543, y: -0.00000025370625, z: -0.00000015303492} + m_GameObject: {fileID: 2929121276912721625} + 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: - - {fileID: 1836407205} - m_Father: {fileID: 2139940513} - m_RootOrder: 0 + m_Children: [] + m_Father: {fileID: 435968174823160039} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2040506299 +--- !u!1 &8142159310659467549 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -14717,78 +17080,93 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2040506300} + - component: {fileID: 3242496131495290077} + - component: {fileID: 5540061295610303886} + - component: {fileID: 1877690765202205926} + - component: {fileID: 3639374206500600974} m_Layer: 0 - m_Name: AttachTransform + m_Name: Poke m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2040506300 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2040506299} - m_LocalRotation: {x: 0.56707305, y: -0.556724, z: -0.42857817, w: 0.42989233} - m_LocalPosition: {x: -0.09850973, y: 0.018401135, z: -0.006201879} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 54233951} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0.594, y: -105.251, z: -90.602} ---- !u!1 &2074732592 -GameObject: +--- !u!23 &8155571418837613114 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2074732593} - - component: {fileID: 2074732594} - m_Layer: 0 - m_Name: Ball origin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2074732593 + m_GameObject: {fileID: 383170654740640448} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!4 &8164615715196189742 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2074732592} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 2.125, z: -3} - m_LocalScale: {x: 0.2400001, y: 0.24, z: 0.2400001} + m_GameObject: {fileID: 6825299945718180586} + serializedVersion: 2 + m_LocalRotation: {x: 0.18379451, y: -0.00000008593347, z: 0.000000016067828, w: 0.9829647} + m_LocalPosition: {x: 0.0000000071757764, y: -0.0032368493, z: 0.024549427} + m_LocalScale: {x: 1.01935, y: 1.01935, z: 1.01935} m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1743725476} - m_RootOrder: 1 + m_Father: {fileID: 9191415921813784219} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2074732594 -MonoBehaviour: +--- !u!4 &8209315492308156557 +Transform: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2074732592} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} - m_Name: - m_EditorClassIdentifier: - serializedGuid: - serializedGuid: 71e44fecd63a0743bae1b797028b6424 - uniqueName: Ball origin - tags: [] ---- !u!1 &2089871578 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5294060598795513720} + 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: 5091508808143647695} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8307141036015099956 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -14796,45 +17174,85 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2089871580} - - component: {fileID: 2089871579} + - component: {fileID: 3786297410715878379} + - component: {fileID: 2636557085421466147} + - component: {fileID: 298864190649971979} m_Layer: 0 - m_Name: XR Interaction Manager + m_Name: ThumbStick_Base m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &2089871579 +--- !u!114 &8413140073912818780 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2089871578} + m_GameObject: {fileID: 7193882759593642188} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} + m_Script: {fileID: 11500000, guid: 4b724061ba0dd1144bd85f70904124d0, type: 3} m_Name: m_EditorClassIdentifier: - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] ---- !u!4 &2089871580 -Transform: + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_MoveSpeed: 2.5 + m_EnableStrafe: 1 + m_EnableFly: 0 + m_UseGravity: 1 + m_ForwardSource: {fileID: 5410547930083255870} + m_LeftHandMoveInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Left Hand Move + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: a0889756-f4c0-4539-9bac-9066c586d8a2 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RightHandMoveInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Right Hand Move + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: c2221eec-40e7-408b-8ad6-fffc2b2e7ac1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_HeadTransform: {fileID: 5410547930083255870} + m_LeftControllerTransform: {fileID: 8616564067840974700} + m_RightControllerTransform: {fileID: 6314179924109280940} + m_LeftHandMovementDirection: 0 + m_RightHandMovementDirection: 0 +--- !u!1 &8414316994289261601 +GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2089871578} - 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: 1634918261} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2109031084 + serializedVersion: 6 + m_Component: + - component: {fileID: 9191415921813784219} + m_Layer: 0 + m_Name: UniversalController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!1 &8425775126076867325 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -14842,31 +17260,68 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2109031085} + - component: {fileID: 1058830439912984803} + - component: {fileID: 4841988177154314013} + - component: {fileID: 5173989514426203109} + - component: {fileID: 3015871882154560389} m_Layer: 0 - m_Name: Index_2_Left + m_Name: NearFar m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2109031085 -Transform: +--- !u!114 &8454587283669440819 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2109031084} - m_LocalRotation: {x: 0.006532279, y: 0.0032989993, z: -0.17059992, w: 0.98531324} - m_LocalPosition: {x: -0.023907261, y: -0.00000026226044, z: 0.00000022888183} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1390163570} - m_Father: {fileID: 740016310} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2110589558 + m_GameObject: {fileID: 5280533180685219232} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractorSource: {fileID: 6133702203495907637} + m_IgnoreHoverEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 1 + m_IgnoreUGUIHover: 0 + m_IgnoreUGUISelect: 0 + m_IgnoreXRInteractionEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!1 &8557682003305897263 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -14874,219 +17329,67 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2110589559} + - component: {fileID: 4996353036765796752} + - component: {fileID: 7930453843509860390} + - component: {fileID: 6197129285583496530} m_Layer: 0 - m_Name: Little_0_Left + m_Name: Left Poke Interactor m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2110589559 +--- !u!4 &8616564067840974700 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2110589558} - m_LocalRotation: {x: -0.018601296, y: 0.022547437, z: -0.058639184, w: 0.99785125} - m_LocalPosition: {x: -0.056403197, y: -0.00000059507784, z: 0.0000003004074} + m_GameObject: {fileID: 7112287131004872226} + 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: - - {fileID: 1307398688} - m_Father: {fileID: 1784977341} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!43 &2119201252 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 5004 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 2997 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.19999997} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 0 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 0 - m_IndexBuffer: 00000100020003000400050006000700080009000a000b000c000d000e000f001000110012001300140014001500120014001600150017001800190019001a00170019001b001a0019001c001b001c001d001b001e001f002000200021001e00210022001e00220023001e0024002500260026002700240027002800240028002900240028002a0029002b002c002d002d002e002b002e002f002b003000310032003200330030003200340033003500360037003700380035003800390035003a003b003c003c003d003a003d003e003a003f0040004100410042003f00420043003f0044004500460046004700440046004800470049004a004b004b004c0049004c004d0049004e004f005000500051004e00500052005100530054005500550056005300550057005600580059005a005a005b0058005b005c0058005c005d0058005c005e005d005f0060006100610062005f0061006300620064006500660066006700640067006800640069006a006b006b006c0069006c006d0069006d006e0069006f0070007100710072006f007100730072007100740073007400750073007600770078007900780077007a007800790079007b007a007b007c007a007b007d007c007d007e007c007d007f007e007d0080007f00800081007f00810082007f008100830082008300840082008300850084008500860084008500870086008500880087008900790077008a00890077008a008b0089008c008a0077008a008c008d008e008c0077008f008c008e0090008e0077007700910090008f008e00920093008f0092009400930092009400920095009600940095009600950097009600970098009900960098009a00990098009a0098009b009a009b009c009d009a009c009e009d009c009e009c009f009f00a0009e00a100a200a300a300a400a100a300a500a400a500a600a400a700a600a500a700a500a800a900a700a800a900a800aa00ab00a900aa00ab00aa00ac00ad00ab00ac00ad00ac00ae00af00ad00ae00af00ae00b000b100af00b000b200b100b000b200b000b300b400b200b300b400b300b500b500b600b400b700b800b900b700b900ba00bb00b700ba00bb00ba00bc00bd00bb00bc00bd00bc00be00bf00bd00be00bf00be00c000c100bf00c000c100c000c200c300c100c200c300c200c400c500c300c400c500c400c600c700c500c600c600a400c700c700a400a600c800c700a600c900c800a600a600ca00c900cb00cc00cd00ce00cd00cc00cf00cd00ce00ce00d000cf00d000d100cf00d000d200d100d200d300d100d200d400d300d400d500d300d400d600d500d600d700d500d600d800d700d600d900d800d900da00d800da00db00d800da00dc00db00da00dd00dc00dd00de00dc00cc00df00e000e000e100cc00e100e200cc00e300e200e100e300e100e400e500e300e400e500e400e600e700e500e600e800e700e600e800e600e900ea00e800e900ea00e900eb00ec00ea00eb00ec00eb00ed00ec00ed00ee00ef00ec00ee00f000ef00ee00ee00f100f000f200f300f400f200f400cc00f400ce00cc00e200f200cc00f200e200f500f600f700f800f800f900f600f800fa00f900fa00fb00f900fc00fb00fa00fc00fa00fd00fb00fe00f900ff00fc00fd00ff00fd000001ff00000101010201ff0001010201010103010401020103010401030105010601040105010701060105010701050108010701080109010a010701090109010b010a010c01f900fe000d010c01fe000e010d01fe00fe000f010e010c011001110110011201110110011301120113011401120113011501140115011601140115011701160117011801160117011901180119011a01180119011b011a011b011c011a011b011d011c011d011e011c011d011f011e01200121012201220123012001230122012401250123012401230125012601270123012601270126012801290127012801290128012a012b0129012a012b012a012c012b012c012d012e012b012d012f012e012d012f012d0130012f013001310132012f0131013301320131013401330131013101350134013601370125012501240136013801240139013901240122013a013901220122013b013a0139013c0138013c013d0138013c013e013d013e013f013d013e0140013f01400141013f0140014201410142014301410142014401430144014501430144014601450146014701450146014801470146014901480149014a0148014b014c014d014c014b014e014f014c014e0150014e014b014b0151015001500152014e0153014f014e0154014f015301550153014e0155014e015601560157015501540153015801590154015801590158015a015b0159015a015b015a015c015d015b015c015d015c015e015f015d015e015f015e0160015f016001610162015f01610163016201610164016301610161016501640166016701680168016901660169016a01660169016b016a016b016c016a016b016d016c016d016e016c016e016f016c016e0170016f01700171016f017001720171017201730171017201740173017201750174017501760174017701780179017a017b017c017d017e017f0180018101820183018401850186018701880189018a018b018c018d018e018f0190019101920193019401950196019701980199019a019b019c019d019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd01be01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc01cd01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db01dc01dd01de01df01e001e101e201e301e401e501e601e701e801e901ea01eb01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc01fd01fe01ff0100020102020203020402050206020702080209020a020b020c020d020e020f0210021102120213021402150216021702180219021a021b021c021d021e021f02200221022202230224022202240225022602270228022602280229022a022b022c022a022c022d022e022f023002300231022e02310232022e02330234023502330235023602370238023902370239023a023b023c023d023b023d023e023f0240024102410242023f02410243024202440245024602440246024702480249024a0248024a024b024c024d024e024c024e024f02500251025202500252025302540255025602540256025702580259025a025a025b0258025b025c0258025c025d0258025d025e0258025e025f0258025f026002580261026202630261026302640265026602670265026702680269026a026b0269026b026c026d026e026f026f0270026d02700271026d0272027302740272027402750276027702780278027902760279027a0276027b027c027d027b027d027e027f0280028102810282027f02820283027f02830284027f02840285027f02850286027f02870288028902870289028a028b028c028d028b028d028e028f02900291028f0291029202930294029502930295029602970298029902970299029a029b029c029d029b029d029e029f02a002a1029f02a102a202a302a402a502a302a502a602a702a802a902a702a902aa02ab02ac02ad02ab02ad02ae02af02b002b102af02b102b202b302b402b502b502b602b302b502b702b602b802b902ba02b802ba02bb02bc02bd02be02be02bf02bc02be02c002bf02c102c202c302c102c302c402c502c602c702c502c702c802c902ca02cb02c902cb02cc02cd02ce02cf02cd02cf02d002d102d202d302d102d302d402d502d602d702d502d702d802d902da02db02d902db02dc02dd02de02df02df02e002dd02df02e102e002e102e202e002e102e302e202e102e402e302e502e602e702e502e702e802e902ea02eb02e902eb02ec02ed02ee02ef02ed02ef02f002f102f202f302f102f302f402f502f602f702f502f702f802f902fa02fb02f902fb02fc02fd02fe02ff02fd02ff02000301030203030301030303040305030603070305030703080309030a030b0309030b030c030d030e030f030d030f03100311031203130311031303140315031603170315031703180319031a031b0319031b031c031d031e031f031d031f03200321032203230321032303240325032603270325032703280329032a032b0329032b032c032d032e032f032d032f03300331033203330331033303340335033603370335033703380339033a033b0339033b033c033d033e033f033d033f03400341034203430341034303440345034603470345034703480349034a034b0349034b034c034d034e034f034d034f03500351035203530351035303540355035603570355035703580359035a035b0359035b035c035d035e035f035d035f03600361036203630363036403610364036303650364036503660364036603670367036803640369036a036b0369036b036c036d036e036f036d036f03700371037203730371037303740375037603770375037703780379037a037b0379037b037c037d037e037f037d037f03800381038203830381038303840385038603870385038703880389038a038b0389038b038c038d038e038f038d038f0390039103920393039103930394039503960397039703980395039803990395039a039b039c039a039c039d039e039f03a0039e03a003a103a203a303a403a203a403a503a603a703a803a803a903a603a903aa03a603ab03ac03ad03ab03ad03ae03af03b003b103af03b103b203b303b403b503b303b503b603b703b803b903b903ba03b703ba03b903bb03ba03bb03bc03bd03ba03bc03bc03be03bd03bf03c003c103bf03c103c203c303c403c503c303c503c603c703c803c903c703c903ca03cb03cc03cd03cd03ce03cb03ce03cf03cb03d003d103d203d003d203d303d403d503d603d603d703d403d703d803d403d903da03db03d903db03dc03dd03de03df03dd03df03e003e103e203e303e103e303e403e503e603e703e503e703e803e903ea03eb03e903eb03ec03ed03ee03ef03ed03ef03f003f103f203f303f103f303f403f503f603f703f703f803f503f803f703f903f803f903fa03f803fa03fb03fb03fc03f803fd03fe03ff03fd03ff03000401040204030401040304040405040604070405040704080409040a040b040b040c0409040c040d0409040e040f0410040e0410041104120413041404140415041204150416041204170418041904170419041a041b041c041d041b041d041e041f04200421041f0421042204230424042504230425042604270428042904270429042a042b042c042d042b042d042e042f04300431042f0431043204330434043504330435043604370438043904370439043a043b043c043d043b043d043e043f04400441043f0441044204430444044504430445044604470448044904470449044a044b044c044d044b044d044e044f04500451044f0451045204530454045504530455045604570458045904570459045a045b045c045d045b045d045e045f04600461045f0461046204630464046504630465046604670468046904670469046a046b046c046d046b046d046e046f04700471046f0471047204730474047504730475047604770478047904770479047a047b047c047d047b047d047e047f04800481047f0481048204830484048504830485048604870488048904870489048a048b048c048d048b048d048e048f04900491048f0491049204930494049504950496049304950497049604980499049a0498049a049b049c049d049e049e049f049c049f04a0049c04a104a204a304a104a304a404a504a604a704a504a704a804a904aa04ab04a904ab04ac04ad04ae04af04af04b004ad04b004b104ad04b104b204ad04b204b304ad04b304b404ad04b504b604b704b504b704b804b904ba04bb04b904bb04bc04bd04be04bf04bd04bf04c004c104c204c304c104c304c404c504c604c704c504c704c804c904ca04cb04cb04cc04c904cb04cd04cc04cd04ce04cc04cd04cf04ce04cd04d004cf04d104d204d304d104d304d404d504d604d704d504d704d804d904da04db04d904db04dc04dd04de04df04dd04df04e004e104e204e304e104e304e404e504e604e704e504e704e804e904ea04eb04e904eb04ec04ed04ee04ef04ed04ef04f004f104f204f304f104f304f404f504f604f704f504f704f804f904fa04fb04f904fb04fc04fd04fe04ff04fd04ff0400050105020503050105030504050505060507050705080505050705090508050a050b050c050a050c050d050e050f051005100511050e05110512050e0513051405150513051505160517051805190519051a05170519051b051a051c051d051e051c051e051f05200521052205200522052305240525052605240526052705280529052a052a052b0528052a052c052b052d052e052f052d052f05300531053205330531053305340535053605370535053705380539053a053b053b053c0539053c053d0539053d053e0539053e053f0539053f054005390541054205430541054305440545054605470545054705480549054a054b0549054b054c054d054e054f054d054f05500551055205530551055305540555055605570555055705580559055a055b0559055b055c055d055e055f055d055f05600561056205630561056305640565056605670565056705680569056a056b0569056b056c056d056e056f056d056f05700571057205730571057305740575057605770575057705780579057a057b0579057b057c057d057e057f057d057f05800581058205830581058305840585058605870585058705880589058a058b0589058b058c058d058e058f058d058f05900591059205930591059305940595059605970595059705980599059a059b0599059b059c059d059e059f059d059f05a005a105a205a305a105a305a405a505a605a705a505a705a805a905aa05ab05a905ab05ac05ad05ae05af05ad05af05b005b105b205b305b105b305b405b505b605b705b505b705b805b905ba05bb05b905bb05bc05bd05be05bf05bd05bf05c005c105c205c305c105c305c405c505c605c705c705c805c505c805c905c505ca05cb05cc05ca05cc05cd05ce05cf05d005ce05d005d105d205d305d405d205d405d505d605d705d805d805d905d605d905da05d605db05dc05dd05db05dd05de05df05e005e105e105e205df05e205e305df05e405e505e605e405e605e705e805e905ea05ea05eb05e805eb05ec05e805ed05ee05ef05ed05ef05f005f105f205f305f105f305f405f505f605f705f505f705f805f905fa05fb05f905fb05fc05fd05fe05ff05fd05ff05000601060206030601060306040605060606070605060706080609060a060b060b060c0609060c060b060d060c060d060e060c060e060f060c060f061006100611060c0612061306140612061406150616061706180618061906160619061a0616061b061c061d061b061d061e061f06200621061f062106220623062406250623062506260627062806290629062a0627062a062b0627062c062d062e062c062e062f06300631063206300632063306340635063606340636063706380639063a063b0638063a063c063b063a063a063d063c063e063c063d063d063f063e06400641064206400642064306440645064606440646064706480649064a0648064a064b064c064d064e064f064c064e0650064f064e064e0651065006520650065106510653065206540655065606540656065706580659065a0658065a065b065c065d065e065c065e065f06600661066206600662066306640665066606640666066706680669066a0668066a066b066c066d066e066c066e066f06700671067206700672067306740675067606740676067706780679067a0678067a067b067c067d067e067c067e067f06800681068206800682068306840685068606840686068706880689068a0688068a068b068c068d068e068c068e068f06900691069206900692069306940695069606940696069706980699069a0698069a069b069c069d069e069c069e069f06a006a106a206a006a206a306a406a506a606a406a606a706a806a906aa06a806aa06ab06ac06ad06ae06ac06ae06af06b006b106b206b006b206b306b406b506b606b406b606b706b806b906ba06b806ba06bb06bc06bd06be06bc06be06bf06c006c106c206c006c206c306c406c506c606c406c606c706c806c906ca06c806ca06cb06cc06cd06ce06cc06ce06cf06d006d106d206d006d206d306d406d506d606d406d606d706d806d906da06d806da06db06dc06dd06de06dc06de06df06e006e106e206e006e206e306e406e506e606e406e606e706e806e906ea06e806ea06eb06ec06ed06ee06ec06ee06ef06f006f106f206f006f206f306f406f506f606f406f606f706f806f906fa06f806fa06fb06fc06fd06fe06fc06fe06ff06000701070207000702070307040705070607040706070707080709070a0708070a070b070c070d070e070c070e070f0710071107120710071207130714071507160716071707140717071807140718071907140719071a0714071a071b0714071c071d071e071c071e071f07200721072207200722072307240725072607240726072707280729072a0728072a072b072c072d072e072c072e072f07300731073207300732073307340735073607340736073707380739073a073a073b0738073b073c0738073c073d0738073d073e0738073e073f07380740074107420740074207430744074507460746074707440746074807470749074a074b0749074b074c074d074e074f074f0750074d07500751074d075207530754075207540755075607570758075607580759075a075b075c075a075c075d075e075f0760075e076007610762076307640762076407650766076707680768076907660768076a0769076a076b0769076a076c076b076a076d076c076a076e076d076f07700771076f0771077207730774077507730775077607770778077907770779077a077b077c077d077d077e077b077e077f077b07800781078207800782078307840785078607840786078707880789078a0788078a078b078c078d078e078e078f078c078e0790078f0791079207930791079307940795079607970795079707980799079a079b0799079b079c079d079e079f079f07a0079d079f07a107a007a207a307a407a207a407a507a607a707a807a807a907a607a807aa07a907ab07ac07ad07ab07ad07ae07af07b007b107af07b107b207b307b407b507b307b507b607b707b807b907b707b907ba07bb07bc07bd07bb07bd07be07bf07c007c107bf07c107c207c307c407c507c307c507c607c707c807c907c707c907ca07cb07cc07cd07cb07cd07ce07cf07d007d107cf07d107d207d307d407d507d307d507d607d707d807d907d707d907da07db07dc07dd07db07dd07de07df07e007e107df07e107e207e307e407e507e307e507e607e707e807e907e707e907ea07eb07ec07ed07eb07ed07ee07ef07f007f107ef07f107f207f307f407f507f307f507f607f707f807f907f707f907fa07fb07fc07fd07fb07fd07fe07ff0700080108ff0701080208030804080508030805080608070808080908070809080a080b080c080d080b080d080e080f08100811080f0811081208130814081508130815081608170818081908170819081a081b081c081d081b081d081e081f08200821081f0821082208230824082508230825082608270828082908270829082a082b082c082d082b082d082e082f08300831082f08310832083308340835083308350836083708380839083a08370839083b083a08390839083c083b083d083b083c083c083e083d083f08400841083f0841084208430844084508430845084608470848084908470849084a084b084c084d084d084e084b084e084f084b0850085108520850085208530854085508560856085708540857085808540859085a085b0859085b085c085d085e085f085d085f08600861086208630861086308640865086608670867086808650869086a086b0869086b086c086d086e086f086f0870086d08700871086d087208730874087208740875087608770878087608780879087a087b087c087a087c087d087e087f0880087e08800881088208830884088208840885088608870888088608880889088a088b088c088a088c088d088e088f089008900891088e089108900892089108920893089108930894089408950891089608970898089608980899089a089b089c089a089c089d089e089f08a0089e08a008a108a208a308a408a208a408a508a608a708a808a608a808a908aa08ab08ac08aa08ac08ad08ae08af08b008ae08b008b108b208b308b408b508b208b408b608b508b408b408b708b608b808b608b708b708b908b808ba08bb08bc08ba08bc08bd08be08bf08c008be08c008c108c208c308c408c208c408c508c608c708c808c808c908c608c908ca08c608cb08cc08cd08cb08cd08ce08cf08d008d108cf08d108d208d308d408d508d308d508d608d708d808d908d908da08d708da08db08d708dc08dd08de08dc08de08df08e008e108e208e008e208e308e408e508e608e408e608e708e808e908ea08e808ea08eb08ec08ed08ee08ec08ee08ef08f008f108f208f008f208f308f408f508f608f408f608f708f808f908fa08f808fa08fb08fc08fd08fe08fc08fe08ff08000901090209000902090309040905090609040906090709080909090a0908090a090b090c090d090e090c090e090f09100911091209100912091309140915091609140916091709180919091a0918091a091b091c091d091e091c091e091f09200921092209200922092309240925092609240926092709280929092a0928092a092b092c092d092e092c092e092f09300931093209300932093309340935093609340936093709380939093a0938093a093b093c093d093e093c093e093f09400941094209400942094309440945094609440946094709480949094a0948094a094b094c094d094e094c094e094f09500951095209500952095309540955095609540956095709580959095a0958095a095b095c095d095e095c095e095f0960096109620962096309600963096409600965096609670965096709680969096a096b096b096c0969096b096d096c096e096f0970096e09700971097209730974097209740975097609770978097609780979097a097b097c097c097d097a097c097e097d097e097f097d097e0980097f097e09810980098209830984098209840985098609870988098609880989098a098b098c098a098c098d098e098f099009900991098e09900992099109930994099509930995099609970998099909970999099a099b099c099d099b099d099e099f09a009a109a109a2099f09a109a309a209a409a509a609a409a609a709a809a909aa09a809aa09ab09ac09ad09ae09ac09ae09af09b009b109b209b009b209b309b409b509b609b409b609b709b809b909ba09ba09bb09b809ba09bc09bb09bc09bd09bb09bc09be09bd09bc09bf09be09c009c109c209c009c209c309c409c509c609c609c709c409c609c809c709c909ca09cb09c909cb09cc09cd09ce09cf09cf09d009cd09cf09d109d009d209d309d409d209d409d509d609d709d809d609d809d909da09db09dc09da09dc09dd09de09df09e009de09e009e109e209e309e409e209e409e509e609e709e809e609e809e909ea09eb09ec09ea09ec09ed09ee09ef09f009ee09f009f109f209f309f409f209f409f509f609f709f809f809f909f609f809fa09f909fa09fb09f909fa09fc09fb09fa09fd09fc09fe09ff09000afe09000a010a020a030a040a020a040a050a060a070a080a060a080a090a0a0a0b0a0c0a0a0a0c0a0d0a0e0a0f0a100a0e0a100a110a120a130a140a120a140a150a160a170a180a160a180a190a1a0a1b0a1c0a1a0a1c0a1d0a1e0a1f0a200a1e0a200a210a220a230a240a220a240a250a260a270a280a260a280a290a2a0a2b0a2c0a2a0a2c0a2d0a2e0a2f0a300a2e0a300a310a320a330a340a320a340a350a360a370a380a360a380a390a3a0a3b0a3c0a3a0a3c0a3d0a3e0a3f0a400a3e0a400a410a420a430a440a420a440a450a460a470a480a460a480a490a4a0a4b0a4c0a4a0a4c0a4d0a4e0a4f0a500a4e0a500a510a520a530a540a520a540a550a560a570a580a560a580a590a5a0a5b0a5c0a5a0a5c0a5d0a5e0a5f0a600a5e0a600a610a620a630a640a620a640a650a660a670a680a660a680a690a6a0a6b0a6c0a6a0a6c0a6d0a6e0a6f0a700a6e0a700a710a720a730a740a720a740a750a760a770a780a760a780a790a7a0a7b0a7c0a7a0a7c0a7d0a7e0a7f0a800a7e0a800a810a820a830a840a820a840a850a860a870a880a860a880a890a8a0a8b0a8c0a8a0a8c0a8d0a8e0a8f0a900a8e0a900a910a920a930a940a940a950a920a950a940a960a950a960a970a980a950a970a970a990a980a9a0a9b0a9c0a9a0a9c0a9d0a9e0a9f0aa00a9e0aa00aa10aa20aa30aa40aa20aa40aa50aa60aa70aa80aa80aa90aa60aa90aaa0aa60aab0aac0aad0aab0aad0aae0aaf0ab00ab10ab10ab20aaf0ab20ab30aaf0ab40ab50ab60ab40ab60ab70ab80ab90aba0ab80aba0abb0abc0abd0abe0abc0abe0abf0ac00ac10ac20ac00ac20ac30ac40ac50ac60ac40ac60ac70ac80ac90aca0ac80aca0acb0acc0acd0ace0acc0ace0acf0ad00ad10ad20ad00ad20ad30ad40ad50ad60ad40ad60ad70ad80ad90ada0adb0ad80ada0adc0adb0ada0ada0add0adc0ade0adc0add0add0adf0ade0ae00ae10ae20ae00ae20ae30ae40ae50ae60ae40ae60ae70ae80ae90aea0ae80aea0aeb0aec0aed0aee0aec0aee0aef0af00af10af20af00af20af30af40af50af60af40af60af70af80af90afa0af80afa0afb0afc0afd0afe0afe0aff0afc0aff0a000bfc0a010b020b030b010b030b040b050b060b070b070b080b050b080b090b050b0a0b0b0b0c0b0a0b0c0b0d0b0e0b0f0b100b0e0b100b110b120b130b140b120b140b150b160b170b180b160b180b190b1a0b1b0b1c0b1a0b1c0b1d0b1e0b1f0b200b210b1e0b200b220b210b200b230b220b200b200b240b230b250b230b240b240b260b250b270b280b290b270b290b2a0b2b0b2c0b2d0b2d0b2e0b2b0b2e0b2f0b2b0b300b310b320b300b320b330b340b350b360b360b370b340b370b380b340b390b3a0b3b0b390b3b0b3c0b3d0b3e0b3f0b3d0b3f0b400b410b420b430b410b430b440b450b460b470b450b470b480b490b4a0b4b0b490b4b0b4c0b4d0b4e0b4f0b4d0b4f0b500b510b520b530b510b530b540b550b560b570b550b570b580b590b5a0b5b0b590b5b0b5c0b5d0b5e0b5f0b5d0b5f0b600b610b620b630b610b630b640b650b660b670b650b670b680b690b6a0b6b0b690b6b0b6c0b6d0b6e0b6f0b6d0b6f0b700b710b720b730b710b730b740b750b760b770b750b770b780b790b7a0b7b0b790b7b0b7c0b7d0b7e0b7f0b7d0b7f0b800b810b820b830b810b830b840b850b860b870b850b870b880b890b8a0b8b0b890b8b0b8c0b8d0b8e0b8f0b8d0b8f0b900b910b920b930b910b930b940b950b960b970b950b970b980b990b9a0b9b0b990b9b0b9c0b9d0b9e0b9f0b9d0b9f0ba00ba10ba20ba30ba10ba30ba40ba50ba60ba70ba50ba70ba80ba90baa0bab0ba90bab0bac0bad0bae0baf0bad0baf0bb00bb10bb20bb30bb10bb30bb40b - m_VertexData: - serializedVersion: 3 - m_VertexCount: 2997 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 24 - format: 0 - dimension: 4 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 40 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 143856 - _typelessdata: 628091b90ad7233e64cb1fbe0681e5bdc66a423fd40e24bf7cbd13bf652213bff68614bf000080bfe48fd83e9c4cdd3e24678bbbcde5223ef83220be0681e5bdc66a423fd40e24bf7dbd13bf652213bff78614bf000080bf03add93ec461dc3e9e7289bb0ad7233ed4171fbe0681e5bdc66a423fd40e24bf7cbd13bf652213bff68614bf000080bf5762d93e451fdc3eb27289bb0ad7233ed6171f3eb281e5bd476a423f660f243f45da21bf95d8e23e15b622bf000080bff2d7893e3b008d3e37678bbbcde5223efa32203eb281e5bd476a423f660f243f45da21bf96d8e23e15b622bf000080bf0e95893eeab58c3e628091b90ad7233e66cb1f3eb281e5bd476a423f660f243f45da21bf96d8e23e15b622bf000080bfb9ab883e45d48d3e05678b3bb9e522be073320be5b82e53d136a42bf9f0f24bf081c143f5eff123f6e4b14bf000080bf645b163f8062dc3e5572893b0ad723becd171fbe5b82e53d136a42bf9f0f24bf081c143f5fff123f6e4b14bf000080bf1d36163fd51fdc3e16c890390ad723be6ccb1fbe5b82e53d136a42bf9f0f24bf081c143f5fff123f6e4b14bf000080bf8dcc153fd94cdd3e5d72893b0ad723becc171f3e2c83e53d406a42bf650f243f2446223f1352e2be6a7922bf000080bfb90add3eced78c3efe668b3bc0e522be0033203e2c83e53d406a42bf650f243f2546223f1352e2be6b7922bf000080bff8c7dc3e568d8c3e610491390ad723be66cb1f3e2c83e53d406a42bf650f243f2546223f1252e2be6b7922bf000080bf01dedb3e49ab8d3e6d562f3bcccc4c3d0ad7233e000000006cc2e1340000803f90073a3fd0dd2fbf000000000000803fe67fbd3ecab42f3e59562f3b9999193e0ad7233e000000006cc2e1340000803f000000000000803f000000000000803fe57fbd3efcea773e59562f3bcecc4cbd0ad7233e000000006cc2e1340000803f000000000000803f000000000000803fe67fbd3e2efdce3d999919be0ad7233e66562f3bcfd4a8340000803f00000000000000000000803f000000000000803f3c0ed63e908e8e3ececc4cbd0ad7233e66562f3bcfd4a8340000803f00000000000080bf00000000000000000000803fad97bc3eac27a83ececc4c3d0ad7233e66562f3bcfd4a8340000803f00000000000000000000803f000000000000803f1d21a33ec8c0c13e235b21be235b213e37b088bb58e524bf466a423f0f4bbbbd800c15bf207610bf73d615bf000080bfa5bcd93e885c8e3e0ad723bec33d1f3e6eca8abb58e524bf466a423f0f4bbbbdf90b15bfc77510bf51d715bf000080bffa5eda3ebfc18d3e0ad723be78c31f3e6c47f33258e524bf466a423f0f4bbbbd4e0c15bfff7510bfc8d615bf000080bf6a49d93ea6ad8c3e27731ebe0ad7233e639e83bb58e524bf466a423f0f4bbbbd840c15bf227610bf6ed615bf000080bf81f9d83e6d0c8f3ea7081fbe0ad7233e6c47f33258e524bf466a423f0f4bbbbd5d0c15bf087610bfaed615bf000080bf7617d83e39e18d3e6fe889bbdb6c213edb6c21be7daa91bd180f233f998244bfe9fe03bf32a82ebf01b204bf000080bf80f8d93ecfb2dc3e24678bbbcde5223ef83220be7daa91bd180f233f998244bf17ff03bf20a82ebfedb104bf000080bf03add93ec461dc3e628091b90ad7233e64cb1fbe7daa91bd180f233f998244bf1bff03bf1ea82ebfebb104bf000080bfe48fd83e9c4cdd3e606284bbca881e3e0ad723be7daa91bd180f233f998244bfd4fe03bf3ba82ebf0bb204bf000080bf0c88da3e9357dd3edb078d3b0a7d1f3e0ad723be7daa91bd180f233f998244bf4aff03bf09a82ebfd7b104bf000080bf2468d83e5e7adf3ea9ec933b0ad7233ec73f20be7daa91bd180f233f998244bfcdff03bfd2a72ebf9cb104bf000080bfa174d73e90a3de3e33d2913bcddf213eccdf21be7daa91bd180f233f998244bf0f1404bf4f9f2ebfaba804bf000080bfd0e0d73ece06df3ef558203ef658203e59d46d3b64733d3ff12c2c3fa95260b51fa20ebfb9f11c3f75630fbf000080bf89be873e8acbdc3e0ad7233e2b811c3e13fb633b64733d3ff12c2c3fa95260b522a20ebfbaf11c3f6d630fbf000080bf0fea863ed7b4dd3e0ad7233e2b811c3e1cfb63bb64733d3ff12c2c3fa95260b502a20ebf97f11c3fb3630fbf000080bffcb1883e5e7adf3ef558203ef558203e62d46dbb64733d3ff12c2c3fa95260b50ea20ebfa4f11c3f9e630fbf000080bf299a893ea8a4de3e672c1d3e0ad7233eb01a70bb64733d3ff12c2c3fa95260b52ea20ebfc8f11c3f52630fbf000080bf7c668a3eccdbdd3e672c1d3e0ad7233ea61a703b64733d3ff12c2c3fa95260b535a20ebfcff11c3f45630fbf000080bf5086883e28fedb3e628091b90ad7233e66cb1f3eb9aa91bd160f233f9a82443fe0e77ebf000000009a27bdbd000080bff60ebe3e59237f3e37678bbbcde5223efa32203eb9aa91bd160f233f9a82443fe8e77ebf000000009024bdbd000080bf2577bf3e2f797e3e83e889bbdc6c213edc6c213eb9aa91bd160f233f9a82443fe6e77ebf00000000b125bdbd000080bf3e96bf3e6e6f7d3e716284bbcc881e3e0ad7233eb9aa91bd160f233f9a82443fe2e77ebf000000001e27bdbd000080bf95ccbf3eab657b3ed5078d3b0c7d1f3e0ad7233eb9aa91bd160f233f9a82443fdae77ebf000000004729bdbd000080bf24f1bc3e0e127c3e9fec933b0ad7233eca3f203eb9aa91bd160f233f9a82443fd6e77ebf00000000a42abdbd000080bfec77bc3e75237f3e29d2913bcddf213ecddf213eb9aa91bd160f233f9a82443f51e67ebf00000000e4adbdbd000080bf10acbc3ea9c07d3e29731ebe0ad7233e619e833b69e524bf3d6a423fcf49bb3d98a620bf289fe9be3e8021bf000080bf12ebd63ec4008d3ea7081fbe0ad7233e6c47f33269e524bf3d6a423fcf49bb3d64a620bfbd9ee9be988021bf000080bf7617d83e39e18d3e0ad723be78c31f3e6c47f33269e524bf3d6a423fcf49bb3d64a620bfb89ee9be9c8021bf000080bf6a49d93ea6ad8c3e0ad723bec43d1f3e69ca8a3b69e524bf3d6a423fcf49bb3da0a620bf3b9fe9be318021bf000080bfda33d83e8e998b3e245b21be245b213e32b0883b69e524bf3d6a423fcf49bb3d77c520bfa3e0e9becb4921bf000080bfef99d73eb23c8c3ed38d1dbe530077bb0ad723be6f7634bffa87a0bd4e7634bf10231e3f1f670ebf914d0ebf000080bfa52d273e048e043fc1b120be1b0e7abbc1b120be6f7634bffa87a0bd4e7634bf271a1e3f437c0ebf4f420ebf000080bf51a2253e1228043f0ad723be410077bbd28d1dbe6f7634bffa87a0bd4e7634bf45231e3fa2660ebfd54d0ebf000080bf7b0b243e56c5033fb1fb1dbe151886320ad723be6f7634bffa87a0bd4e7634bf32231e3fca660ebfbd4d0ebf000080bfcf40253e2409053f0ad723befcfb8932b0fb1dbe6f7634bffa87a0bd4e7634bf6b231e3f48660ebf044e0ebf000080bf6a55223e2a4e043f8b751dbe2048753b0ad723beff2d34bf3f16c53dbe2d34bf6056053f77941abf51791abf000080bf6957233e6883053fb1fb1dbe151886320ad723beff2d34bf3f16c53dbe2d34bf3656053fbb941abf30791abf000080bfcf40253e2409053f0ad723befcfb8932b0fb1dbeff2d34bf3f16c53dbe2d34bfa656053f01941abf88791abf000080bf6a55223e2a4e043f0ad723be0f48753b89751dbeff2d34bf3f16c53dbe2d34bfcb56053fc5931abfa5791abf000080bf2529203eb4b7043f73a520be555c783b72a520beff2d34bf3f16c53dbe2d34bfbf55053f7d951abfd4781abf000080bfb7b9213efc1e053f0ad723be9d0077bbd88d1d3e487634bf6f8aa0bd6d76343f122e08bf9b5519bf003b19bf000080bf500cdf3b96f3b83ec3b120be700e7abbc3b1203e487634bf6f8aa0bd6d76343ff52c08bf835719bf173a19bf000080bfc0b7ad3b0a28b83ed88d1dbeaa0077bb0ad7233e487634bf6f8aa0bd6d76343f0e2e08bfa25519bffd3a19bf000080bf208f753b3e62b73eb5fb1dbe40e735b40ad7233e487634bf6f8aa0bd6d76343f122e08bf9c5519bf003b19bf000080bf40b6f43a7b58b83e0ad723be1c326bb4b4fb1d3e487634bf6f8aa0bd6d76343f162e08bf975519bf033b19bf000080bf309a9a3b6cceb93e0ad723be2a48753b8c751d3e012e34bfed15c53dbe2d343f685b20bf35270dbfe50e0dbf000080bfe0904b3b6ee4ba3e0ad723be1c326bb4b4fb1d3e012e34bfed15c53dbe2d343f605b20bf47270dbfdb0e0dbf000080bf309a9a3b6cceb93eb5fb1dbe40e735b40ad7233e012e34bfed15c53dbe2d343f715b20bf1a270dbff40e0dbf000080bf40b6f43a7b58b83e8d751dbe4648753b0ad7233e012e34bfed15c53dbe2d343f795b20bf09270dbffd0e0dbf000080bf00000000074db93e73a520be705c783b74a5203e012e34bfed15c53dbe2d343fce5b20bf36260dbf6f0f0dbf000080bf00b4c83a021cba3e0ad7233efdfb8932aefb1dbe6576343f788aa03d4e7634bfb40963bd55367f3f520a633d000080bf7cf1063e5dcb2f3eaefb1d3e151886320ad723be6576343f788aa03d4e7634bfa60863bd55367f3f5f0b633d000080bf7cf1063eaaa2353ed18d1d3e2600773b0ad723be6576343f788aa03d4e7634bf260a63bd55367f3fdd09633d000080bf32aa093e73d9353e0ad7233e1300773bd08d1dbe6576343f788aa03d4e7634bf2a0b63bd55367f3fdd08633d000080bf32aa093e94942f3ebeb1203ef00d7a3bc0b120be6576343f788aa03d4e7634bf93a363bd55367f3f7370623d000080bfcfb2093e04b7323e0ad7233efc4775bb87751dbee82d343f3017c5bdd12d34bf915d8b3dd1cf7e3fd75c8bbd000080bf943d043e78882f3e72a5203e465c78bb71a520bee82d343f3017c5bdd12d34bf57948b3dd1cf7e3f10268bbd000080bfe434043e03b7323e87751d3e0e4875bb0ad723bee82d343f3017c5bdd12d34bfb05d8b3dd1cf7e3fb85c8bbd000080bf933d043e8fe5353eaefb1d3e151886320ad723bee82d343f3017c5bdd12d34bf3f5d8b3dd1cf7e3f295d8bbd000080bf7cf1063eaaa2353e0ad7233efdfb8932aefb1dbee82d343f3017c5bdd12d34bf1e5d8b3dd1cf7e3f4a5d8bbd000080bf7cf1063e5dcb2f3eb2fb1d3e79d7ab320ad7233e6e76343fdf88a03d4b76343f650435bf000000008005353f000080bf1496893e599c0b3e0ad7233e94f3a732b0fb1d3e6e76343fdf88a03d4b76343f620435bf000000008305353f000080bf0ff9863e259c0b3e0ad7233e2c00773bd28d1d3e6e76343fdf88a03d4b76343f640435bf000000008205353f000080bfc6ec863eda540e3ed48d1d3e5300773b0ad7233e6e76343fdf88a03d4b76343f660435bf000000007f05353f000080bfd1ba893e11550e3ec1b1203e0b0e7a3bc1b1203e6e76343fdf88a03d4b76343f660435bf000000008005353f000080bff253883e935d0e3e8b751d3e474875bb0ad7233ee32d343f4816c5bddb2d343f880535bf000000005d04353f000080bff0c2893e73e8083e72a5203e705c78bb73a5203ee32d343f4816c5bddb2d343f880535bf000000005d04353f000080bfb056883ea8df083e0ad7233e1e4875bb89751d3ee32d343f4816c5bddb2d343f8a0535bf000000005b04353f000080bf0fea863e3ce8083eb2fb1d3e79d7ab320ad7233ee32d343f4816c5bddb2d343f890535bf000000005d04353f000080bf1496893e599c0b3e0ad7233e94f3a732b0fb1d3ee32d343f4816c5bddb2d343f8a0535bf000000005b04353f000080bf0ff9863e259c0b3e16c890390ad723be6ccb1fbe0faa913d2d0f23bf888244bfac5d043f35802e3f338804bf000080bf8dcc153fd94cdd3e93ec93bb0ad723bec73f20be0faa913d2d0f23bf888244bfee5d043f1a802e3f168804bf000080bf9d3e153f22a3de3e1cd291bbcddf21beccdf21be0faa913d2d0f23bf888244bf2e5d043f6a802e3f6c8804bf000080bf9b74153f9806df3ec3078dbb097d1fbe0ad723be0faa913d2d0f23bf888244bf5b5d043f57802e3f568804bf000080bf27b8153f6c7adf3e5062843bc9881ebe0ad723be0faa913d2d0f23bf888244bf9c5d043f3c802e3f3a8804bf000080bfa8c8163fbc58dd3e05678b3bb9e522be073320be0faa913d2d0f23bf888244bf7e5d043f47802e3f478804bf000080bf645b163f8062dc3e65e8893bda6c21bedb6c21be0faa913d2d0f23bf888244bf8f3b043f998e2e3f4c9704bf000080bf0d81163fadb3dc3e1e5b213e205b21befaaf88bb59e5243f4a6a42bfe949bbbd0047153f2d9c103f667715bf000080bf5577163f525d8e3e0ad7233ebd3d1fbe37ca8abb59e5243f4a6a42bfe949bbbd3c47153f549c103f047715bf000080bfa8c8163fddc28d3e0ad7233e71c31fbe6c47f33259e5243f4a6a42bfe949bbbd2647153f459c103f297715bf000080bf273e163f35ae8c3e20731e3e0ad723be1d9e83bb59e5243f4a6a42bfe949bbbd1b47153f3d9c103f3c7715bf000080bf9515163fd40c8f3e9e081f3e0ad723be6c47f33259e5243f4a6a42bfe949bbbd3d47153f549c103f037715bf000080bfdda4153f2ce18d3e20731e3e0ad723be149e833b4be5243f536a42bfa54abb3dd5e2203f751eea3e0f1621bf000080bfe50e153f1c008d3e9e081f3e0ad723be6c47f3324be5243f536a42bfa54abb3dcae2203f5f1eea3e201621bf000080bfdda4153f2ce18d3e0ad7233e71c31fbe6c47f3324be5243f536a42bfa54abb3dc5e2203f541eea3e2a1621bf000080bf273e163f35ae8c3e0ad7233ebd3d1fbe2eca8a3b4be5243f536a42bfa54abb3dd3e2203f721eea3e131621bf000080bfa7b3153f8e998b3e205b213e1e5b21bef2af883b4be5243f536a42bfa54abb3daaea203f172fea3e2f0821bf000080bf8766153f643c8c3ef85820bef75820be9ed46dbb7a733dbfd82c2cbfda5260b5936e0a3f675218bf163818bf000080bf216b253ea32bba3e6c2c1dbe0ad723bede1a70bb7a733dbfd82c2cbfda5260b5806e0a3f525218bf3c3818bf000080bfa52d273e114fb93e6c2c1dbe0ad723bede1a703b7a733dbfd82c2cbfda5260b59f6e0a3f765218bff93718bf000080bf2570233eff6fb73ef85820bef85820be90d46d3b7a733dbfd82c2cbfda5260b5a26e0a3f785218bff83718bf000080bfb4b6213e1a51b83e0ad723be2e811cbe4cfb633b7a733dbfd82c2cbfda5260b5936e0a3f675218bf173818bf000080bf9edf1f3e2050b93e0ad723be2e811cbe52fb63bb7a733dbfd82c2cbfda5260b5956e0a3f695218bf0f3818bf000080bfc56c233e0217bb3efed191bbcadf21becadf213ee7aa913df80e23bfb482443f25e87ebf000000006610bd3d000080bf42b8bf3e8093cb3c77ec93bb0ad723bec43f203ee7aa913df80e23bfb482443f23e87ebf00000000b310bd3d000080bf608fbf3eb87bc03c610491390ad723be66cb1f3ee7aa913df80e23bfb482443f23e87ebf000000001611bd3d000080bf64debd3e307cc03ca2078dbb057d1fbe0ad7233ee7aa913df80e23bfb482443f23e87ebf00000000d410bd3d000080bfb7e3bf3e000ad93c3f62843bc5881ebe0ad7233ee7aa913df80e23bfb482443f23e87ebf00000000b210bd3d000080bf4808bd3e186dde3cfe668b3bc0e522be0033203ee7aa913df80e23bfb482443f25e87ebf000000006810bd3d000080bf4b8dbc3e28cec53c56e8893bd96c21bed96c213ee7aa913df80e23bfb482443fb2e97ebf00000000f689bc3d000080bf62b4bc3ef01cce3c0ad7233e2c00773bd28d1d3e0000803f000000006e15b5b5000000000000803f00000000000080bf7a9c093e909f933c0ad7233e94f3a732b0fb1d3e0000803f000000006e15b5b5000000000000803f00000000000080bfbbe3063e40e9913c0ad7233e60562f3b9999193e0000803f000000006e15b5b5000000000000803f00000000000080bf81d2083e7865a33c0ad7233e60562f3bcecc4cbd0000803f000000006e15b5b5000000000000803f00000000000080bf6cdb083e4018f53d0ad7233e6b562f3bcccc4c3d0000803f000000006e15b5b5000000007165ba3ec06e6ebf000080bff7d6083ecef88e3d0ad7233efd76b43b07d723bd0000803f000000006e15b5b5000000000000803f00000000000080bf7de60a3ee6e1ea3d0ad7233e0677b43b05d7233d0000803f000000006e15b5b5000000000000803f00000000000080bfece20a3e282f993d0ad7233e2de7193c5cb0d0bc0000803f000000006e15b5b5000000000000803f00000000000080bf3db40d3e7e0cdc3d0ad7233e2de7193c54b0d03c0000803f000000006e15b5b5000000000000803f00000000000080bff8b10d3e9004a83d0ad7233e57b0d03c2be7193c0000803f000000006e15b5b5000000000000803f00000000000080bf7e4f193ebe70b83d0ad7233e54b0d03c3ae719bc0000803f000000006e15b5b5000000000000803f00000000000080bf5450193e52a0cb3d0ad7233e05d7233d1877b4bb0000803f000000006e15b5b5000000000000803f00000000000080bf53cd233e58a8c73d0ad7233e0ad7233df576b43b0000803f000000006e15b5b5000000000000803f00000000000080bfd6cc233eb668bc3d0ad7233ecccc4c3d77562fbb0000803f000000006e15b5b5000000000000803f00000000000080bfd2052b3efac3c43d0ad7233ececc4c3d60562f3b0000803f000000006e15b5b5000000000000803f00000000000080bf96052b3e124dbf3d0ad7233e9999193e6d562fbb0000803f000000006e15b5b5000000000000803f00000000000080bf053c733efac3c43d0ad7233e9999193e6b562f3b0000803f000000006e15b5b5000000000000803f00000000000080bfc83b733e124dbf3d0ad7233e2b811c3e13fb633b0000803f000000006e15b5b5000000000000803f00000000000080bf1b48753e127bbe3d0ad7233e2b811c3e1cfb63bb0000803f000000006e15b5b5000000000000803f00000000000080bf6a48753efa95c53d0ad7233e6b562f3b999919be0000803f000000006e15b5b5000000000000803f00000000000080bfe1df083ed89b2d3e0ad7233efdfb8932aefb1dbe0000803f000000006e15b5b5000000000000803f00000000000080bf7cf1063e5dcb2f3e0ad7233e1300773bd08d1dbe0000803f000000006e15b5b5000000000000803f00000000000080bf32aa093e94942f3e0ad7233e6d562fbb989919be0000803f000000006e15b5b5000000000000803f00000000000080bfb402053ed79b2d3e0ad7233efc4775bb87751dbe0000803f000000006e15b5b5000000000000803f00000000000080bf943d043e78882f3e0ad7233e6d562fbbcecc4c3d0000803f000000006e15b5b5000000000000803f00000000000080bfcaf9043ecef88e3d0ad7233e77562fbbcecc4cbd0000803f000000006e15b5b50000000019f9763e547178bf000080bf3ffe043e4018f53d0ad7233e77562fbb9999193e0000803f000000006e15b5b5000000000000803f00000000000080bf55f5043e7865a33c0ad7233e1e4875bb89751d3e0000803f000000006e15b5b5000000000000803f00000000000080bfde2f043e7000943c0ad7233e0e77b4bb09d7233d0000803f000000006e15b5b5000000000000803f00000000000080bfb8ee023e262f993d0ad7233e1877b4bb06d723bd0000803f000000006e15b5b5000000000000803f00000000000080bf4af2023ee6e1ea3d0ad7233e3ae719bc5cb0d0bc0000803f000000006e15b5b5000000000000803f00000000000080bf3d23003e7e0cdc3d0ad7233e3ae719bc57b0d03c0000803f000000006e15b5b5000000000000803f00000000000080bff720003e9004a83d0ad7233e5cb0d0bc3ae719bc0000803f000000006e15b5b5000000000000803f00000000000080bf6e0be93d52a0cb3d0ad7233e5cb0d0bc2de7193c0000803f000000006e15b5b5000000000000803f00000000000080bfc309e93dbe70b83d0ad7233e06d723bd0677b43b0000803f000000006e15b5b5000000000000803f00000000000080bfc30fd43db668bc3d0ad7233e07d723bd0e77b4bb0000803f000000006e15b5b5000000000000803f00000000000080bfbe10d43d58a8c73d0ad7233ececc4cbd6d562fbb0000803f000000006e15b5b5000000000000803f00000000000080bf409fc53dfac3c43d0ad7233ececc4cbd6b562f3b0000803f000000006e15b5b5000000000000803f00000000000080bfc59ec53d124dbf3d0ad7233e989919be60562f3b0000803f000000006e15b5b5000000000000803f00000000000080bf88c9d43c124dbf3d0ad7233e999919be77562fbb0000803f000000006e15b5b5000000000000803f00000000000080bf68cbd43cfac3c43d0ad7233ebd3d1fbe37ca8abb0000803f000000006e15b5b5000000000000803f00000000000080bfc8f8b43cd65bc63d0ad7233ebd3d1fbe2eca8a3b0000803f000000006e15b5b5000000000000803f00000000000080bfc8f5b43c36b5bd3d0ad7233e71c31fbe6c47f3320000803f000000006e15b5b5000000000000803f00000000000080bf0005b23c8408c23d5062843bc9881ebe0ad723be0000000000000000000080bf000000000000803f00000000000080bf90f5b83cd42c813ec3078dbb097d1fbe0ad723be0000000000000000000080bf000000000000803f00000000000080bfa890b33c2d4e833e6b562fbb999919be0ad723be0000000000000000000080bf000000000000803f00000000000080bf80c9d43cbde3823e54562f3b989919be0ad723be0000000000000000000080bf000000000000803f00000000000080bf70cbd43c0486813e60562fbbcecc4cbd0ad723be0000000000000000000080bf000000000000803f00000000000080bfc59ec53dbde3823e60562fbb9999193e0ad723be0000000000000000000080bf000000000000803f00000000000080bfc83b733ebde3823e6b562fbbcccc4c3d0ad723be0000000000000000000080bf000000000000803f00000000000080bf96052b3ebde3823ef576b4bb0ad723bd0ad723be0000000000000000000080bf000000000000803f00000000000080bfc20fd43dd59c833e0677b4bb05d7233d0ad723be0000000000000000000080bf000000000000803f00000000000080bfd6cc233ed59c833e2be719bc5cb0d0bc0ad723be0000000000000000000080bf000000000000803f00000000000080bfc109e93dd29a843e2de719bc54b0d03c0ad723be0000000000000000000080bf000000000000803f00000000000080bf7d4f193ed29a843e54b0d0bc3ae719bc0ad723be0000000000000000000080bf000000000000803f00000000000080bff720003edeb5883e57b0d0bc2de7193c0ad723be0000000000000000000080bf000000000000803f00000000000080bff8b10d3edeb5883e05d723bd1877b4bb0ad723be0000000000000000000080bf000000000000803f00000000000080bfb8ee023e386b8c3e09d723bdfd76b43b0ad723be0000000000000000000080bf000000000000803f00000000000080bfebe20a3e396b8c3ecccc4cbd77562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bfc9f9043ecff88e3ececc4cbd60562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bff6d6083ecff88e3e999919be6b562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bf80d2083ea980a83e999919be6d562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bf54f5043ea980a83e8b751dbe2048753b0ad723be0000000000000000000080bf000000000000803f00000000000080bfa197093efb76a93ed38d1dbe530077bb0ad723be0000000000000000000080bf000000000000803f00000000000080bf022b043e097da93eb1fb1dbe151886320ad723be0000000000000000000080bf000000000000803f00000000000080bfbae3063e6d98a93ed18d1d3e2600773b0ad723be0000000000000000000080bf000000000000803f00000000000080bf32aa093e73d9353eaefb1d3e151886320ad723be0000000000000000000080bf000000000000803f00000000000080bf7cf1063eaaa2353e87751d3e0e4875bb0ad723be0000000000000000000080bf000000000000803f00000000000080bf933d043e8fe5353e9999193e77562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bfb402053e31d2373e9899193e60562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bfe1df083e31d2373ececc4c3d6d562fbb0ad723be0000000000000000000080bf000000000000803f00000000000080bf3ffe043ee6e16a3ecbcc4c3d6b562f3b0ad723be0000000000000000000080bf000000000000803f00000000000080bf6bdb083ee7e16a3e07d7233d0e77b4bb0ad723be0000000000000000000080bf000000000000803f00000000000080bf49f2023e12fd6f3e04d7233d0677b43b0ad723be0000000000000000000080bf000000000000803f00000000000080bf7de60a3e14fd6f3e5cb0d03c3ae719bc0ad723be0000000000000000000080bf000000000000803f00000000000080bf3c23003ec667773e54b0d03c2de7193c0ad723be0000000000000000000080bf000000000000803f00000000000080bf3db40d3ec667773e3ae7193c5cb0d0bc0ad723be0000000000000000000080bf000000000000803f00000000000080bf6e0be93ddd9d7f3e21e7193c57b0d03c0ad723be0000000000000000000080bf000000000000803f00000000000080bf5450193edd9d7f3e1877b43b06d723bd0ad723be0000000000000000000080bf000000000000803f00000000000080bfbe10d43deccc803eeb76b43b0ad7233d0ad723be0000000000000000000080bf000000000000803f00000000000080bf54cd233eedcc803e77562f3bcecc4cbd0ad723be0000000000000000000080bf000000000000803f00000000000080bf3e9fc53d0486813e54562f3bcecc4c3d0ad723be0000000000000000000080bf000000000000803f00000000000080bfd2052b3e0486813e77562f3b9999193e0ad723be0000000000000000000080bf000000000000803f00000000000080bf053c733e0486813edb078d3b0a7d1f3e0ad723be0000000000000000000080bf000000000000803f00000000000080bf2063773e941b813e606284bbca881e3e0ad723be0000000000000000000080bf000000000000803f00000000000080bf83b6763eee3c833e0ad723be0f48753b89751dbe000080bf0000000000000000000000006b1435bf7af534bf000080bf2529203eb4b7043f0ad723befcfb8932b0fb1dbe000080bf000000000000000000000000441435bfa3f534bf000080bf6a55223e2a4e043f0ad723be60562f3b989919be000080bf000000000000000000000000541435bf91f534bf000080bf3cc81e3ea319043f0ad723be60562f3bcecc4c3d000080bf000000000000000000000000371535bfaff434bf000080bf6cc6623d281fd53e0ad723be66562f3bcbcc4cbd000080bf000000000000000000000000fec9afbd230e7fbf000080bfd879d73d38a9ee3e0ad723bef576b43b0ad7233d000080bf000000000000000000000000531435bf92f534bf000080bf2468713dfe65d83e0ad723befd76b43b06d723bd000080bf000000000000000000000000bb1435bf2af534bf000080bfc45fca3d70d4ec3e0ad723be29e7193c57b0d03c000080bf000000000000000000000000a21435bf43f534bf000080bfe28f833d9219dd3e0ad723be2de7193c54b0d0bc000080bf000000000000000000000000b11435bf34f534bf000080bf5393b73dac1cea3e0ad723be54b0d03c29e7193c000080bf000000000000000000000000901435bf56f534bf000080bf0e8d833da94fe53e0ad723be57b0d03c23e719bc000080bf000000000000000000000000811435bf65f534bf000080bff6ba963df81bea3e0ad723be09d7233df576b43b000080bf000000000000000000000000951435bf50f534bf000080bfff5b713dc602ea3e0ad723be09d7233df376b4bb000080bf000000000000000000000000a71435bf3ef534bf000080bfa6ec833decd2ec3e0ad723bececc4c3d59562fbb000080bf000000000000000000000000631435bf83f534bf000080bf9fa26d3d22a7ee3e0ad723becccc4c3d60562f3b000080bf0000000000000000000000003f1435bfa7f534bf000080bfc3b5623d4b49ed3e0ad723be9999193e66562f3b000080bf000000000000000000000000421435bfa4f534bf000080bf702ab33b7a67033f0ad723be9999193e6d562fbb000080bf000000000000000000000000ef1335bff8f534bf000080bfb048053c6516043f0ad723bec33d1f3e6eca8abb000080bf0000000000000000000000007c1435bf69f534bf000080bf4001ca3b5efd043f0ad723bec43d1f3e69ca8a3b000080bf000000000000000000000000e71435bffef434bf000080bf808bfe3a72e8033f0ad723be78c31f3e6c47f332000080bf0000000000000000000000004b1635bf9af334bf000080bf80f7783b9183043f0ad723be410077bbd28d1dbe000080bf0000000000000000000000000b1435bfdbf534bf000080bf7b0b243e56c5033f0ad723be74562fbb999919be000080bf000000000000000000000000411435bfa6f534bf000080bfec83213ed56a033f0ad723be6d562fbbcecc4cbd000080bf000000000000000000000000ab1435bf3af534bf000080bf37f1dc3d9c4bed3e0ad723be6d562fbb9999193e000080bf000000000000000000000000741435bf71f534bf000080bfa81f063c7e37ba3e0ad723be74562fbbcccc4c3d000080bf0000000000000000000000002cc7b9be9f8d6e3f000080bf2db56d3d8dc1d33e0ad723be0677b4bb0ad723bd000080bf000000000000000000000000441435bfa1f534bf000080bf5da0d53dc604ea3e0ad723be0e77b4bb07d7233d000080bf000000000000000000000000681435bf7ef534bf000080bfa9f4833d5496d53e0ad723be36e719bc5cb0d0bc000080bf0000000000000000000000009e1435bf47f534bf000080bf8cc4ca3d3251e53e0ad723be3ae719bc54b0d03c000080bf000000000000000000000000b51435bf31f534bf000080bf1bc1963d184ed83e0ad723be5cb0d0bc2de7193c000080bf0000000000000000000000008b1435bf5bf534bf000080bf7799b73dcd4ed83e0ad723be5cb0d0bc36e719bc000080bf000000000000000000000000921435bf54f534bf000080bf61c7ca3d1b1bdd3e0ad723be07d723bdfd76b43b000080bf000000000000000000000000951435bf51f534bf000080bfc867ca3dd997d53e0ad723be0ad723bd0677b4bb000080bf0000000000000000000000009c1435bf4af534bf000080bf6fa6d53dff67d83e0ad723bececc4cbd66562f3b000080bf000000000000000000000000901435bf56f534bf000080bf1e83d73da2c3d33e0ad723bececc4cbd6d562fbb000080bf0000000000000000000000008c1435bf5af534bf000080bf8cf9dc3d7a21d53e0ad723be989919be59562fbb000080bf0000000000000000000000007e1435bf68f534bf000080bfe390213ed29bbb3e0ad723be999919be60562f3b000080bf000000000000000000000000721435bf74f534bf000080bfabd51e3efa3dba3e0ad723be2e811cbe4cfb633b000080bf000000000000000000000000631435bf82f534bf000080bf9edf1f3e2050b93e0ad723be2e811cbe52fb63bb000080bf000000000000000000000000781435bf6df534bf000080bfc56c233e0217bb3e0ad723be1c326bb4b4fb1d3e000080bf000000000000000000000000951435bf51f534bf000080bf309a9a3b6cceb93e0ad723be2a48753b8c751d3e000080bf000000000000000000000000cc1435bf19f534bf000080bfe0904b3b6ee4ba3e0ad723be66562f3b9999193e000080bf000000000000000000000000901435bf56f534bf000080bf50c9b43b1a95bb3e0ad723be9d0077bbd88d1d3e000080bf000000000000000000000000871435bf5ef534bf000080bf500cdf3b96f3b83ed5078d3b0c7d1f3e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf24f1bc3e0e127c3e716284bbcc881e3e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf95ccbf3eab657b3e66562fbb9999193e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff554bf3ee5ea773e59562f3b9999193e0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe57fbd3efcea773e66562fbbcecc4c3d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff654bf3eb3b42f3e66562fbbcecc4cbd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff654bf3efefcce3dfd76b4bb07d723bd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf354dc03e246edd3dfd76b4bb09d7233d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf354dc03e067c283e66562fbb989919be0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff654bf3e7042fa3c2de719bc5cb0d0bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdfa1c13e5868f23d2de719bc57b0d03c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdfa1c13ec9fe1d3e54b0d0bc2de7193c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf9023c73eb361123e57b0d0bc3ae719bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf9023c73eb2d0043e07d723bdfd76b43b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdc1ccc3e0b930f3e09d723bd0e77b4bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfdc1ccc3ed89e073ecccc4cbd66562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf7889cf3e5b870d3ececc4cbd74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf7889cf3e2faa093e999919be74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf8dc7f13e6fa8093e999919be60562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf8dc7f13e9b850d3e8d751dbe4648753b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfec11f33ed74a0e3ed88d1dbeaa0077bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf0c1af33e38de083eb5fb1dbe40e735b40ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfc83ef33eea960b3e59562f3bcecc4cbd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe67fbd3e2efdce3d6d562f3b999919be0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe67fbd3e2843fa3c3f62843bc5881ebe0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4808bd3e186dde3ca2078dbb057d1fbe0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfb7e3bf3e000ad93cf376b43b07d723bd0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfa787bc3e866edd3d6d562f3bcccc4c3d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfe67fbd3ecab42f3e0677b43b09d7233d0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfa687bc3e387c283e23e7193c5cb0d0bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bffd32bb3e0069f23d36e7193c54b0d03c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bffc32bb3e1dff1d3e54b0d03c3ae719bc0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4cb1b53e96d1043e5cb0d03c29e7193c0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4bb1b53e9762123e06d7233d0e77b4bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfffb7b03e3ea0073e0ad7233df576b43b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfffb7b03e71940f3ecbcc4c3d74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf634bad3eefab093ececc4c3d60562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf634bad3e1b890d3e9899193e74562fbb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4f0d8b3eaead093e9999193e66562f3b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf4f0d8b3edb8a0d3e8b751d3e474875bb0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bff0c2893e73e8083ed48d1d3e5300773b0ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bfd1ba893e11550e3eb2fb1d3e79d7ab320ad7233e000000006cc2e1340000803f000080bf0000000000000000000080bf1496893e599c0b3e9899193e0ad723be6d562fbb3d1634b5000080bf000000001ee8343f00000000c32135bf000080bf0d4f153ff6ea8f3e20731e3e0ad723be1d9e83bb3d1634b5000080bf00000000d9e7343f00000000092235bf000080bf9515163fd40c8f3e9e081f3e0ad723be6c47f3323d1634b5000080bf00000000e3e7343f00000000fe2135bf000080bfdda4153f2ce18d3ececc4c3d0ad723be5d562fbb3d1634b5000080bf0000000013e8343f00000000cf2135bf000080bf2c8d083fea76a93e999919be0ad723be60562f3b3d1634b5000080bf00000000e8e7343f00000000f92135bf000080bfe4b4dc3e5131db3e999919be0ad723be5d562fbb3d1634b5000080bf00000000f2e7343f00000000ef2135bf000080bfd512de3ed38edc3ececc4cbd0ad723be6d562fbb3d1634b5000080bf0000000039e8343f00000000a82135bf000080bf9796f73ede02c33e06d7233d0ad723befd76b4bb3d1634b5000080bf00000000bbe7343f00000000272235bf000080bf30a3073fe2bdac3e0ad723bd0ad723be0677b4bb3d1634b5000080bf0000000043e8343f000000009f2135bf000080bff9dcfa3ed92dc13e5cb0d03c0ad723be23e719bc3d1634b5000080bf0000000006e8343f00000000db2135bf000080bfe347063faa71b13e57b0d0bc0ad723be38e719bc3d1634b5000080bf00000000dee7343f00000000042235bf000080bfe28fff3ebc75be3e38e7193c0ad723be54b0d0bc3d1634b5000080bf00000000e7e7343f00000000fa2135bf000080bf8c48063fc1a7b93e2de719bc0ad723be5cb0d0bc3d1634b5000080bf00000000dae7343f00000000092235bf000080bffce2033f6a74be3e0677b4bb0ad723be06d723bd3d1634b5000080bf00000000f7e7343f00000000ea2135bf000080bfe03c063f042bc13e0677b43b0ad723be07d723bd3d1634b5000080bf000000000de8343f00000000d52135bf000080bf9aa4073faa5abe3e6d562f3b0ad723becbcc4cbd3d1634b5000080bf00000000f0e7343f00000000f22135bf000080bf1d8f083f0ba1c13e6b562fbb0ad723bececc4cbd3d1634b5000080bf00000000eee7343f00000000f42135bf000080bf5ce0073ffdfec23e60562fbb0ad723be989919be3d1634b5000080bf00000000d0e7343f00000000122235bf000080bf56a6143fbf82dc3e5d562f3b0ad723be999919be3d1634b5000080bf00000000d6e7343f000000000b2235bf000080bf1755153fcd24db3e5572893b0ad723becd171fbe3d1634b5000080bf00000000d9e7343f00000000092235bf000080bf1d36163fd51fdc3e16c890390ad723be6ccb1fbe3d1634b5000080bf00000000cfe7343f00000000142235bf000080bf8dcc153fd94cdd3e93ec93bb0ad723bec73f20be3d1634b5000080bf00000000c3e7343f000000001e2235bf000080bf9d3e153f22a3de3e6c2c1dbe0ad723bede1a703b3d1634b5000080bf00000000dfe7343f00000000022235bf000080bf5090db3effd4db3e6c2c1dbe0ad723bede1a70bb3d1634b5000080bf00000000eee7343f00000000f32135bf000080bf866fdd3e9bb3dd3ecccc4cbd0ad723be6b562f3b3d1634b5000080bf00000000a9a97bbf0000000046b23bbe000080bfa538f63e5da5c13ecbcc4c3d0ad723be60562f3b3d1634b5000080bf0000000002e8343f00000000df2135bf000080bf34de073f6819a83e9999193e0ad723be6b562f3b3d1634b5000080bf00000000b4e7343f000000002d2235bf000080bf14a0143f748d8e3e20731e3e0ad723be149e833b3d1634b5000080bf00000000e0e7343f00000000022235bf000080bfe50e153f1c008d3e07d7233d0ad723bef576b43b3d1634b5000080bf00000000c8e7343f00000000192235bf000080bf033b063f6eeea93e05d723bd0ad723be0677b43b3d1634b5000080bf0000000023e8343f00000000bf2135bf000080bf9e0cf83e645ebe3e54b0d03c0ad723be2be7193c3d1634b5000080bf00000000e1e7343f00000000012235bf000080bf8ee1033f8ba6ac3e54b0d0bc0ad723be2de7193c3d1634b5000080bf00000000a7e7343f000000003a2235bf000080bf38c3fa3e9daab93e23e7193c0ad723be54b0d03c3d1634b5000080bf00000000d9e7343f000000000a2235bf000080bf068dff3edca7ac3e2be719bc0ad723be57b0d03c3d1634b5000080bf00000000bee7343f00000000222235bf000080bfe7c1fa3e8674b13efd76b43b0ad723be05d7233d3d1634b5000080bf00000000dae7343f00000000072235bf000080bf3ed9fa3e42f1a93ef576b4bb0ad723be0ad7233d3d1634b5000080bf00000000e3e7343f00000000ff2135bf000080bfca09f83e9dc1ac3e5d562f3b0ad723becccc4c3d3d1634b5000080bf00000000d8e7343f00000000092235bf000080bf4692f73e491da83e60562fbb0ad723bececc4c3d3d1634b5000080bf00000000d2e7343f00000000102235bf000080bfc434f63e3b7ba93e6d562f3b0ad723be9999193e3d1634b5000080bf00000000efe7343f00000000f32135bf000080bf5106de3e88998e3e6b562fbb0ad723be9999193e3d1634b5000080bf00000000f0e7343f00000000f22135bf000080bfcfa8dc3e7af78f3e77ec93bb0ad723bec43f203e3d1634b5000080bf00000000fde7343f00000000e62135bf000080bf0c88da3e9cc78e3e5d72893b0ad723becc171f3e3d1634b5000080bf00000000fbe7343f00000000e72135bf000080bfb90add3eced78c3e610491390ad723be66cb1f3e3d1634b5000080bf000000008de7343f00000000552235bf000080bf01dedb3e49ab8d3ea7081fbe0ad7233e6c47f332cfd4a8340000803f000000004a8a34bf000000004a7f35bf000080bf7617d83e39e18d3e999919be0ad7233e74562fbbcfd4a8340000803f00000000098a34bf000000008a7f35bf000080bfe26cd73e5ceb8f3e27731ebe0ad7233e639e83bbcfd4a8340000803f00000000868a34bf000000000f7f35bf000080bf81f9d83e6d0c8f3e9899193e0ad7233e66562f3bcfd4a8340000803f000000007b8a34bf000000001a7f35bf000080bf8eaa893ee459db3ecccc4cbd0ad7233e74562fbbcfd4a8340000803f000000001f8a34bf00000000747f35bf000080bf53f6bd3e7884a93e999919be0ad7233e66562f3bcfd4a8340000803f00000000438a34bf00000000507f35bf000080bf3c0ed63e908e8e3e29731ebe0ad7233e619e833bcfd4a8340000803f00000000418a34bf00000000547f35bf000080bf12ebd63ec4008d3ececc4c3d0ad7233e66562f3bcfd4a8340000803f000000000000803f0000000000000000000080bf1d21a33ec8c0c13ecbcc4c3d0ad7233e74562fbbcfd4a8340000803f00000000808a34bf00000000157f35bf000080bfc37fa43e951dc33e07d723bd0ad7233e0e77b4bbcfd4a8340000803f00000000868a34bf00000000107f35bf000080bf0c24bc3e62ccac3e9999193e0ad7233e74562fbbcfd4a8340000803f00000000908a34bf00000000027f35bf000080bf34098b3eb2b6dc3e672c1d3e0ad7233ea61a703bcfd4a8340000803f00000000848a34bf00000000107f35bf000080bf5086883e28fedb3e672c1d3e0ad7233eb01a70bbcfd4a8340000803f00000000a58a34bf00000000ef7e35bf000080bf7c668a3eccdbdd3e06d7233d0ad7233e0e77b4bbcfd4a8340000803f00000000588a34bf000000003c7f35bf000080bf33c5a73edf46c13e54b0d0bc0ad7233e3ae719bccfd4a8340000803f00000000578a34bf000000003d7f35bf000080bfde6fb93e9081b13e54b0d03c0ad7233e3ae719bccfd4a8340000803f000000001c8a34bf00000000787f35bf000080bfb376ac3e558cbe3e2de719bc0ad7233e5cb0d0bccfd4a8340000803f000000005d8a34bf00000000377f35bf000080bf6d75b93ea6b7b93e23e7193c0ad7233e5cb0d0bccfd4a8340000803f00000000578a34bf000000003e7f35bf000080bfc9acb43ec786be3efd76b4bb0ad7233e07d723bdcfd4a8340000803f000000004c8a34bf00000000497f35bf000080bff62fbc3e2669be3ef376b43b0ad7233e07d723bdcfd4a8340000803f000000004a8a34bf00000000497f35bf000080bff661b93ef43ac13e66562fbb0ad7233ececc4cbdcfd4a8340000803f00000000278a34bf000000006d7f35bf000080bfac06be3e95aec13e59562f3b0ad7233ececc4cbdcfd4a8340000803f00000000218a34bf00000000727f35bf000080bfe0a9bc3e3c0dc33e74562f3b0ad7233e989919becfd4a8340000803f00000000608a34bf00000000337f35bf000080bffb42d63eca83dc3e66562fbb0ad7233e999919becfd4a8340000803f000000005d8a34bf00000000387f35bf000080bfc99fd73e2425db3e9e7289bb0ad7233ed4171fbecfd4a8340000803f00000000698a34bf000000002a7f35bf000080bf5762d93e451fdc3e628091b90ad7233e64cb1fbecfd4a8340000803f00000000748a34bf00000000217f35bf000080bfe48fd83e9c4cdd3ea9ec933b0ad7233ec73f20becfd4a8340000803f00000000828a34bf00000000127f35bf000080bfa174d73e90a3de3e07d7233d0ad7233efd76b43bcfd4a8340000803f00000000298a34bf000000006b7f35bf000080bf64f3a43edf78be3ececc4c3d0ad7233e66562f3bcfd4a8340000803f00000000208a34bf00000000737f35bf000080bf1d21a33ec8c0c13ececc4cbd0ad7233e66562f3bcfd4a8340000803f00000000648a34bf00000000307f35bf000080bfad97bc3eac27a83e09d723bd0ad7233efd76b43bcfd4a8340000803f00000000668a34bf000000002e7f35bf000080bf3d52b93e62fea93e5cb0d03c0ad7233e2de7193ccfd4a8340000803f000000006d8a34bf00000000287f35bf000080bf91a7a73eb1c3b93e57b0d0bc0ad7233e2de7193ccfd4a8340000803f00000000208a34bf00000000737f35bf000080bfbda0b43eecb8ac3e3ae7193c0ad7233e57b0d03ccfd4a8340000803f00000000528a34bf00000000427f35bf000080bf03a2a73e9c8db13e2de719bc0ad7233e54b0d03ccfd4a8340000803f00000000538a34bf00000000407f35bf000080bfa76aac3e7abeac3efd76b4bb0ad7233e07d7233dcfd4a8340000803f000000004e8a34bf00000000467f35bf000080bf7ab5a73e4d0aaa3e0e77b43b0ad7233e09d7233dcfd4a8340000803f00000000528a34bf00000000427f35bf000080bf79e7a43e1bdcac3e66562fbb0ad7233ecccc4c3dcfd4a8340000803f000000004e8a34bf00000000467f35bf000080bf906da43e0638a83e74562f3b0ad7233ececc4c3dcfd4a8340000803f000000004d8a34bf00000000477f35bf000080bfc310a33eac96a93e66562fbb0ad7233e9999193ecfd4a8340000803f000000004b8a34bf000000004a7f35bf000080bf74d48a3e76c18e3e59562f3b0ad7233e9999193ecfd4a8340000803f00000000498a34bf000000004a7f35bf000080bfa777893e1c20903e9fec933b0ad7233eca3f203ecfd4a8340000803f000000003c8a34bf00000000567f35bf000080bf4556873e57f18e3eb27289bb0ad7233ed6171f3ecfd4a8340000803f000000003e8a34bf00000000557f35bf000080bff2d7893e3b008d3e628091b90ad7233e66cb1f3ecfd4a8340000803f00000000d48934bf00000000bf7f35bf000080bfb9ab883e45d48d3e7cb9d5bc2bc0573c9c15323e3ccd133f2ecd13bf45cd133f570935bf000000009000353f000080bf2af1c83e401c153e2bc057bc7db9d53c9c15323e3ccd133f2ecd13bf45cd133f570935bf000000008f00353f000080bf7f84c43e16711e3e7db9d5bc7bb9d53cc7503f3e3ccd133f2ecd13bf45cd133f570935bf000000008f00353f000080bfe16bca3e89711e3e7cb9d5bc9c15323ec7503f3e37cd133f37cd133f41cd133f950035bf000000005209353f000080bfe16bca3e0698843e2bc057bc9c15323e9c15323e37cd133f37cd133f41cd133f960035bf000000005209353f000080bf7e84c43ecc97843e7db9d5bcc7503f3e9c15323e37cd133f37cd133f41cd133f950035bf000000005209353f000080bf2af1c83efd41893e7cb9d5bcc7503f3e7db9d53c42cd133f3bcd133f31cd13bfb759303f335a39bf4c0710bd000080bf34c73e3f11a9033e2bc057bc9c15323e7bb9d53c42cd133f3bcd133f31cd13bfb759303f335a39bf4c0710bd000080bfa0a1413f5633043e7db9d5bc9c15323e2bc0573c42cd133f3bcd133f31cd13bfb759303f335a39bf4c0710bd000080bf1cdb3f3f9c28f23d9c1532be2bc0573c9d15323e37cd13bf3ecd13bf3bcd133ff30435bff204353f00000000000080bf00000000bc65453f9c1532be7db9d53cca503f3e37cd13bf3ecd13bf3bcd133ff30435bff204353f00000000000080bfc549153ce3ba473fc7503fbe7bb9d53c9d15323e37cd13bf3ecd13bf3bcd133ff30435bff204353f00000000000080bfc349153cbc65453f9d1532bec7503f3e9c15323e28cd13bf44cd133f44cd133f00000000f30435bff304353f000080bf4ef9343f8b9f2f3fca503fbe9c15323e9c15323e28cd13bf44cd133f44cd133f00000000f30435bff304353f000080bf4ef9343fb2f4313f9d1532be9c15323ec7503f3e28cd13bf44cd133f44cd133f00000000f30435bff304353f000080bf754e373f8b9f2f3f9d1532be2bc0573c7db9d53c36cd13bf3bcd13bf3dcd13bff704353f00000000ef0435bf000080bf6081613f858e1d3eca503fbe7db9d53c7bb9d53c36cd13bf3bcd13bf3dcd13bff704353f00000000ef0435bf000080bf20db5f3f8727243e9d1532be7bb9d53c2bc0573c36cd13bf3bcd13bf3dcd13bff704353f00000000ef0435bf000080bfa027633f8727243e9c1532bec7503f3e7cb9d53c37cd13bf41cd133f37cd13bff704353fee04353f00000000000080bf75cffa3d1bb62a3f9c1532be9c15323e2bc0573c37cd13bf41cd133f37cd13bff704353fee04353f00000000000080bf3d26e83df460283fc7503fbe9c15323e7db9d53c37cd13bf41cd133f37cd13bff704353fee04353f00000000000080bf3d26e83d1bb62a3f9c15323e2bc0573c9c15323e39cd133f47cd13bf2fcd133f5909353f000000008f0035bf000080bfccb00f3f48a6533fc9503f3e7db9d53c9c15323e39cd133f47cd13bf2fcd133f5909353f000000008f0035bf000080bf22e7113f1351513f9c15323e7bb9d53cc7503f3e39cd133f47cd13bf2fcd133f5909353f000000008f0035bf000080bf71f30e3ff650513f9c15323e9c15323ec7503f3e31cd133f4ccd133f31cd133f9100353f00000000550935bf000080bf71f30e3f55a1363fc9503f3e9c15323e9c15323e31cd133f4ccd133f31cd133f9100353f00000000560935bf000080bf22e7113f72a1363f9c15323ec7503f3e9c15323e31cd133f4ccd133f31cd133f9200353f00000000550935bf000080bfccb00f3f5a4c343f9c15323e2bc0573c7cb9d53c39cd133f3bcd13bf3bcd13bffa05d13eeb05513fe205d1be000080bf656c103e282f993d9d15323e7db9d53c2bc0573c39cd133f3bcd13bf3bcd13bff805d13eeb05513fe005d1be000080bf95c1193e2a61a63dc9503f3e7bb9d53c7db9d53c39cd133f3bcd13bf3bcd13bffa05d13eeb05513fe205d1be000080bf95c1193e26fd8b3d9c15323ec7503f3e7db9d53c44cd133f44cd133f28cd13bff405d1bee405513ff905d13e000080bf0fea863e2a2f993dc9503f3e9c15323e7bb9d53c44cd133f44cd133f28cd13bff605d1bee405513ffb05d13e000080bf0b40823e28fd8b3d9c15323e9c15323e2bc0573c44cd133f44cd133f28cd13bff405d1bee405513ffb05d13e000080bf0b40823e2c61a63d80b9d53c2bc0573c9d15323e3acd13bf41cd13bf33cd133f00000000ed0435bff80435bf000080bf02076d3f8e998b3e80b9d53c7db9d53cca503f3e3acd13bf41cd13bf33cd133f00000000ed0435bff80435bf000080bf82ba693f8e998b3e40c0573c7bb9d53c9d15323e3acd13bf41cd13bf33cd133f00000000ee0435bff80435bf000080bfc2606b3f0ee68e3e78b9d53cc7503f3e9c15323e2dcd13bf48cd133f3bcd133f00000000ec0435bff904353f000080bf5d4bc33e3d8f363f20c0573c9c15323e9c15323e2dcd13bf48cd133f3bcd133f00000000ed0435bff904353f000080bf5d4bc33e64e4383f78b9d53c9c15323ec7503f3e2dcd13bf48cd133f3bcd133f00000000ec0435bff904353f000080bfabf5c73e3d8f363f80b9d53cc7503f3e7cb9d53c35cd13bf3fcd133f3bcd13bf000000000a0535bfdc0435bf000080bf82ba693f50addd3e80b9d53c9c15323e2bc0573c35cd13bf3fcd133f3bcd13bf000000000a0535bfdc0435bf000080bf03076d3f51addd3e40c0573c9c15323e7db9d53c35cd13bf3fcd133f3bcd13bf000000000a0535bfdc0435bf000080bfc2606b3fd060da3e9c15323e2bc0573c80b9d5bc3dcd133f40cd13bf33cd133fce1940bfc16627bf6098c53d000080bf9e4e4f3ffc77e23ec9503f3e7db9d53c80b9d5bc3dcd133f40cd13bf33cd133fce1940bfc06627bf6098c53d000080bfe31a4c3f6d0be33e9c15323e7bb9d53c40c057bc3dcd133f40cd13bf33cd133fce1940bfc16627bf6298c53d000080bfd4514e3fb7f2e63e9c15323e9c15323e40c057bc34cd133f45cd133f34cd133f93d0a2be740bfcbe146e4f3f000080bfaead3c3f537f073fc9503f3e9c15323e80b9d5bc34cd133f45cd133f34cd133f96d0a2be770bfcbe146e4f3f000080bfbd763a3fae8b053f9c15323ec7503f3e80b9d5bc34cd133f45cd133f34cd133f96d0a2be770bfcbe146e4f3f000080bff5943a3f15c2083f9c15323e2bc0573c9c1532be37cd133f3ecd13bf3bcd13bffc05d13eea05513fe705d1be000080bfcf24fe3e272f993d9d15323e7db9d53cc9503fbe37cd133f3ecd13bf3bcd13bffa05d13ee805513fe605d1be000080bfb467013f2861a63dc9503f3e7bb9d53c9c1532be37cd133f3ecd13bf3bcd13bffa05d13eea05513fe705d1be000080bfb467013f26fd8b3d9c15323ec7503f3e9c1532be28cd133f5ecd133f28cd13bf1b06d1bed305513f2006d13e000080bf566c1e3f2a2f993dc9503f3e9c15323e9d1532be28cd133f5ecd133f28cd13bf1b06d1bed305513f2006d13e000080bf54171c3f29fd8b3d9c15323e9c15323ec9503fbe28cd133f5ecd133f28cd13bf1b06d1bed305513f2006d13e000080bf54171c3f2c61a63d78b9d53cc7503f3e80b9d5bc30cd13bf41cd133f3ecd133f00000000f10435bff504353f000080bfa247133f8b9f2f3f20c0573c9c15323e80b9d5bc30cd13bf41cd133f3ecd133f00000000f00435bff604353f000080bfa247133fb2f4313f78b9d53c9c15323e40c057bc30cd13bf41cd133f3ecd133f00000000f00435bff504353f000080bfc89c153f8b9f2f3f78b9d53c2bc0573c9c1532be28cd13bf52cd13bf35cd13bf2e002abf0194a2bda3523e3f000080bfb128503e1ea44a3f20c0573c7db9d53c9d1532be28cd13bf52cd13bf35cd13bf2e002abf0294a2bda3523e3f000080bfe75f563ec2e6483f78b9d53c7bb9d53cc9503fbe28cd13bf52cd13bf35cd13bf2e002abf0194a2bda4523e3f000080bf4233493e5016493f80b9d53cc7503f3e9c1532be4acd13bf2ecd133f36cd13bf8ae950bfc4b1dcbe9121c53e000080bff42dea3ed6e8683f80b9d53c9c15323ec9503fbe4acd13bf2ecd133f36cd13bf88e950bfc4b1dcbe9121c53e000080bf0f8dea3eff336c3f40c0573c9c15323e9c1532be4acd13bf2ecd133f36cd13bf8ae950bfc4b1dcbe9021c53e000080bfaca8ed3ea4766a3f7cb9d5bc9c15323e40c057bc33cd133f40cd133f3dcd133f9f822b3fcc393dbfe6b98d3d000080bfdb287a3f3414e83e2bc057bc9c15323e80b9d5bc33cd133f40cd133f3dcd133f9e822b3fcd393dbfe5b98d3d000080bf960b7c3f5f89e33e7db9d5bcc7503f3e80b9d5bc33cd133f40cd133f3dcd133f9e822b3fcd393dbfe6b98d3d000080bf6ed6783f3df6e33e7db9d5bc2bc0573c9c1532be38cd133f3fcd13bf37cd13bfd505d13ee805513f0f06d1be000080bf646c103e396b8c3e7bb9d5bc7db9d53cc9503fbe38cd133f3fcd13bf37cd13bfd505d13ee805513f0f06d1be000080bf94c1193eb9b78f3e2bc057bc7bb9d53c9c1532be38cd133f3fcd13bf37cd13bfd505d13ee805513f0f06d1be000080bf94c1193eb81e893e7cb9d5bcc7503f3e9c1532be2ecd133f49cd133f38cd13bfd705d1bee205513f2b06d13e000080bf0fea863e396b8c3e2bc057bc9c15323e9d1532be2ecd133f49cd133f38cd13bfd605d1bee205513f2a06d13e000080bf0b40823eb81e893e7db9d5bc9c15323ec9503fbe2ecd133f49cd133f38cd13bfd605d1bee205513f2a06d13e000080bf0b40823eb9b78f3e9c1532be2bc0573c78b9d5bc3ccd13bf34cd13bf3ecd133f150535bfd104353f00000000000080bf3817023ebc65453f9c1532be7db9d53c20c057bc3ccd13bf34cd13bf3ecd133f140535bfd204353f00000000000080bfd46b0b3ee4ba473fc7503fbe7bb9d53c78b9d5bc3ccd13bf34cd13bf3ecd133f140535bfd204353f00000000000080bfd46b0b3ebd65453f9d1532bec7503f3e80b9d5bc2bcd13bf3ccd133f46cd133f00000000f60435bff004353f000080bf4ef9343fdcfac73eca503fbe9c15323e80b9d5bc2bcd13bf3ccd133f46cd133f00000000f50435bff004353f000080bf4ef9343f2aa5cc3e9d1532be9c15323e40c057bc2bcd13bf3ccd133f46cd133f00000000f50435bff004353f000080bf764e373fdcfac73e9d1532be2bc0573c9c1532be28cd13bf50cd13bf38cd13bf0006d13edc0551bf1206d13e000080bf8f368a3e34954e3fca503fbe7db9d53c9d1532be28cd13bf50cd13bf38cd13bffe05d13edc0551bf1206d13e000080bf0eea863ef4ee4c3f9d1532be7bb9d53cc9503fbe28cd13bf50cd13bf38cd13bf0006d13edc0551bf1406d13e000080bf0eea863e743b503f9c1532bec7503f3e9c1532be4ccd13bf31cd133f31cd13bfe804353ffe04353f00000000000080bff37e7f3e1cb62a3f9c1532be9c15323ec9503fbe4ccd13bf31cd133f31cd13bfe804353ffe04353f00000000000080bf572a763ef560283fc7503fbe9c15323e9c1532be4ccd13bf31cd133f31cd13bfe804353ffe04353f00000000000080bf572a763e1cb62a3f9c15323ec9503fbe9c15323e3fcd133f3fcd13bf31cd133f350935bf00000000b200353f000080bf939e1c3f884c343fc9503f3e9c1532be9c15323e3fcd133f3fcd13bf31cd133f350935bf00000000b300353f000080bf3d681a3fbea1363f9c15323e9d1532bec7503f3e3fcd133f3fcd13bf31cd133f350935bf00000000b300353f000080bfee5b1d3fdaa1363f9c15323e80b9d5bcc7503f3e36cd133f4acd133f2ecd133f8e0035bf000000005909353f000080bfee5b1d3f7b51513fc9503f3e80b9d5bc9c15323e36cd133f4acd133f2ecd133f8f0035bf000000005909353f000080bf3d681a3f5e51513f9c15323e40c057bc9c15323e36cd133f4acd133f2ecd133f8e0035bf000000005909353f000080bf929e1c3f77a6533f9c15323ec9503fbe7cb9d53c2dcd133f45cd13bf3bcd13bf0706d13ee305513ff205d1be000080bf00000000262f993d9d15323e9c1532be2bc0573c2dcd133f45cd13bf3bcd13bf0706d13ee305513ff205d1be000080bf0053153c2661a63dc9503f3e9d1532be7db9d53c2dcd133f45cd13bf3bcd13bf0706d13ee305513ff205d1be000080bff052153c26fd8b3d9c15323e40c057bc7db9d53c3bcd133f48cd133f2dcd13bffc05d1bee205513f0406d13e000080bf74cffa3d282f993dc9503f3e80b9d5bc7bb9d53c3bcd133f48cd133f2dcd13bff905d1bee205513f0306d13e000080bf6327e83d26fd8b3d9c15323e80b9d5bc2bc0573c3bcd133f48cd133f2dcd13bff905d1bee205513f0306d13e000080bf6327e83d2a61a63d80b9d53cc9503fbe9d15323e3ecd13bf3ecd13bf34cd133ff40435bff204353f00000000000080bf52897f3e0fb4233f80b9d53c9c1532beca503f3e3ecd13bf3ecd13bf34cd133ff50435bff104353f00000000000080bf52897f3e3609263f40c0573c9d1532be9d15323e3ecd13bf3ecd13bf34cd133ff40435bff204353f00000000000080bff66e843e0fb4233f78b9d53c40c057bc9c15323e31cd13bf45cd133f38cd133ffa0435bf00000000ed0435bf000080bfd21e6a3fd1c6343f20c0573c80b9d5bc9c15323e31cd13bf45cd133f38cd133ffa0435bf00000000ed0435bf000080bf12c56b3f9120333f78b9d53c80b9d5bcc7503f3e31cd13bf45cd133f38cd133ffa0435bf00000000ec0435bf000080bf9278683f9120333f78b9d53cc9503fbe7db9d53c50cd13bf35cd13bf28cd13bfe60435bfff04353f00000000000080bf51897f3e6e04093f20c0573c9c1532be7bb9d53c50cd13bf35cd13bf28cd13bfe60435bfff04353f00000000000080bff66e843e6e04093f78b9d53c9d1532be2bc0573c50cd13bf35cd13bf28cd13bfe70435bfff04353f00000000000080bf51897f3e47af063f7cb9d5bcc9503fbe9c15323e49cd133f2ecd13bf38cd133f500935bf000000009700353f000080bf2bf1c83e60fb953b2bc057bc9c1532be9c15323e49cd133f2ecd13bf38cd133f510935bf000000009600353f000080bf8084c43e104b603c7db9d5bc9d1532bec7503f3e49cd133f2ecd13bf38cd133f510935bf000000009600353f000080bfe26bca3e4052603c7cb9d5bc80b9d5bcc7503f3e3bcd133f35cd133f3fcd133f980035bf000000004f09353f000080bfe26bca3e4d87f13d2bc057bc80b9d5bc9c15323e3bcd133f35cd133f3fcd133f980035bf000000005009353f000080bf7f84c43e6686f13d7db9d5bc40c057bc9c15323e3bcd133f35cd133f3fcd133f980035bf000000005009353f000080bf2af1c83e9517023e2be719bc0ad723be57b0d03c288c6e3f2ccd81be78f384be6b2414beaf1ecb3e520e68bf0000803f79b12c3fc458723df576b4bb0ad723be0ad7233d288c6e3f2ccd81be78f384be6a2414bead1ecb3e520e68bf0000803f2ef52d3f08a6523d60562fbb0ad723bececc4c3d288c6e3f2ccd81be78f384be6a2414bead1ecb3e520e68bf0000803fcbd62e3f788e3c3d7db9d5bcc9503fbe7cb9d53c2ccd133f40cd13bf43cd13bfcd5e303fd055393fd5710fbd000080bf5881273f1050643d7bb9d5bc9c1532be2bc0573c2ccd133f40cd13bf43cd13bfcd5e303fd155393fd5710fbd000080bf8495283fc052873d2bc057bc9d1532be7db9d53c2ccd133f40cd13bf43cd13bfcd5e303fd055393fd5710fbd000080bf035c2a3f2c29623d9c1532bec9503fbe9d15323e3ecd13bf3ecd13bf31cd133ff304353ff30435bf00000000000080bf9041603c6e04093f9c1532be9c1532beca503f3e3ecd13bf3ecd13bf31cd133ff304353ff30435bf00000000000080bf9041603c47af063fc7503fbe9d1532be9d15323e3ecd13bf3ecd13bf31cd133ff304353ff30435bf00000000000080bfc0ef953b6e04093f9d1532be40c057bc9c15323e2ccd13bf41cd133f41cd133fc105d13ee705513f2a06d1be000080bf7838533f2742043fca503fbe80b9d5bc9c15323e2ccd13bf41cd133f41cd133fc005d13ee705513f2806d1be000080bf3892513fe69b023f9d1532be80b9d5bcc7503f3e2ccd13bf41cd133f41cd133fc105d13ee705513f2a06d1be000080bf3892513f67e8053f9d1532bec9503fbe7db9d53c48cd13bf2dcd13bf3acd13bfe704353fff0435bf00000000000080bf9041603c0fb4233fca503fbe9c1532be7bb9d53c48cd13bf2dcd13bf3acd13bfe704353fff0435bf00000000000080bfa0ef953b0fb4233f9d1532be9d1532be2bc0573c48cd13bf2dcd13bf3acd13bfe704353ffe0435bf00000000000080bf9041603c3609263f9c1532be40c057bc7cb9d53c40cd13bf3dcd133f33cd13bff204353ff404353f00000000000080bf006e543f98a1363f9c1532be80b9d5bc2bc0573c40cd13bf3dcd133f33cd13bff104353ff404353f00000000000080bfd918523f714c343fc7503fbe80b9d5bc7db9d53c40cd13bf3dcd133f33cd13bff204353ff404353f00000000000080bfd918523f98a1363f7cb9d5bcc9503fbe80b9d5bc44cd133f36cd13bf33cd133f02862b3f49373d3fc1898d3d000080bf0e10463faa657b3f2bc057bc9c1532be80b9d5bc44cd133f36cd13bf33cd133f02862b3f49373d3fc1898d3d000080bf4c45493f0b9c7b3f7db9d5bc9d1532be40c057bc44cd133f36cd13bf33cd133f02862b3f49373d3fc2898d3d000080bfc262473f7956793f7db9d5bcc9503fbe9c1532be3bcd133f3bcd13bf39cd13bff005d13eeb05513fe905d1be000080bf00000000386b8c3e7bb9d5bc9c1532bec9503fbe3bcd133f3bcd13bf39cd13bff005d13eeb05513fe905d1be000080bf0053153cb8b78f3e2bc057bc9d1532be9c1532be3bcd133f3bcd13bf39cd13bff005d13eeb05513fe905d1be000080bff052153cb81e893e7cb9d5bc40c057bc9c1532be32cd133f46cd133f35cd13bfd205d1bee305513f2906d13e000080bf72cffa3d396b8c3e2bc057bc80b9d5bc9d1532be32cd133f46cd133f35cd13bfd205d1bee305513f2806d13e000080bf6227e83db81e893e7db9d5bc80b9d5bcc9503fbe32cd133f46cd133f35cd13bfd205d1bee305513f2806d13e000080bf6227e83db9b78f3e9c1532bec9503fbe78b9d5bc44cd13bf36cd13bf37cd133f00000000f20435bff30435bf000080bfae491a3fdded0d3f9c1532be9c1532be20c057bc44cd13bf36cd13bf37cd133f00000000f20435bff30435bf000080bf87f4173fdded0d3fc7503fbe9d1532be78b9d5bc44cd13bf36cd13bf37cd133f00000000f20435bff30435bf000080bfae491a3f0443103f9d1532be40c057bc80b9d5bc30cd13bf3acd133f44cd133ffd04353f00000000e904353f000080bf38cee03ee473613fca503fbe80b9d5bc80b9d5bc30cd13bf3acd133f44cd133ffd04353f00000000e804353f000080bfb881dd3e241a633f9d1532be80b9d5bc40c057bc30cd13bf3acd133f44cd133ffd04353f00000000e904353f000080bfb81ae43e241a633f9d1532bec9503fbe9c1532be2dcd13bf48cd13bf3acd13bf00000000ea04353ffc0435bf000080bf4ff9343fdded0d3fca503fbe9c1532be9d1532be2dcd13bf48cd13bf3acd13bf00000000ea04353ffc0435bf000080bf4ff9343f0443103f9d1532be9d1532bec9503fbe2dcd13bf48cd13bf3acd13bf00000000ea04353ffc0435bf000080bf764e373fdded0d3f9c1532be40c057bc9c1532be45cd13bf34cd133f34cd13bfeb0435bffb0435bf00000000000080bf35a6393fdcfac73e9c1532be80b9d5bcc9503fbe45cd13bf34cd133f34cd13bfeb0435bffb0435bf00000000000080bf5cfb3b3f2aa5cc3ec7503fbe80b9d5bc9c1532be45cd13bf34cd133f34cd13bfea0435bffc0435bf00000000000080bf5cfb3b3fdcfac73e9c15323ec9503fbe80b9d5bc42cd133f38cd13bf32cd133f8ff2a2be08eefb3e58704f3f000080bf9a992f3ec452d63ec9503f3e9c1532be80b9d5bc42cd133f38cd13bf32cd133f8ff2a2be08eefb3e58704f3f000080bfda202f3ebcbfdc3e9c15323e9d1532be40c057bc42cd133f38cd13bf32cd133f8ff2a2be08eefb3e58704f3f000080bf52fd373ed8d8d83e9c15323e80b9d5bc40c057bc39cd133f44cd133f33cd133f771940bf4667273f2a91c53d000080bfce8c7e3ea272003fc9503f3e80b9d5bc80b9d5bc39cd133f44cd133f33cd133f771940bf4667273f2a91c53d000080bf56b0753e1466023f9c15323e40c057bc80b9d5bc39cd133f44cd133f33cd133f771940bf4667273f2a91c53d000080bf793f813ec2af023f9c15323ec9503fbe9c1532be3ecd133f3ecd13bf31cd13bffa05d1bee80551bfe605d13e000080bfec9dc53eb138053f9d15323e9c1532bec9503fbe3ecd133f3ecd13bf31cd13bffa05d1bee80551bfe605d13e000080bf54f3c03e7192033fc9503f3e9d1532be9c1532be3ecd133f3ecd13bf31cd13bffa05d1bee80551bfe605d13e000080bf54f3c03ef1de063f9c15323e40c057bc9c1532be2ccd133f5ccd133f26cd13bf1106d13ed30551bf2606d1be000080bf0fea863eb138053fc9503f3e80b9d5bc9d1532be2ccd133f5ccd133f26cd13bf1106d13ed30551bf2606d1be000080bf13948b3ef1de063f9c15323e80b9d5bcc9503fbe2ccd133f5ccd133f26cd13bf1106d13ed30551bf2606d1be000080bf13948b3e7192033f80b9d53cc9503fbe78b9d5bc42cd13bf34cd13bf38cd133f00000000f404353ff304353f000080bfa247133f787ce63e80b9d53c9c1532be20c057bc42cd13bf34cd13bf38cd133f00000000f404353ff304353f000080bfc99c153f787ce63e40c0573c9d1532be78b9d5bc42cd13bf34cd13bf38cd133f00000000f404353ff304353f000080bfa247133f2bd2e13e78b9d53cc9503fbe9c1532be35cd13bf50cd13bf28cd13bf00000000e10435bf0605353f000080bf0230f13e797ce63e20c0573c9c1532be9d1532be35cd13bf50cd13bf28cd13bf00000000e10435bf0605353f000080bf0230f13e2bd2e13e78b9d53c9d1532bec9503fbe35cd13bf50cd13bf28cd13bf00000000e00435bf0505353f000080bfb485ec3e797ce63e80b9d53c40c057bc9c1532be44cd13bf33cd133f39cd13bfed0435bffa0435bf00000000000080bf50752e3b009a663f80b9d53c80b9d5bcc9503fbe44cd13bf33cd133f39cd13bfec0435bffa0435bf00000000000080bf10e7403c26ef683f40c0573c80b9d5bc9c1532be44cd13bf33cd133f39cd13bfed0435bffa0435bf00000000000080bf10e7403c009a663f999919bececc4c3dcbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bff25bf63e37b42f3ececc4cbdcccc4c3dcbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bfde1dd43ef7b52f3ecccc4cbd9999193ecbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bfdd1dd43e2aec773e999919be9999193ecbcc4c3e000000000600f0b30000803f000080bf0000000000000000000080bff25bf63e69ea773ecbcc4cbececc4c3dcccc4c3d000080bf00000000040048b4000000000000803f00000000000080bf26c6d43c25072f3fcbcc4cbecccc4c3d9999193e000080bf00000000040048b4000000000000803f00000000000080bf22c6d43cb114413fcbcc4cbe9999193e9999193e000080bf00000000040048b4000000000000803f00000000000080bfef9dc53db114413fcbcc4cbe9999193ececc4c3d000080bf00000000040048b4000000000000803f00000000000080bfef9dc53d25072f3f999919becbcc4c3ecccc4c3d040048340000803f0000000000000000000000000000803f000080bfb89a1e3f804e2b3f999919becbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf45a8303f804e2b3fcecc4cbdcbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf45a8303ff440193fcccc4cbdcbcc4c3ececc4c3d040048340000803f0000000000000000000000000000803f000080bfb89a1e3ff440193fcecc4cbd4fe2da3b982a333e7bf3843e268c6ebf35cd813e2d1f353f0e55a03b99e934bf000080bf78515e3f4823923ccccc4cbd66562f3b0ad7233e7bf3843e268c6ebf35cd813e5d68353f058eb43be99f34bf000080bf953a603f0047cf3c07d723bdfd76b43b0ad7233e7bf3843e268c6ebf35cd813ecb41353fc5e4a93bc7c634bf000080bf6081613fa06da63c54b0d0bc2de7193c0ad7233e7bf3843e268c6ebf35cd813e38e4343fec11903bc32435bf000080bf0d5c633ff82f563c7cb9d5bc2bc0573c9c15323e7bf3843e268c6ebf35cd813e5cbb343f4bd0843ba94d35bf000080bf6081613f1020d33bcecc4cbd4fe2da3b982a333e2f015f3eaeac30bfb4ac303f0c2274bf000000003b149a3e000080bf2840d13e666c103e7cb9d5bc2bc0573c9c15323e2f015f3eaeac30bfb4ac303f0c2274bf0000000031149a3e000080bf2af1c83e401c153e7db9d5bc7bb9d53cc7503f3e2f015f3eaeac30bfb4ac303f0c2274bf0000000039149a3e000080bfe16bca3e89711e3ececc4cbd9711cd3cb9f5453e2f015f3eaeac30bfb4ac303f0a2274bf0000000041149a3e000080bf145ad33e21ae1d3ececc4cbdcccc4c3dcbcc4c3eb260833eb86083beb68c6e3f61d876bfe790eabaaeb1873e000080bfde1dd43ef7b52f3ececc4cbd9711cd3cb9f5453eb260833eb86083beb68c6e3f01d076bf0000000060ef873e000080bf145ad33e21ae1d3e7db9d5bc7bb9d53cc7503f3eb260833eb86083beb68c6e3ff2c676bf5dbd013b2130883e000080bfe16bca3e89711e3e9911cdbccecc4c3db9f5453eb260833eb86083beb68c6e3f01d076bf0000000060ef873e000080bf6fcdca3e0db62f3e9911cdbccecc4c3db9f5453eb1ac303f24015fbeb2ac303f550635bf000000009003353f000080bf6fcdca3e0db62f3e7db9d5bc7bb9d53cc7503f3eb1ac303f24015fbeb2ac303f550635bf000000009003353f000080bfe16bca3e89711e3e2bc057bc7db9d53c9c15323eb1ac303f24015fbeb2ac303f550635bf000000009003353f000080bf7f84c43e16711e3e4fe2dabbcecc4c3d982a333eb1ac303f24015fbeb2ac303f550635bf000000009103353f000080bfac6ac23e69b52f3e2bc057bc7db9d53c9c15323e288c6e3f73f384be31cd813e058c86be030385baa200773f000080bf7f84c43e16711e3e2de719bc57b0d03c0ad7233e288c6e3f73f384be31cd813ed7c986be70e439bbf7f7763f000080bfdfa1c13ec9fe1d3efd76b4bb09d7233d0ad7233e288c6e3f73f384be31cd813eb06b86be000000001005773f000080bf354dc03e067c283e4fe2dabbcecc4c3d982a333e288c6e3f73f384be31cd813e0f4e86be000000001709773f000080bfac6ac23e69b52f3e66562fbbcecc4c3d0ad7233e288c6e3f73f384be31cd813e054e86be000000001909773f000080bff654bf3eb3b42f3e7cb9d5bc2bc0573c9c15323eabac303fb8ac30bf25015f3e97f0223fa30bdf3e87f022bf000080bf6081613f1020d33b54b0d0bc2de7193c0ad7233eabac303fb8ac30bf25015f3e97f0223fa10bdf3e88f022bf000080bf0d5c633ff82f563c2de719bc57b0d03c0ad7233eabac303fb8ac30bf25015f3e97f0223f9f0bdf3e8af022bf000080bf9369653f109da53b2bc057bc7db9d53c9c15323eabac303fb8ac30bf25015f3e97f0223fa30bdf3e89f022bf000080bfa027633f00000000cccc4cbd9999193ecbcc4c3eac60833ec260833eb68c6e3f8ad876bfbb2eef3a79b0873e000080bfdd1dd43e2aec773e9711cdbc9899193eb9f5453eac60833ec260833eb68c6e3f26d076bf000000004fee873e000080bf6fcdca3e3fec773e7cb9d5bc9c15323ec7503f3eac60833ec260833eb68c6e3f13c776bfe2eeffba322f883e000080bfe16bca3e0698843ececc4cbd982a333eb9f5453eac60833ec260833eb68c6e3f26d076bf000000004eee873e000080bf145ad33ea6f9843ececc4cbd982a333eb9f5453e46015f3ea9ac303fb8ac303f392274bf000000001d139a3e000080bf145ad33ea6f9843e7cb9d5bc9c15323ec7503f3e46015f3ea9ac303fb8ac303f372274bf0000000022139a3e000080bfe16bca3e0698843e7db9d5bcc7503f3e9c15323e46015f3ea9ac303fb8ac303f372274bf0000000028139a3e000080bf2af1c83efd41893ececc4cbdb9f5453e982a333e46015f3ea9ac303fb8ac303f372274bf0000000021139a3e000080bf2840d13e8e998b3ececc4cbdcbcc4c3e9999193ea460833eba8c6e3fae60833e00000000a4ed87be3fd0763f000080bf45a8303ff440193fcecc4cbdb9f5453e982a333ea460833eba8c6e3fae60833ebfe2ecba13b187be77d8763f000080bf242a353ff440193f7db9d5bcc7503f3e9c15323ea460833eba8c6e3fae60833e00000000a4ed87be3fd0763f000080bf4ef9343feaef143f9911cdbcb9f5453e9899193ea460833eba8c6e3fae60833eedeeeb3a162a88becdc7763f000080bf44a8303f15bf143f9911cdbcb9f5453e9899193eaeac303fb4ac303f30015f3e000000009a139abe2522743f000080bf44a8303f15bf143f7db9d5bcc7503f3e9c15323eaeac303fb4ac303f30015f3e00000000ac139abe2222743f000080bf4ef9343feaef143f2bc057bc9c15323e9c15323eaeac303fb4ac303f30015f3e000000009b139abe2522743f000080bf4ef9343fc39a123f4fe2dabb982a333e9899193eaeac303fb4ac303f30015f3e000000008c139abe2722743f000080bf44a8303fe46e113f2bc057bc9c15323e9c15323eba8c6e3f4d62833e065f833edbe387be0000000097d1763f000080bf7e84c43ecc97843e4fe2dabb9899193e982a333eba8c6e3f4d62833e065f833e33a787be5b9306bbcad9763f000080bfac6ac23e9beb773e66562fbb9999193e0ad7233eba8c6e3f4d62833e065f833e28a787be0aa606bbcad9763f000080bff554bf3ee5ea773e716284bbcc881e3e0ad7233eba8c6e3f4d62833e065f833e23a787bec4b006bbccd9763f000080bf95ccbf3eab657b3e83e889bbdc6c213edc6c213eba8c6e3f4d62833e065f833e32e087be0000000017d2763f000080bf3e96bf3e6e6f7d3e37678bbbcde5223efa32203eba8c6e3f4d62833e065f833e7c2088be0791cc3a27c9763f000080bf2577bf3e2f797e3eb27289bb0ad7233ed6171f3eba8c6e3f4d62833e065f833e522088be74efcb3a2cc9763f000080bf4252bf3e40237f3e66562fbb0ad7233e9999193eba8c6e3f4d62833e065f833e592088be7803cc3a2cc9763f000080bfdc2fbe3efe227f3e4fe2dabb982a333e9899193eba8c6e3f4d62833e065f833e662088be6936cc3a2ac9763f000080bfe38ebf3ee5f8843e4fe2dabb9899193e982a333eafac303f28015f3eb4ac303f940335bf000000005206353f000080bfac6ac23e9beb773e2bc057bc9c15323e9c15323eafac303f28015f3eb4ac303f930335bf000000005306353f000080bf7e84c43ecc97843e7cb9d5bc9c15323ec7503f3eafac303f28015f3eb4ac303f930335bf000000005306353f000080bfe16bca3e0698843e9711cdbc9899193eb9f5453eafac303f28015f3eb4ac303f930335bf000000005306353f000080bf6fcdca3e3fec773ecccc4cbdcbcc4c3ececc4c3db960833eb68c6e3fb36083be00000000a9ed873e3dd0763f000080bfb89a1e3ff440193f9711cdbcb9f5453ececc4c3db960833eb68c6e3fb36083bed0eaebba1d2a883ecdc7763f000080bfb89a1e3f15bf143f7cb9d5bcc7503f3e7db9d53cb960833eb68c6e3fb36083be00000000a9ed873e3dd0763f000080bfae491a3feaef143fcecc4cbdb9f5453e9911cd3cb960833eb68c6e3fb36083be24ebec3a14b1873e75d8763f000080bfd9181a3ff440193fcecc4cbdb9f5453e9911cd3c06015f3eb4ac303fb0ac30bf00000000f304353ff404353f000080bfd9181a3ff440193f7cb9d5bcc7503f3e7db9d53c06015f3eb4ac303fb0ac30bf00000000f104353ff504353f000080bfae491a3feaef143f7db9d5bc9c15323e2bc0573c06015f3eb4ac303fb0ac30bf00000000f104353ff404353f000080bf87f4173feaef143fcecc4cbd982a333e4fe2da3b06015f3eb4ac303fb0ac30bf00000000f204353ff404353f000080bfa8c8163ff440193f09d723bd0ad7233efd76b43b73f3843e31cd813e288c6ebfc4262d3fe3883cbf52b442bc000080bf997d403f2fc7d43dcecc4cbd0ad7233e66562f3b73f3843e31cd813e288c6ebfd1e92c3f41c03cbf41b74abc000080bffa9b3f3f73bbc93dcecc4cbd982a333e4fe2da3b73f3843e31cd813e288c6ebfd1e92c3f42c03cbf4eb74abc000080bf749b3d3fddcfd83d7db9d5bc9c15323e2bc0573c73f3843e31cd813e288c6ebf2d692d3f5b4c3cbff7f539bc000080bf1cdb3f3f9c28f23d57b0d0bc0ad7233e2de7193c73f3843e31cd813e288c6ebf2ee82d3f12d83bbffe3329bc000080bf52c1413f7aa0e43d2de719bc0ad7233e54b0d03cb8ac303f24015f3eabac30bfd932013f3a0c54bf2c24793e000080bf00f7433f9527003e57b0d0bc0ad7233e2de7193cb8ac303f24015f3eabac30bfd932013f3a0c54bf2a24793e000080bf52c1413f7aa0e43d7db9d5bc9c15323e2bc0573cb8ac303f24015f3eabac30bfd832013f3a0c54bf2724793e000080bf1cdb3f3f9c28f23d2bc057bc9c15323e7bb9d53cb8ac303f24015f3eabac30bfda32013f390c54bf2b24793e000080bfa0a1413f5633043e4fe2dabb982a333ececc4c3d288c6e3f32cd813e78f384be7396b03e3b5c57bf042bd53e000080bf4c8f433f1fb1113e66562fbb0ad7233ecccc4c3d288c6e3f32cd813e78f384be9c97b03ec85957bff433d53e000080bfae1c463f3e990d3efd76b4bb0ad7233e07d7233d288c6e3f32cd813e78f384be01f2b03eac9756bf58f3d73e000080bfec3a453fb713083e2de719bc0ad7233e54b0d03c288c6e3f32cd813e78f384beae77b03efa9c57bf293ed43e000080bf00f7433f9527003e2bc057bc9c15323e7bb9d53c288c6e3f32cd813e78f384bee81ab03e645c58bf777bd13e000080bfa0a1413f5633043e4fe2dabb982a333ececc4c3da8ac303fb9ac303f38015fbe000000008c139a3e2722743f000080bfb89a1e3fe46e113f2bc057bc9c15323e7bb9d53ca8ac303fb9ac303f38015fbe000000009a139a3e2522743f000080bfae491a3fc39a123f7cb9d5bcc7503f3e7db9d53ca8ac303fb9ac303f38015fbe00000000aa139a3e2222743f000080bfae491a3feaef143f9711cdbcb9f5453ececc4c3da8ac303fb9ac303f38015fbe0000000098139a3e2522743f000080bfb89a1e3f15bf143f9c1532be2bc0573c9d15323ea36083bebc8c6ebf9f60833e1dae283fb8cbb9be1eae28bf000080bfb0a24e3f8527a43d982a33be4fe2da3b9999193ea36083bebc8c6ebf9f60833e1eae283fb8cbb9be1fae28bf000080bf8a8d513fcca6bd3d0ad723be66562f3b9999193ea36083bebc8c6ebf9f60833e1eae283fb8cbb9be1eae28bf000080bfa876533fde5dae3d0ad723be2a48753b8c751d3ea36083bebc8c6ebf9f60833e1fae283fb8cbb9be1eae28bf000080bf7ffb523f9884aa3d73a520be705c783b74a5203ea36083bebc8c6ebf9f60833e1bae283fb8cbb9be22ae28bf000080bfb4fb523f8527a43d8d751dbe4648753b0ad7233ea36083bebc8c6ebf9f60833e1cae283fbacbb9be20ae28bf000080bf7efb523f75ca9d3d999919be60562f3b0ad7233ea36083bebc8c6ebf9f60833e1eae283fb7cbb9be1dae28bf000080bfa876533f2ef1993d989919be4fe2da3b992a333ea36083bebc8c6ebf9f60833e1fae283fb8cbb9be1cae28bf000080bf8a8d513f3da88a3d982a33be4fe2da3b9999193eb2ac30bfb2ac30bf28015f3e178a043f065d2ebf1e8a04bf000080bf8a8d513fcca6bd3d9c1532be2bc0573c9d15323eb2ac30bfb2ac30bf28015f3e188a043f055d2ebf1d8a04bf000080bfb0a24e3f8527a43dc7503fbe7bb9d53c9d15323eb2ac30bfb2ac30bf28015f3e178a043f055d2ebf1e8a04bf000080bf70fc4c3f8559b13db9f545be9711cd3c9999193eb2ac30bfb2ac30bf28015f3e178a043f055d2ebf1f8a04bf000080bfc6354f3fe764d03dcbcc4cbecccc4c3d9999193eb68c6ebfaf6083beb960833e98ed87be3fd0763f00000000000080bf22c6d43cb114413fb9f545be9711cd3c9999193eb68c6ebfaf6083beb960833e13b187be75d8763fd1e4ec3a000080bf8114093cb114413fc7503fbe7bb9d53c9d15323eb68c6ebfaf6083beb960833e99ed87be3fd0763f00000000000080bfc349153cbc65453fb9f545bececc4c3d992a333eb68c6ebfaf6083beb960833efe2988bed1c7763f0f84ebba000080bf24c6d43c9096453fb9f545bececc4c3d992a333eb9ac30bf26015fbeaaac303f58139abe2e22743f00000000000080bf24c6d43c9096453fc7503fbe7bb9d53c9d15323eb9ac30bf26015fbeaaac303f40139abe3222743f00000000000080bfc349153cbc65453f9c1532be7db9d53cca503f3eb9ac30bf26015fbeaaac303f55139abe2e22743f00000000000080bfc549153ce3ba473f982a33bececc4c3db9f5453eb9ac30bf26015fbeaaac303f69139abe2d22743f00000000000080bf24c6d43cc2e6483f999919bececc4c3dcbcc4c3e9b6083bea46083bebd8c6e3f06d176bf00000000fbe787be000080bff25bf63e37b42f3e982a33bececc4c3db9f5453e9b6083bea46083bebd8c6e3f37d976bf4539013b76ab87be000080bfcd24fe3e6eb32f3e9c1532be7db9d53cca503f3e9b6083bea46083bebd8c6e3f06d176bf00000000fce787be000080bf000afd3ef46e1e3e989919be9911cd3cb9f5453e9b6083bea46083bebd8c6e3f9bc876bf0be9d5ba622488be000080bf2898f53e62ac1d3e989919be9911cd3cb9f5453e2a015fbeaeac30bfb4ac303f1d8a043f085d2ebf158a04bf000080bfc6354f3f45d46f3d9c1532be7db9d53cca503f3e2a015fbeaeac30bfb4ac303f1c8a043f085d2ebf148a04bf000080bf70fc4c3f83f5963d9c1532be2bc0573c9d15323e2a015fbeaeac30bfb4ac303f1c8a043f085d2ebf148a04bf000080bfb0a24e3f8527a43d989919be4fe2da3b992a333e2a015fbeaeac30bfb4ac303f1d8a043f085d2ebf148a04bf000080bf8a8d513f3da88a3d999919becbcc4c3e9999193ea36083beba8c6e3fb560833e000000009ced87be3fd0763f000080bf45a8303f804e2b3f992a33beb9f5453e9899193ea36083beba8c6e3fb560833e9aefebba1f2a88becdc7763f000080bf44a8303f60d02f3f9d1532bec7503f3e9c15323ea36083beba8c6e3fb560833e000000009bed87be3fd0763f000080bf4ef9343f8b9f2f3f999919beb9f5453e982a333ea36083beba8c6e3fb560833e8752ed3afbb087be79d8763f000080bf242a353f814e2b3f999919beb9f5453e982a333e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf242a353f814e2b3f9d1532bec7503f3e9c15323e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf4ef9343f8b9f2f3f9d1532be9c15323ec7503f3e42015fbeb0ac303fb0ac303f00000000f20435bff304353f000080bf754e373f8b9f2f3f999919be982a333eb9f5453e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf557a383f814e2b3f999919be9999193ecbcc4c3eae6083bea260833eba8c6e3f78cf76bf000000003ef387be000080bff25bf63e69ea773e999919be982a333eb9f5453eae6083bea260833eba8c6e3fffc676bff115013bc52f88be000080bf2898f53ec6f8843e9d1532be9c15323ec7503f3eae6083bea260833eba8c6e3f78cf76bf000000003ef387be000080bf000afd3eba96843e992a33be9899193eb9f5453eae6083bea260833eba8c6e3fb8d776bff459d7ba96b687be000080bfcd24fe3ea0e9773e992a33be9899193eb9f5453eb0ac30bf2a015f3eb3ac303fbd139a3e2022743f00000000000080bfec9dc53dc2e6483f9d1532be9c15323ec7503f3eb0ac30bf2a015f3eb3ac303f7c139a3e2b22743f00000000000080bf3b26e83de2ba473fca503fbe9c15323e9c15323eb0ac30bf2a015f3eb3ac303f39139a3e3422743f00000000000080bf3b26e83dbc65453fb9f545be9899193e982a333eb0ac30bf2a015f3eb3ac303f86139a3e2922743f00000000000080bfec9dc53d9096453fcbcc4cbe9999193e9999193ebc8c6ebfa260833ea760833e85ed873e42d0763f00000000000080bfef9dc53db114413fb9f545be9899193e982a333ebc8c6ebfa260833ea760833eea29883ed2c7763f6b79eb3a000080bfec9dc53d9096453fca503fbe9c15323e9c15323ebc8c6ebfa260833ea760833e85ed873e42d0763f00000000000080bf3b26e83dbc65453fb9f545be982a333e9899193ebc8c6ebfa260833ea760833e00b1873e79d8763fdeeaecba000080bfe5ace93db114413fb9f545be982a333e9899193eb0ac30bfb3ac303f26015f3e0000000091139abe2522743f000080bf44a8303f9120333fca503fbe9c15323e9c15323eb0ac30bfb3ac303f26015f3e000000009c139abe2322743f000080bf4ef9343fb2f4313f9d1532bec7503f3e9c15323eb0ac30bfb3ac303f26015f3e00000000ab139abe2222743f000080bf4ef9343f8b9f2f3f992a33beb9f5453e9899193eb0ac30bfb3ac303f26015f3e000000009b139abe2522743f000080bf44a8303f60d02f3f9d1532be2bc0573c7db9d53c2dcd81be288c6ebf7ff384bea94d353f91d2843b5cbb34bf000080bf6081613f858e1d3e0ad723be29e7193c57b0d03c2dcd81be288c6ebf7ff384beacfa353ff5262a3b990d34bf000080bf0d5c633f86c4163e0ad723bef576b43b0ad7233d2dcd81be288c6ebf7ff384be16f3343f45bc9d3bbc1535bf000080bf6081613fd2590f3e992a33be4fe2da3bcecc4c3d2dcd81be288c6ebf7ff384beea9f343f4890b43b5e6835bf000080bf77515e3f1ee3113e0ad723be60562f3bcecc4c3d2dcd81be288c6ebf7ff384beea9f343f1190b43b5d6835bf000080bf953a603fa63e0a3e0ad723be54b0d03c29e7193c20015fbeacac30bfb5ac30bf95f0223fa40bdf3e88f022bf000080bf9369653f9efa1e3e0ad723be29e7193c57b0d03c20015fbeacac30bfb5ac30bfa3f0223f8d0bdf3e84f022bf000080bf0d5c633f86c4163e9d1532be2bc0573c7db9d53c20015fbeacac30bfb5ac30bfadf0223f7c0bdf3e7ff022bf000080bf6081613f858e1d3e9d1532be7bb9d53c2bc0573c20015fbeacac30bfb5ac30bf9ef0223f940bdf3e86f022bf000080bfa027633f8727243e9d1532be7bb9d53c2bc0573c21cd81be6af384be2b8c6ebffde7273fee1241bf24f3013d000080bf63324c3f00000000992a33bececc4c3d4fe2da3b21cd81be6af384be2b8c6ebf25d1243f96a543bf77de1a3d000080bf4a0a483f807ac13b0ad723becccc4c3d60562f3b21cd81be6af384be2b8c6ebfa639263f567c42bfd88f0f3d000080bfedca483ff0402c3c0ad723be54b0d03c29e7193c21cd81be6af384be2b8c6ebf2c66293fd3cb3fbf0b82eb3c000080bf6ffc4c3f60fd833b0ad723be09d7233df576b43b21cd81be6af384be2b8c6ebf9bacf8bd727772bf8a0c983e000080bf46824a3fb890013c992a33bececc4c3d4fe2da3bb0ac30bf1f015fbeb4ac30bf83139abe2922743f00000000000080bf28c6d43c1535273f9d1532be7bb9d53c2bc0573cb0ac30bf1f015fbeb4ac30bf8c139abe2722743f00000000000080bfc949153cf460283fca503fbe7db9d53c7bb9d53cb0ac30bf1f015fbeb4ac30bf93139abe2522743f00000000000080bfc949153c1bb62a3fb9f545bececc4c3d9711cd3cb0ac30bf1f015fbeb4ac30bf8c139abe2722743f00000000000080bf28c6d43c46852a3fcbcc4cbececc4c3dcccc4c3dbf8c6ebfa26083be8c6083be93ed87be40d0763f00000000000080bf26c6d43c25072f3fb9f545bececc4c3d9711cd3cbf8c6ebfa26083be8c6083be042a88becfc7763ff4e5eb3a000080bf28c6d43c46852a3fca503fbe7db9d53c7bb9d53cbf8c6ebfa26083be8c6083be93ed87be40d0763f00000000000080bfc949153c1bb62a3fb9f545be9911cd3ccecc4c3dbf8c6ebfa26083be8c6083be02b187be79d8763f89e5ecba000080bf8914093c25072f3fb9f545be9911cd3ccecc4c3dafac30bfb3ac30bf3d015fbe95f0223fa30bdfbe88f022bf000080bfb4f95b3f2b421b3eca503fbe7db9d53c7bb9d53cafac30bfb3ac30bf3d015fbe8ef0223f8b0bdfbe97f022bf000080bf20db5f3f8727243e9d1532be2bc0573c7db9d53cafac30bfb3ac30bf3d015fbe87f0223f710bdfbea8f022bf000080bf6081613f858e1d3e992a33be4fe2da3bcecc4c3dafac30bfb3ac30bf3d015fbe90f0223f900bdfbe97f022bf000080bf77515e3f1ee3113e999919becbcc4c3ecccc4c3dc26083beb68c6e3fac6083be00000000b2ed873e3dd0763f000080bfb89a1e3f804e2b3f989919beb9f5453e9711cd3cc26083beb68c6e3fac6083be58efecba0fb1873e77d8763f000080bfd9181a3f804e2b3f9c1532bec7503f3e7cb9d53cc26083beb68c6e3fac6083be00000000b0ed873e3dd0763f000080bfae491a3f8a9f2f3f982a33beb9f5453ececc4c3dc26083beb68c6e3fac6083bea160ec3a342a883ec9c7763f000080bfb89a1e3f60d02f3f982a33beb9f5453ececc4c3da9ac30bfb8ac303f46015fbefa04353feb04353f00000000000080bf3817023e25072f3f9c1532bec7503f3e7cb9d53ca9ac30bfb8ac303f46015fbefb04353feb04353f00000000000080bf75cffa3d1bb62a3fc7503fbe9c15323e7db9d53ca9ac30bfb8ac303f46015fbefb04353feb04353f00000000000080bf3d26e83d1bb62a3fb9f545be982a333ececc4c3da9ac30bfb8ac303f46015fbefb04353feb04353f00000000000080bfe5ace93d25072f3fcbcc4cbe9999193ececc4c3dba8c6ebfae60833ea46083bea6ed873e3fd0763f00000000000080bfef9dc53d25072f3fb9f545be982a333ececc4c3dba8c6ebfae60833ea46083be13b1873e77d8763fbfe2ec3a000080bfe5ace93d25072f3fc7503fbe9c15323e7db9d53cba8c6ebfae60833ea46083bea6ed873e3fd0763f00000000000080bf3d26e83d1bb62a3fb9f545be9899193e9911cd3cba8c6ebfae60833ea46083be182a883ecdc7763fddeeebba000080bfed9dc53d46852a3fb9f545be9899193e9911cd3cb4ac30bf30015f3eaeac30bf9a139a3e2522743f00000000000080bfed9dc53d46852a3fc7503fbe9c15323e7db9d53cb4ac30bf30015f3eaeac30bfac139a3e2222743f00000000000080bf3d26e83d1bb62a3f9c1532be9c15323e2bc0573cb4ac30bf30015f3eaeac30bf9b139a3e2522743f00000000000080bf3d26e83df460283f982a33be9899193e4fe2da3bb4ac30bf30015f3eaeac30bf8d139a3e2722743f00000000000080bfed9dc53d1535273f0ad723be9999193e66562f3b696283bee55e833eba8c6ebf55b04b3ff486fbbe6a71b5be000080bfd293393fb485463d982a33be9899193e4fe2da3b696283bee55e833eba8c6ebf5db04b3fde86fbbe6871b5be000080bf2fd3383fcaa4333d9c1532be9c15323e2bc0573c696283bee55e833eba8c6ebf3b0b4c3f7472fabe5757b5be000080bf99b4353f16cd653d0ad723bec43d1f3e69ca8a3b696283bee55e833eba8c6ebff5764b3fbc34fcbea981b5be000080bfb1d8383f8bc5513d989919be982a333e4fe2da3b696283bee55e833eba8c6ebf29114c3f6360fabea255b5be000080bf94bd363f07b9823d245b21be245b213e32b0883b696283bee55e833eba8c6ebf7670483f8f9402bf514eb6be000080bfc4b1383f620c593d29731ebe0ad7233e619e833b696283bee55e833eba8c6ebfd11f4c3fa233fabe6251b5be000080bf7282383f8d70613d999919be0ad7233e66562f3b696283bee55e833eba8c6ebf7f1f4c3fa134fabe7b51b5be000080bf19be383f3b49673d989919be982a333e4fe2da3b28015fbeb4ac303fafac30bf00000000f104353ff504353f000080bfa8c8163f804e2b3f9c1532be9c15323e2bc0573c28015fbeb4ac303fafac30bf00000000f104353ff404353f000080bf87f4173f8a9f2f3f9c1532bec7503f3e7cb9d53c28015fbeb4ac303fafac30bf00000000f104353ff504353f000080bfae491a3f8a9f2f3f989919beb9f5453e9711cd3c28015fbeb4ac303fafac30bf00000000f104353ff504353f000080bfd9181a3f804e2b3fcecc4cbdcccc4c3dcbcc4c3e0654843e00000000554d773f554d77bf000000000554843e000080bfde1dd43ef7b52f3e9911cdbccecc4c3db9f5453e0654843e00000000554d773f554d77bf000000000454843e000080bf6fcdca3e0db62f3e9711cdbc9899193eb9f5453e0654843e00000000554d773f554d77bf000000000554843e000080bf6fcdca3e3fec773ecccc4cbd9999193ecbcc4c3e0654843e00000000554d773f554d77bf000000000554843e000080bfdd1dd43e2aec773e9911cdbccecc4c3db9f5453ef604353f00000000f004353fef0435bf00000000f604353f000080bf6fcdca3e0db62f3e4fe2dabbcecc4c3d982a333ef604353f00000000f004353ff00435bf00000000f604353f000080bfac6ac23e69b52f3e4fe2dabb9899193e982a333ef604353f00000000f004353fef0435bf00000000f604353f000080bfac6ac23e9beb773e9711cdbc9899193eb9f5453ef604353f00000000f004353fef0435bf00000000f604353f000080bf6fcdca3e3fec773e4fe2dabbcecc4c3d982a333e554d773f000000000654843e065484be00000000534d773f000080bfac6ac23e69b52f3e66562fbbcecc4c3d0ad7233e554d773f000000000654843e065484be00000000534d773f000080bff654bf3eb3b42f3e66562fbb9999193e0ad7233e554d773f000000000654843e065484be00000000534d773f000080bff554bf3ee5ea773e4fe2dabb9899193e982a333e554d773f000000000654843e065484be00000000534d773f000080bfac6ac23e9beb773ececc4cbdcbcc4c3e9999193ef353843e564d773f0000000000000000000000000000803f000080bf45a8303ff440193f9911cdbcb9f5453e9899193ef353843e564d773f0000000000000000000000000000803f000080bf44a8303f15bf143f9711cdbcb9f5453ececc4c3df353843e564d773f0000000000000000000000000000803f000080bfb89a1e3f15bf143fcccc4cbdcbcc4c3ececc4c3df353843e564d773f0000000000000000000000000000803f000080bfb89a1e3ff440193f9911cdbcb9f5453e9899193ef604353ff004353f0000000000000000000000000000803f000080bf44a8303f15bf143f4fe2dabb982a333e9899193ef604353ff004353f0000000000000000000000000000803f000080bf44a8303fe46e113f4fe2dabb982a333ececc4c3df604353ff004353f0000000000000000000000000000803f000080bfb89a1e3fe46e113f9711cdbcb9f5453ececc4c3df604353ff004353f0000000000000000000000000000803f000080bfb89a1e3f15bf143f4fe2dabb982a333e9899193e534d773f0c54843e000000009388613e8fbe52bf47f4053f000080bf0e6f4a3fbfb73c3e66562fbb0ad7233e9999193e534d773f0c54843e000000009288613e90be52bf44f4053f000080bf6ffc4c3fdf9f383e66562fbb0ad7233ecccc4c3d534d773f0c54843e000000008888613e85be52bf56f4053f000080bfae1c463f3e990d3e4fe2dabb982a333ececc4c3d534d773f0c54843e000000008688613e84be52bf58f4053f000080bf4c8f433f1fb1113ecccc4cbdcbcc4c3ececc4c3d00000000554d773f065484be000000000554843e554d773f000080bfb89a1e3ff440193fcecc4cbdb9f5453e9911cd3c00000000554d773f065484be000000000554843e554d773f000080bfd9181a3ff440193f989919beb9f5453e9711cd3c00000000554d773f065484be000000000554843e554d773f000080bfd9181a3f804e2b3f999919becbcc4c3ecccc4c3d00000000554d773f065484be000000000554843e554d773f000080bfb89a1e3f804e2b3fcecc4cbdb9f5453e9911cd3c00000000f004353ff60435bf00000000f604353fef04353f000080bfd9181a3ff440193fcecc4cbd982a333e4fe2da3b00000000f004353ff60435bf00000000f604353fef04353f000080bfa8c8163ff440193f989919be982a333e4fe2da3b00000000f004353ff60435bf00000000f604353ff004353f000080bfa8c8163f804e2b3f989919beb9f5453e9711cd3c00000000f004353ff60435bf00000000f604353ff004353f000080bfd9181a3f804e2b3fcecc4cbd982a333e4fe2da3b000000000654843e554d77bf99c03f3f88d823bffa572fbe000080bf749b3d3fddcfd83dcecc4cbd0ad7233e66562f3b000000000654843e554d77bf9ac03f3f86d823bffb572fbe000080bffa9b3f3f73bbc93d999919be0ad7233e66562f3b000000000654843e554d77bf98c03f3f8bd823bffe572fbe000080bf19be383f3b49673d989919be982a333e4fe2da3b000000000654843e554d77bf98c03f3f8ad823bffe572fbe000080bf94bd363f07b9823dcbcc4cbe9999193ececc4c3d564d77bf00000000f35384be000000000000803f00000000000080bfef9dc53d25072f3fb9f545be9899193e9911cd3c564d77bf00000000f35384be000000000000803f00000000000080bfed9dc53d46852a3fb9f545bececc4c3d9711cd3c564d77bf00000000f35384be000000000000803f00000000000080bf28c6d43c46852a3fcbcc4cbececc4c3dcccc4c3d564d77bf00000000f35384be000000000000803f00000000000080bf26c6d43c25072f3fb9f545be9899193e9911cd3cf00435bf8eafe633f60435bf000000000000803f00000000000080bfed9dc53d46852a3f982a33be9899193e4fe2da3bf00435bf8eafe633f60435bf000000000000803f00000000000080bfed9dc53d1535273f992a33bececc4c3d4fe2da3bf00435bf8eafe633f60435bf000000000000803f00000000000080bf28c6d43c1535273fb9f545bececc4c3d9711cd3cf00435bf8eafe633f60435bf000000000000803f00000000000080bf28c6d43c46852a3f982a33be9899193e4fe2da3b0e5484be00000000534d77bfc3a3423f3eec1dbf784c50be000080bf2fd3383fcaa4333d0ad723be9999193e66562f3b0e5484be00000000534d77bfc3a3423f3fec1dbf7a4c50be000080bfd293393fb485463d0ad723becccc4c3d60562f3b0e5484be00000000534d77bfbda3423f45ec1dbf734c50be000080bfedca483ff0402c3c992a33bececc4c3d4fe2da3b0e5484be00000000534d77bfbca3423f46ec1dbf744c50be000080bf4a0a483f807ac13b0ad723be60562f3bcecc4c3d045484be554d77bf000000004edd313f9a583ebe4bdd31bf000080bf953a603fa63e0a3e0ad723be66562f3b9999193e045484be554d77bf0000000052dd313f9b583ebe48dd31bf000080bfa876533fde5dae3d982a33be4fe2da3b9999193e045484be554d77bf0000000051dd313f9a583ebe48dd31bf000080bf8a8d513fcca6bd3d992a33be4fe2da3bcecc4c3d045484be554d77bf000000004fdd313f98583ebe4cdd31bf000080bf77515e3f1ee3113e982a33be4fe2da3b9999193ef00435bff50435bfcaab37343ccd133f39cd13bf3acd13bf000080bf8a8d513fcca6bd3db9f545be9711cd3c9999193ef00435bff50435bfcaab37343bcd133f39cd13bf3bcd13bf000080bfc6354f3fe764d03db9f545be9911cd3ccecc4c3df00435bff50435bfcaab37343ccd133f39cd13bf3acd13bf000080bfb4f95b3f2b421b3e992a33be4fe2da3bcecc4c3df00435bff50435bfcaab37343ccd133f39cd13bf39cd13bf000080bf77515e3f1ee3113eb9f545be9711cd3c9999193e554d77bffb5384be00000000fb5384be554d773f00000000000080bf8114093cb114413fcbcc4cbecccc4c3d9999193e554d77bffb5384be00000000fb5384be554d773f00000000000080bf22c6d43cb114413fcbcc4cbececc4c3dcccc4c3d554d77bffb5384be00000000fb5384be554d773f00000000000080bf26c6d43c25072f3fb9f545be9911cd3ccecc4c3d554d77bffb5384be00000000fb5384be554d773f00000000000080bf8914093c25072f3f999919becbcc4c3ecccc4c3d0e5484be534d773f0000000000000000000000000000803f000080bfb89a1e3f804e2b3f982a33beb9f5453ececc4c3d0e5484be534d773f0000000000000000000000000000803f000080bfb89a1e3f60d02f3f992a33beb9f5453e9899193e0e5484be534d773f0000000000000000000000000000803f000080bf44a8303f60d02f3f999919becbcc4c3e9999193e0e5484be534d773f0000000000000000000000000000803f000080bf45a8303f804e2b3f982a33beb9f5453ececc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bf3817023e25072f3fb9f545be982a333ececc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bfe5ace93d25072f3fb9f545be982a333e9899193ef40435bff304353f04a440b4f304353ff304353f00000000000080bfe5ace93db114413f992a33beb9f5453e9899193ef40435bff304353f04a440b4f304353ff304353f00000000000080bf3817023eb214413fb9f545be982a333ececc4c3d554d77bf0454843e717541b40354843e554d773f00000000000080bfe5ace93d25072f3fcbcc4cbe9999193ececc4c3d554d77bf0454843e717541b40354843e554d773f00000000000080bfef9dc53d25072f3fcbcc4cbe9999193e9999193e554d77bf0454843e717541b40454843e554d773f00000000000080bfef9dc53db114413fb9f545be982a333e9899193e554d77bf0454843e717541b40454843e554d773f00000000000080bfe5ace93db114413f999919be9999193ecbcc4c3e025484be557d6534554d773f554d77bf00000000015484be000080bff25bf63e69ea773e992a33be9899193eb9f5453e025484be557d6534554d773f554d77bf00000000005484be000080bfcd24fe3ea0e9773e982a33bececc4c3db9f5453e025484be557d6534554d773f554d77bf00000000015484be000080bfcd24fe3e6eb32f3e999919bececc4c3dcbcc4c3e025484be557d6534554d773f554d77bf00000000015484be000080bff25bf63e37b42f3e992a33be9899193eb9f5453ef30435bf9bc3e633f404353f000000000000803f00000000000080bfec9dc53dc2e6483fb9f545be9899193e982a333ef30435bf9bc3e633f404353f000000000000803f00000000000080bfec9dc53d9096453fb9f545bececc4c3d992a333ef30435bf9bc3e633f404353f000000000000803f00000000000080bf24c6d43c9096453f982a33bececc4c3db9f5453ef30435bf9bc3e633f404353f000000000000803f00000000000080bf24c6d43cc2e6483fb9f545be9899193e982a333e534d77bf000000000e54843e000000000000803f00000000000080bfec9dc53d9096453fcbcc4cbe9999193e9999193e534d77bf000000000e54843e000000000000803f00000000000080bfef9dc53db114413fcbcc4cbecccc4c3d9999193e534d77bf000000000e54843e000000000000803f00000000000080bf22c6d43cb114413fb9f545bececc4c3d992a333e534d77bf000000000e54843e000000000000803f00000000000080bf24c6d43c9096453f999919be60562f3b0ad7233e00000000534d77bf0b54843e4edd313f9b583ebe4bdd31bf000080bfa876533f2ef1993dcccc4cbd66562f3b0ad7233e00000000534d77bf0b54843e4add313fa2583ebe4fdd31bf000080bf953a603f0047cf3ccecc4cbd4fe2da3b982a333e00000000534d77bf0b54843e4add313fa1583ebe4fdd31bf000080bf78515e3f4823923c989919be4fe2da3b992a333e00000000534d77bf0b54843e4edd313f9b583ebe4bdd31bf000080bf8a8d513f3da88a3dcecc4cbd4fe2da3b982a333eaa63ec33f60435bff004353f44cd133f32cd13bf39cd13bf000080bf78515e3f4823923ccecc4cbd9711cd3cb9f5453eaa63ec33f60435bff004353f44cd133f33cd13bf3acd13bf000080bfb4f95b3fb0550e3c989919be9911cd3cb9f5453eaa63ec33f60435bff004353f3ecd133f36cd13bf3ccd13bf000080bfc6354f3f45d46f3d989919be4fe2da3b992a333eaa63ec33f60435bff004353f3fcd133f36cd13bf3acd13bf000080bf8a8d513f3da88a3dcecc4cbd9711cd3cb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf145ad33e21ae1d3ececc4cbdcccc4c3dcbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bfde1dd43ef7b52f3e999919bececc4c3dcbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bff25bf63e37b42f3e989919be9911cd3cb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf2898f53e62ac1d3e999919becbcc4c3e9999193e00000000534d773f0e54843e000000000e5484be534d773f000080bf45a8303f804e2b3f999919beb9f5453e982a333e00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353f814e2b3fcecc4cbdb9f5453e982a333e00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353ff440193fcecc4cbdcbcc4c3e9999193e00000000534d773f0e54843e000000000d5484be534d773f000080bf45a8303ff440193f999919beb9f5453e982a333e00000000f104353ff404353f00000000f30435bff204353f000080bf242a353f814e2b3f999919be982a333eb9f5453e00000000f104353ff404353f00000000f40435bff304353f000080bf557a383f814e2b3fcecc4cbd982a333eb9f5453e00000000f104353ff404353f00000000f30435bff204353f000080bf557a383ff440193fcecc4cbdb9f5453e982a333e00000000f104353ff404353f00000000f40435bff304353f000080bf242a353ff440193f999919be982a333eb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf2898f53ec6f8843e999919be9999193ecbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bff25bf63e69ea773ecccc4cbd9999193ecbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bfdd1dd43e2aec773ececc4cbd982a333eb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf145ad33ea6f9843ecbcc4c3dcecc4c3dcbcc4c3e00000000000000000000803f0000803f0000000000000000000080bfd1f6f13e4a004d3f9899193ecccc4c3dcbcc4c3e00000000000000000000803f0000803f0000000000000000000080bf731a0a3fdaff4c3f9999193e9999193ecbcc4c3e00000000000000000000803f0000803f0000000000000000000080bf731a0a3f4ef23a3fcbcc4c3d9999193ecbcc4c3e00000000000000000000803f0000803f0000000000000000000080bfd1f6f13ebef23a3fcbcc4c3dcbcc4c3ecccc4c3d040048340000803f0000000000000000000000000000803f000080bf308e963e333e323fcbcc4c3dcbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf49a9ba3e333e323f9899193ecbcc4c3e9999193e040048340000803f0000000000000000000000000000803f000080bf49a9ba3ea630203f9999193ecbcc4c3ececc4c3d040048340000803f0000000000000000000000000000803f000080bf308e963ea630203fcbcc4c3ececc4c3d9999193e0000803f0000000003004834000000000000803f00000000000080bfcd002b3e00000000cbcc4c3ecccc4c3dcecc4c3d0000803f0000000003004834000000000000803f00000000000080bf42052b3ee43e4c3dcbcc4c3e9999193ecccc4c3d0000803f0000000003004834000000000000803f00000000000080bf753b733ee43e4c3dcbcc4c3e9999193e9999193e0000803f0000000003004834000000000000803f00000000000080bf0037733e000000009899193e4fe2da3b982a333ea560833eba8c6ebfad60833e35f231bf3f8ab9be0bf31ebf000080bf8c3e6a3fa947c53d9999193e66562f3b0ad7233ea560833eba8c6ebfad60833e35f231bf3f8ab9be0bf31ebf000080bf580b6c3f9928b53dd48d1d3e5300773b0ad7233ea560833eba8c6ebfad60833e33f231bf3f8ab9be0ef31ebf000080bf41866b3f8e71b13d9c15323e2bc0573c9c15323ea560833eba8c6ebfad60833eadf231bf398ab9be87f21ebf000080bff026673f2e23ad3dc1b1203e0b0e7a3bc1b1203ea560833eba8c6ebfad60833eabf231bf388ab9be89f21ebf000080bf207b6b3f2d2fab3d0ad7233e2c00773bd28d1d3ea560833eba8c6ebfad60833e28f331bf308ab9befdf11ebf000080bfaa6f6b3fefeca43d0ad7233e60562f3b9999193ea560833eba8c6ebfad60833e27f331bf308ab9be00f21ebf000080bf8be66b3f36c4a03d992a333e4fe2da3b9899193ea560833eba8c6ebfad60833e25f331bf2f8ab9be00f21ebf000080bfa9e2693fd05d923d9899193e4fe2da3b982a333e31015f3eb2ac30bfafac303f0622743f0000000057149abe000080bf4e890b3f3fd2543f9c15323e2bc0573c9c15323e31015f3eb2ac30bfafac303f0322743f0000000075149abe000080bfccb00f3f48a6533f9c15323e7bb9d53cc7503f3e31015f3eb2ac30bfafac303f0622743f000000005b149abe000080bf71f30e3ff650513f9899193e9711cd3cb9f5453e31015f3eb2ac30bfafac303f0a22743f0000000042149abe000080bf577c0a3fd081513f9899193ecccc4c3dcbcc4c3eb260833eb86083beb68c6e3f65d8763f8ec8ea3a9fb187be000080bf731a0a3fdaff4c3f9899193e9711cd3cb9f5453eb260833eb86083beb68c6e3f01d0763f0000000057ef87be000080bf577c0a3fd081513f9c15323e7bb9d53cc7503f3eb260833eb86083beb68c6e3ff2c6763f5dbd01bb213088be000080bf71f30e3ff650513f992a333ececc4c3db9f5453eb260833eb86083beb68c6e3f01d0763f0000000058ef87be000080bfaac20e3fd5ff4c3f992a333ececc4c3db9f5453ea7ac303f35015fbebaac303f5f06353f00000000870335bf000080bfaac20e3fd5ff4c3f9c15323e7bb9d53cc7503f3ea7ac303f35015fbebaac303f6006353f00000000860335bf000080bf71f30e3ff650513fc9503f3e7db9d53c9c15323ea7ac303f35015fbebaac303f5f06353f00000000860335bf000080bf22e7113f1351513fb9f5453ececc4c3d982a333ea7ac303f35015fbebaac303f5e06353f00000000880335bf000080bf0cf4123ffeff4c3fcbcc4c3ececc4c3d9999193ebd8c6e3fb26083be8e60833e4ab9873e3b55ccba5dd776bf000080bfb886153f4a004d3fb9f5453ececc4c3d982a333ebd8c6e3fb26083be8e60833ef7f6873e00000000f6ce76bf000080bf0cf4123ffeff4c3fc9503f3e7db9d53c9c15323ebd8c6e3fb26083be8e60833eb137883e66d9103bdfc576bf000080bf22e7113f1351513fb9f5453e9911cd3c9899193ebd8c6e3fb26083be8e60833ef7f6873e00000000f6ce76bf000080bff061143f3082513fb9f5453e9911cd3c9899193eb0ac303fabac30bf76015f3e59010abf82e730bf128af6be000080bf136a673f81b5803dc9503f3e7db9d53c9c15323eb0ac303fabac30bf76015f3e5a010abf81e730bf0f8af6be000080bf9469653fc0b4a03d9c15323e2bc0573c9c15323eb0ac303fabac30bf76015f3e5b010abf82e730bf0d8af6be000080bff026673f2e23ad3d992a333e4fe2da3b9899193eb0ac303fabac30bf76015f3e5a010abf81e730bf108af6be000080bfa9e2693fd05d923d9999193e9999193ecbcc4c3eb160833ea860833eb88c6e3f8ed8763f8882efba6ab087be000080bf731a0a3f4ef23a3f992a333e9899193eb9f5453eb160833ea860833eb88c6e3f2ad0763f000000003aee87be000080bfaac20e3f48f23a3f9c15323e9c15323ec7503f3eb160833ea860833eb88c6e3f17c7763f577fff3a192f88be000080bf71f30e3f55a1363f9899193e982a333eb9f5453eb160833ea860833eb88c6e3f2ad0763f000000003aee87be000080bf577c0a3f8670363f9899193e982a333eb9f5453e45015f3eb2ac303faeac303f4822743f00000000ba129abe000080bf577c0a3f8670363f9c15323e9c15323ec7503f3e45015f3eb2ac303faeac303f4122743f00000000e6129abe000080bf71f30e3f55a1363f9c15323ec7503f3e9c15323e45015f3eb2ac303faeac303f3b22743f0000000013139abe000080bfccb00f3f5a4c343f9899193eb9f5453e982a333e45015f3eb2ac303faeac303f4222743f00000000de129abe000080bf4e890b3f9220333f9899193ecbcc4c3e9999193ea760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bf49a9ba3ea630203f9899193eb9f5453e982a333ea760833eba8c6e3faf60833e07e3ecba13b187be77d8763f000080bf07adc33ea630203f9c15323ec7503f3e9c15323ea760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bf5d4bc33e9cdf1b3f992a333eb9f5453e9899193ea760833eba8c6e3faf60833ef8dbeb3a142a88becdc7763f000080bf49a9ba3ec7ae1b3f992a333eb9f5453e9899193eabac303fb0ac303f76015f3e00000000ac139abe2222743f000080bf49a9ba3ec7ae1b3f9c15323ec7503f3e9c15323eabac303fb0ac303f76015f3e00000000bc139abe2022743f000080bf5d4bc33e9cdf1b3fc9503f3e9c15323e9c15323eabac303fb0ac303f76015f3e00000000ae139abe2222743f000080bf5d4bc33e758a193fb9f5453e982a333e9899193eabac303fb0ac303f76015f3e000000009f139abe2322743f000080bf49a9ba3e965e183fcbcc4c3e9999193e9999193eb88c6e3fb160833ea860833eb1a8873e8eb9063b94d976bf000080bfb886153fbef23a3fb9f5453e982a333e9899193eb88c6e3fb160833ea860833e7ce6873e000000003ad176bf000080bff061143fe670363fc9503f3e9c15323e9c15323eb88c6e3fb160833ea860833e5727883ebd3ce1ba31c876bf000080bf22e7113f72a1363fb9f5453e9899193e982a333eb88c6e3fb160833ea860833e7ce6873e000000003ad176bf000080bf0cf4123f72f23a3fb9f5453e9899193e982a333ea7ac303f3c015f3eb9ac303f9103353f00000000550635bf000080bf0cf4123f72f23a3fc9503f3e9c15323e9c15323ea7ac303f3c015f3eb9ac303f9503353f00000000510635bf000080bf22e7113f72a1363f9c15323e9c15323ec7503f3ea7ac303f3c015f3eb9ac303f9a03353f000000004c0635bf000080bf71f30e3f55a1363f992a333e9899193eb9f5453ea7ac303f3c015f3eb9ac303f9403353f00000000510635bf000080bfaac20e3f48f23a3f0ad7233e0677b43b05d7233d2bcd813e288c6ebf77f384be62d53ebf1c3f8cbcd8952abf000080bf2421793fe022a93c0ad7233e2de7193c54b0d03c2bcd813e288c6ebf77f384be97ca3fbf8a559ebcfe7d29bf000080bf56e07a3f101c553c9c15323e2bc0573c7cb9d53c2bcd813e288c6ebf77f384beab293fbff47292bc13362abf000080bff2ed783fc0adde3b992a333e4fe2da3bcecc4c3d2bcd813e288c6ebf77f384bef6873ebff88f86bc73ed2abf000080bf63e9753ff49e9a3c0ad7233e6b562f3bcccc4c3d2bcd813e288c6ebf77f384bef6873ebf039086bc73ed2abf000080bf45ed773f8838d43c992a333e4fe2da3bcecc4c3dadac303fb2ac30bf5c015fbe4d4e28bf91bbf1bea35516bf000080bf63e9753ff49e9a3c9c15323e2bc0573c7cb9d53cadac303fb2ac30bf5c015fbe4f4e28bf94bbf1be9f5516bf000080bff2ed783fc0adde3bc9503f3e7bb9d53c7db9d53cadac303fb2ac30bf5c015fbe4e4e28bf91bbf1bea25516bf000080bf9730773f80373e3ab9f5453e9711cd3ccecc4c3dadac303fb2ac30bf5c015fbe4b4e28bf8bbbf1bea55516bf000080bfce70733f78fb273ccbcc4c3ecccc4c3dcecc4c3dbc8c6e3fa66083bea46083beda5e543e39f2743fe68e50be000080bf42052b3ee43e4c3db9f5453e9711cd3ccecc4c3dbc8c6e3fa66083bea46083be3972533ed6d6743fa47c53be000080bf79fd183e88e3593dc9503f3e7bb9d53c7db9d53cbc8c6e3fa66083bea46083bed278523e68b9743fa39056be000080bf95c1193e26fd8b3db9f5453ececc4c3d9911cd3cbc8c6e3fa66083bea46083be3a72533ed6d6743fa27c53be000080bf13062b3e0e71863db9f5453ececc4c3d9911cd3cb0ac303f2c015fbeb3ac30bf24b01d3e07db793f23b01dbe000080bf13062b3e0e71863dc9503f3e7bb9d53c7db9d53cb0ac303f2c015fbeb3ac30bf4ab01d3e07db793ffdaf1dbe000080bf95c1193e26fd8b3d9d15323e7db9d53c2bc0573cb0ac303f2c015fbeb3ac30bf28b01d3e07db793f1db01dbe000080bf95c1193e2a61a63d992a333ececc4c3d4fe2da3bb0ac303f2c015fbeb3ac30bf0cb01d3e07db793f3eb01dbe000080bf13062b3e42edab3d9d15323e7db9d53c2bc0573c2ccd813e78f384be288c6ebf6766543e889a743fa8dd56be000080bf95c1193e2a61a63d0ad7233e57b0d03c2be7193c2ccd813e78f384be288c6ebf75eb4f3e59c4743f4f4458be000080bf7e4f193ebe70b83d0ad7233e0ad7233df576b43b2ccd813e78f384be288c6ebf96bc563e2a84743ff92156be000080bfd6cc233eb668bc3d0ad7233ececc4c3d60562f3b2ccd813e78f384be288c6ebf1ee0583e5e6f743fd77555be000080bf96052b3e124dbf3d992a333ececc4c3d4fe2da3b2ccd813e78f384be288c6ebf00e0583e5f6f743fda7555be000080bf13062b3e42edab3d9c15323e2bc0573c7cb9d53c29015f3eacac30bfb5ac30bf2d582fbfe994ca3e459f1cbf000080bff2ed783fc0adde3b0ad7233e2de7193c54b0d03c29015f3eacac30bfb5ac30bf35582fbfdc94ca3e429f1cbf000080bf56e07a3f101c553c0ad7233e57b0d03c2be7193c29015f3eacac30bfb5ac30bf3d582fbfcc94ca3e3b9f1cbf000080bf6fcf7c3f3014953b9d15323e7db9d53c2bc0573c29015f3eacac30bfb5ac30bf37582fbfd594ca3e3f9f1cbf000080bfc07b7a3f000000009999193ecbcc4c3ececc4c3db860833eb68c6e3fb26083be00000000a6ed873e3dd0763f000080bf308e963ea630203f992a333eb9f5453ececc4c3db860833eb68c6e3fb26083be89ddebba182a883ecdc7763f000080bf308e963ec7ae1b3f9c15323ec7503f3e7db9d53cb860833eb68c6e3fb26083be00000000a6ed873e3fd0763f000080bf1cec8d3e9cdf1b3f9899193eb9f5453e9911cd3cb860833eb68c6e3fb26083becef0ec3a13b1873e77d8763f000080bf728a8d3ea630203f9899193eb9f5453e9911cd3c0a015f3eb6ac303fadac30bf00000000ef04353ff704353f000080bf728a8d3ea630203f9c15323ec7503f3e7db9d53c0a015f3eb6ac303fadac30bf00000000ef04353ff704353f000080bf1cec8d3e9cdf1b3f9c15323e9c15323e2bc0573c0a015f3eb6ac303fadac30bf00000000ef04353ff704353f000080bfce41893e9cdf1b3f9899193e982a333e4fe2da3b0a015f3eb6ac303fadac30bf00000000ef04353ff604353f000080bf0fea863ea630203f992a333e9899193e4fe2da3b975e833eb762833ebc8c6ebf22ed57beecab743f290f523e000080bf443c733e42edab3d0ad7233e9999193e6b562f3b975e833eb762833ebc8c6ebfd0ec57bef0ab743f440f523e000080bfc83b733e124dbf3d0ad7233e2b811c3e13fb633b975e833eb762833ebc8c6ebf02ed57beeeab743f360f523e000080bf1b48753e127bbe3d9c15323e9c15323e2bc0573c975e833eb762833ebc8c6ebf8c7953beafd6743f0d78533e000080bf0b40823e2c61a63df558203ef658203e59d46d3b975e833eb762833ebc8c6ebf5c9e53be56d5743f6d6c533e000080bfb6fd773e72cfc13d672c1d3e0ad7233ea61a703b975e833eb762833ebc8c6ebfb4044fbe2000753fd6df543e000080bf12747a3ebaf0c43d9899193e982a333e4fe2da3b975e833eb762833ebc8c6ebfee044fbe1e00753fc4df543e000080bf52a1823e8a6cc53d9899193e0ad7233e66562f3b975e833eb762833ebc8c6ebfee044fbe1e00753fc4df543e000080bff6737a3e6c83c93d992a333e9899193e4fe2da3ba7ac303f38015f3eb9ac30bf12b01dbe07db793f47b01d3e000080bf443c733e42edab3d9c15323e9c15323e2bc0573ca7ac303f38015f3eb9ac30bffeaf1dbe07db793f5ab01d3e000080bf0b40823e2c61a63dc9503f3e9c15323e7bb9d53ca7ac303f38015f3eb9ac30bf12b01dbe07db793f4bb01d3e000080bf0b40823e28fd8b3db9f5453e9899193e9711cd3ca7ac303f38015f3eb9ac30bf1eb01dbe07db793f3bb01d3e000080bf443c733e0e71863dcbcc4c3e9999193ecccc4c3dba8c6e3faa60833ea26083becc5e54be38f2743f348f503e000080bf753b733ee43e4c3db9f5453e9899193e9711cd3cba8c6e3faa60833ea26083be2a7253bed2d6743fe97c533e000080bf443c733e0e71863dc9503f3e9c15323e7bb9d53cba8c6e3faa60833ea26083bec67852be66b9743fe690563e000080bf0b40823e28fd8b3db9f5453e982a333ececc4c3dba8c6e3faa60833ea26083be2b7253bed2d6743feb7c533e000080bf52a1823e8ce3593db9f5453e982a333ececc4c3da4ac303fb5ac303f7c015fbe000000009f139a3e2322743f000080bf308e963e965e183fc9503f3e9c15323e7bb9d53ca4ac303fb5ac303f7c015fbe00000000ad139a3e2222743f000080bf1cec8d3e758a193f9c15323ec7503f3e7db9d53ca4ac303fb5ac303f7c015fbe00000000bc139a3e2022743f000080bf1cec8d3e9cdf1b3f992a333eb9f5453ececc4c3da4ac303fb5ac303f7c015fbe00000000aa139a3e2222743f000080bf308e963ec7ae1b3f80b9d53c2bc0573c9d15323e7cf384be268c6ebf33cd813ea2973ebf85bcd43c1bc82abf000080bffa0d7b3fa2ad1d3e5cb0d03c29e7193c0ad7233e7cf384be268c6ebf33cd813e1af63dbf5de1c83c487f2bbf000080bf6ecf7c3f7a7b163e0ad7233df576b43b0ad7233e7cf384be268c6ebf33cd813ea1eb3ebf61ecda3c38682abf000080bfc8da7a3fb37e0f3ececc4c3d60562f3b0ad7233e7cf384be268c6ebf33cd813e60383fbfa896e03c3e102abf000080bf1b82793f35af0a3ecfcc4c3d4fe2da3b992a333e7cf384be268c6ebf33cd813e5b383fbf5996e03c43102abf000080bf4eb5773fbdbe123e40c0573c7bb9d53c9d15323eb5ac30bfabac30bf2c015f3ead0bdf3e99f022bf80f022bf000080bfc2606b3f0ee68e3e36e7193c54b0d03c0ad7233eb5ac30bfabac30bf2c015f3e980bdf3e94f022bf8df022bf000080bf703b6d3f0e4b923e5cb0d03c29e7193c0ad7233eb5ac30bfabac30bf2c015f3e7a0bdf3e8cf022bfa0f022bf000080bff5486f3f02308e3e80b9d53c2bc0573c9d15323eb5ac30bfabac30bf2c015f3e8c0bdf3e91f022bf95f022bf000080bf02076d3f8e998b3e0677b43b09d7233d0ad7233e238c6ebf90f384be36cd813e81be9d3bbe1535bf14f334bf000080bfc2606b3f6800963e36e7193c54b0d03c0ad7233e238c6ebf90f384be36cd813ec22f2a3ba50d34bfa1fa35bf000080bf703b6d3f0e4b923e40c0573c7bb9d53c9d15323e238c6ebf90f384be36cd813e6fd5843b63bb34bfa44d35bf000080bfc2606b3f0ee68e3e60e2da3bcecc4c3d992a333e238c6ebf90f384be36cd813ed091b43b5d6835bfea9f34bf000080bfd930683fc2bb943e6d562f3bcccc4c3d0ad7233e238c6ebf90f384be36cd813ee991b43b5d6835bfe99f34bf000080bff7196a3ffe8d983e60e2da3bcecc4c3d992a333eb4ac30bf20015fbeaeac303fb10bdfbe83f022bf97f022bf000080bfd930683fc2bb943e40c0573c7bb9d53c9d15323eb4ac30bf20015fbeaeac303fa40bdfbe8bf022bf93f022bf000080bfc2606b3f0ee68e3e80b9d53c7db9d53cca503f3eb4ac30bf20015fbeaeac303fae0bdfbe85f022bf97f022bf000080bf82ba693f8e998b3ea011cd3ccecc4c3db9f5453eb4ac30bf20015fbeaeac303fb90bdfbe7ef022bf99f022bf000080bf16d9653f3c0c903ecbcc4c3dcecc4c3dcbcc4c3ea06083beaa6083bebc8c6e3f07d1763f00000000ede7873e000080bfd1f6f13e4a004d3fa011cd3ccecc4c3db9f5453ea06083beaa6083bebc8c6e3f39d9763fd16201bb65ab873e000080bff52dea3e7d004d3f80b9d53c7db9d53cca503f3ea06083beaa6083bebc8c6e3f07d1763f00000000ede7873e000080bfc348eb3e9c51513fcfcc4c3d9911cd3cb9f5453ea06083beaa6083bebc8c6e3f9dc8763ff4abd53a5624883e000080bf9abaf23e4082513fcfcc4c3d9911cd3cb9f5453e2b015fbeafac30bfb3ac303f3d582fbfc994cabe3e9f1cbf000080bf4480753f13a11c3e80b9d53c7db9d53cca503f3e2b015fbeafac30bfb3ac303f38582fbfd294cabe3f9f1cbf000080bf2c80793f10a3243e80b9d53c2bc0573c9d15323e2b015fbeafac30bfb3ac303f33582fbfdb94cabe429f1cbf000080bffa0d7b3fa2ad1d3ecfcc4c3d4fe2da3b992a333e2b015fbeafac30bfb3ac303f38582fbfd194cabe3f9f1cbf000080bf4eb5773fbdbe123ecbcc4c3dcbcc4c3e9999193ea26083beba8c6e3faf60833e00000000a7ed87be3dd0763f000080bf49a9ba3e333e323f9811cd3cb9f5453e9899193ea26083beba8c6e3faf60833ebaf6ebba192a88becdc7763f000080bf49a9ba3e12c0363f78b9d53cc7503f3e9c15323ea26083beba8c6e3faf60833e00000000a6ed87be3dd0763f000080bf5d4bc33e3d8f363fcbcc4c3db9f5453e982a333ea26083beba8c6e3faf60833effe2ec3a13b187be77d8763f000080bf07adc33e333e323fcbcc4c3db9f5453e982a333e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf07adc33e333e323f78b9d53cc7503f3e9c15323e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf5d4bc33e3d8f363f78b9d53c9c15323ec7503f3e42015fbeb0ac303fb0ac303f00000000f20435bff304353f000080bfabf5c73e3d8f363fcbcc4c3d982a333eb9f5453e42015fbeb0ac303fb0ac303f00000000f30435bff304353f000080bf6a4dca3e333e323fcbcc4c3d9999193ecbcc4c3eb16083bea560833eba8c6e3f7bcf763f0000000030f3873e000080bfd1f6f13ebef23a3fcbcc4c3d982a333eb9f5453eb16083bea560833eba8c6e3f02c7763fd0df00bbac2f883e000080bf9abaf23ef670363f78b9d53c9c15323ec7503f3eb16083bea560833eba8c6e3f7bcf763f0000000030f3873e000080bfc348eb3efba1363f9811cd3c9899193eb9f5453eb16083bea560833eba8c6e3fbad7763faa75d73a92b6873e000080bff52dea3ef0f23a3f9811cd3c9899193eb9f5453eacac30bf24015f3eb6ac303f0a5d2ebf188a04bf148a04bf000080bf2815593f1694a93e78b9d53c9c15323ec7503f3eacac30bf24015f3eb6ac303f0b5d2ebf178a04bf158a04bf000080bfd2db563fef56b13e20c0573c9c15323e9c15323eacac30bf24015f3eb6ac303f0c5d2ebf168a04bf178a04bf000080bf1282583f6fa3b43e40e2da3b9899193e982a333eacac30bf24015f3eb6ac303f0b5d2ebf178a04bf158a04bf000080bfec6c5b3f9d43ae3e40e2da3b982a333e9899193ebd8c6ebff861833e455f833eb7cbb9be1dae28bf1eae28bf000080bfec6c5b3f4103bb3e59562f3b0ad7233e9999193ebd8c6ebff861833e455f833eb4cbb9be07ae28bf36ae28bf000080bf0a565d3f0531b73e9fec933b0ad7233eca3f203ebd8c6ebff861833e455f833eb4cbb9be1aae28bf23ae28bf000080bfd7815c3fa088b53e20c0573c9c15323e9c15323ebd8c6ebff861833e455f833eb7cbb9be24ae28bf18ae28bf000080bf1282583f6fa3b43e29d2913bcddf213ecddf213ebd8c6ebff861833e455f833eb4cbb9be1fae28bf1fae28bf000080bfb78c5c3f6fa3b43ed5078d3b0c7d1f3e0ad7233ebd8c6ebff861833e455f833eb4cbb9be2bae28bf12ae28bf000080bf1e9a5c3fb18db33e59562f3b9999193e0ad7233ebd8c6ebff861833e455f833eb5cbb9be27ae28bf17ae28bf000080bf0a565d3fd915b23e40e2da3b9899193e982a333ebd8c6ebff861833e455f833eb5cbb9be22ae28bf1cae28bf000080bfec6c5b3f9d43ae3e40e2da3b982a333e9899193eb0ac30bfb3ac303f28015f3e000000008f139abe2722743f000080bf49a9ba3e43103a3f20c0573c9c15323e9c15323eb0ac30bfb3ac303f28015f3e000000009d139abe2322743f000080bf5d4bc33e64e4383f78b9d53cc7503f3e9c15323eb0ac30bfb3ac303f28015f3e00000000ad139abe2222743f000080bf5d4bc33e3d8f363f9811cd3cb9f5453e9899193eb0ac30bfb3ac303f28015f3e000000009b139abe2522743f000080bf49a9ba3e12c0363fcbcc4c3dcbcc4c3ecccc4c3dc26083beb68c6e3fac6083be00000000bfed873e3bd0763f000080bf308e963e333e323fcfcc4c3db9f5453e9711cd3cc26083beb68c6e3fac6083be4787ecba28b1873e74d8763f000080bf728a8d3e323e323f80b9d53cc7503f3e7cb9d53cc26083beb68c6e3fac6083be00000000bfed873e3bd0763f000080bf1cec8d3e3c8f363fa011cd3cb9f5453ececc4c3dc26083beb68c6e3fac6083be5a66ec3a342a883ec9c7763f000080bf308e963e12c0363fa011cd3cb9f5453ececc4c3da9ac30bfb8ac303f37015fbe5e0bdfbe75f022bfc1f022bf000080bf16d9653fa43ad93e80b9d53cc7503f3e7cb9d53ca9ac30bfb8ac303f37015fbe860bdfbe80f022bfa8f022bf000080bf82ba693f50addd3e40c0573c9c15323e7db9d53ca9ac30bfb8ac303f37015fbeaf0bdfbe8ef022bf8df022bf000080bfc2606b3fd060da3e60e2da3b982a333ececc4c3da9ac30bfb8ac303f37015fbe800bdfbe7ff022bfacf022bf000080bfda30683f1c8bd43e40c0573c9c15323e7db9d53c248c6ebf39cd813e84f384be51ce843bb44d35bf52bb34bf000080bfc2606b3fd060da3e3ae7193c0ad7233e57b0d03c248c6ebf39cd813e84f384be92202a3bb3fa35bf930d34bf000080bf703b6d3fd1fbd63e0e77b43b0ad7233e09d7233d248c6ebf39cd813e84f384be92b99d3b1cf334bfb61535bf000080bfc2606b3f7746d33e74562f3b0ad7233ececc4c3d248c6ebf39cd813e84f384be438bb43bf79f34bf506835bf000080bff7196a3fe1b8d03e60e2da3b982a333ececc4c3d248c6ebf39cd813e84f384be018ab43bfc9f34bf4c6835bf000080bfda30683f1c8bd43e80b9d53c9c15323e2bc0573cbaac30bf29015f3ea8ac30bfa60bdf3e81f022bf9cf022bf000080bf03076d3f51addd3e5cb0d03c0ad7233e2de7193cbaac30bf29015f3ea8ac30bfd10bdf3e66f022bfa9f022bf000080bff5486f3fdc16db3e3ae7193c0ad7233e57b0d03cbaac30bf29015f3ea8ac30bf890bdf3e92f022bf93f022bf000080bf703b6d3fd1fbd63e40c0573c9c15323e7db9d53cbaac30bf29015f3ea8ac30bf530bdf3eb5f022bf83f022bf000080bfc2606b3fd060da3e07d7233d0ad7233efd76b43b76f384be37cd813e288c6ebff410aabe3df2613f3c56aa3e000080bfed6e7a3e6a7a1b3e5cb0d03c0ad7233e2de7193c76f384be37cd813e288c6ebf9a6eaebe43fb603f4b07ab3e000080bf1a6e7a3e22e9203e80b9d53c9c15323e2bc0573c76f384be37cd813e288c6ebf9590abbe259e613f6093aa3e000080bfbf3c823e56ab1e3ecfcc4c3d982a333e4fe2da3b76f384be37cd813e288c6ebffdb0a8bec83e623fcd1daa3e000080bf179f823efbc5153ececc4c3d0ad7233e66562f3b76f384be37cd813e288c6ebf18b1a8bec23e623fd31daa3e000080bf7f6f7a3e6cd1173ecfcc4c3d982a333e4fe2da3b26015fbeb2ac303fb2ac30bf00000000f304353ff304353f000080bf0fea863e323e323f80b9d53c9c15323e2bc0573c26015fbeb2ac303fb2ac30bf00000000f304353ff304353f000080bfce41893e3c8f363f80b9d53cc7503f3e7cb9d53c26015fbeb2ac303fb2ac30bf00000000f204353ff304353f000080bf1cec8d3e3c8f363fcfcc4c3db9f5453e9711cd3c26015fbeb2ac303fb2ac30bf00000000f304353ff304353f000080bf728a8d3e323e323f992a333e4fe2da3b9899193efe53843e554d77bf00000000fd3b3bbf8b5f48be033e27bf000080bfa9e2693fd05d923d0ad7233e60562f3b9999193efe53843e554d77bf00000000fd3b3bbf8b5f48be043e27bf000080bf8be66b3f36c4a03d0ad7233e6b562f3bcccc4c3dfe53843e554d77bf00000000fd3b3bbf8d5f48be023e27bf000080bf45ed773f8838d43c992a333e4fe2da3bcecc4c3dfe53843e554d77bf00000000fe3b3bbf8c5f48be023e27bf000080bf63e9753ff49e9a3c992a333e4fe2da3bcecc4c3df004353ff60435bf00000000540c19bf4f0c19bfc3b408bf000080bf63e9753ff49e9a3cb9f5453e9711cd3ccecc4c3df004353ff60435bf00000000530c19bf4e0c19bfc4b408bf000080bfce70733f78fb273cb9f5453e9911cd3c9899193ef004353ff60435bf00000000510c19bf4c0c19bfc5b408bf000080bf136a673f81b5803d992a333e4fe2da3b9899193ef004353ff60435bf00000000520c19bf4c0c19bfc4b408bf000080bfa9e2693fd05d923db9f5453e9711cd3ccecc4c3d564d773ff25384be000000003b1e803e406f6f3f101e80be000080bf79fd183e88e3593dcbcc4c3ecccc4c3dcecc4c3d564d773ff25384be000000003b1e803e406f6f3f1d1e80be000080bf42052b3ee43e4c3dcbcc4c3ececc4c3d9999193e564d773ff25384be00000000381e803e376f6f3f551e80be000080bfcd002b3e00000000b9f5453e9911cd3c9899193e564d773ff25384be00000000371e803e396f6f3f4a1e80be000080bf04f9183ec04a5a3b9899193ecccc4c3dcbcc4c3e0254843e5e754134554d773f554d773f00000000015484be000080bf731a0a3fdaff4c3f992a333ececc4c3db9f5453e0254843e5e754134554d773f554d773f00000000025484be000080bfaac20e3fd5ff4c3f992a333e9899193eb9f5453e0254843e5e754134554d773f554d773f00000000025484be000080bfaac20e3f48f23a3f9999193e9999193ecbcc4c3e0254843e5e754134554d773f554d773f00000000025484be000080bf731a0a3f4ef23a3f992a333ececc4c3db9f5453ef804353f00000000ed04353fed04353f00000000f80435bf000080bfaac20e3fd5ff4c3fb9f5453ececc4c3d982a333ef804353f00000000ed04353fec04353f00000000f90435bf000080bf0cf4123ffeff4c3fb9f5453e9899193e982a333ef804353f00000000ed04353fed04353f00000000f80435bf000080bf0cf4123f72f23a3f992a333e9899193eb9f5453ef804353f00000000ed04353fec04353f00000000f90435bf000080bfaac20e3f48f23a3fb9f5453ececc4c3d982a333e554d773f00000000fa53843efa53843e00000000554d77bf000080bf0cf4123ffeff4c3fcbcc4c3ececc4c3d9999193e554d773f00000000fa53843efa53843e00000000554d77bf000080bfb886153f4a004d3fcbcc4c3e9999193e9999193e554d773f00000000fa53843efa53843e00000000554d77bf000080bfb886153fbef23a3fb9f5453e9899193e982a333e554d773f00000000fa53843efa53843e00000000554d77bf000080bf0cf4123f72f23a3f9899193ecbcc4c3e9999193ef353843e564d773f0000000000000000000000000000803f000080bf49a9ba3ea630203f992a333eb9f5453e9899193ef353843e564d773f0000000000000000000000000000803f000080bf49a9ba3ec7ae1b3f992a333eb9f5453ececc4c3df353843e564d773f0000000000000000000000000000803f000080bf308e963ec7ae1b3f9999193ecbcc4c3ececc4c3df353843e564d773f0000000000000000000000000000803f000080bf308e963ea630203f992a333eb9f5453e9899193ef304353ff304353f0000000000000000000000000000803f000080bf49a9ba3ec7ae1b3fb9f5453e982a333e9899193ef304353ff304353f0000000000000000000000000000803f000080bf49a9ba3e965e183fb9f5453e982a333ececc4c3df304353ff304353f0000000000000000000000000000803f000080bf308e963e965e183f992a333eb9f5453ececc4c3df304353ff304353f0000000000000000000000000000803f000080bf308e963ec7ae1b3fb9f5453e982a333e9899193e554d773ffd53843e00000000441e80be376f6f3f491e803e000080bf179f823ec04a5a3bcbcc4c3e9999193e9999193e554d773ffd53843e00000000441e80be376f6f3f4d1e803e000080bf0037733e00000000cbcc4c3e9999193ecccc4c3d554d773ffd53843e00000000431e80be396f6f3f3b1e803e000080bf753b733ee43e4c3db9f5453e982a333ececc4c3d554d773ffd53843e00000000451e80be396f6f3f381e803e000080bf52a1823e8ce3593d992a333ececc4c3d4fe2da3bf853843e00000000554d77bf000000000000803f00000000000080bf13062b3e42edab3d0ad7233ececc4c3d60562f3bf853843e00000000554d77bf000000000000803f00000000000080bf96052b3e124dbf3d0ad7233e9999193e6b562f3bf853843e00000000554d77bf000000000000803f00000000000080bfc83b733e124dbf3d992a333e9899193e4fe2da3bf853843e00000000554d77bf000000000000803f00000000000080bf443c733e42edab3d992a333e9899193e4fe2da3bf604353f00000000f00435bf000000000000803f00000000000080bf443c733e42edab3db9f5453e9899193e9711cd3cf604353f00000000f00435bf000000000000803f00000000000080bf443c733e0e71863db9f5453ececc4c3d9911cd3cf604353f00000000f00435bf000000000000803f00000000000080bf13062b3e0e71863d992a333ececc4c3d4fe2da3bf604353f00000000f00435bf000000000000803f00000000000080bf13062b3e42edab3db9f5453e9899193e9711cd3c534d773f00000000095484be000000000000803f00000000000080bf443c733e0e71863dcbcc4c3e9999193ecccc4c3d534d773f00000000095484be000000000000803f00000000000080bf753b733ee43e4c3dcbcc4c3ecccc4c3dcecc4c3d534d773f00000000095484be000000000000803f00000000000080bf42052b3ee43e4c3db9f5453ececc4c3d9911cd3c534d773f00000000095484be000000000000803f00000000000080bf13062b3e0e71863d9999193ecbcc4c3ececc4c3d00000000554d773f065484be000000000554843e554d773f000080bf308e963ea630203f9899193eb9f5453e9911cd3c00000000554d773f065484be000000000654843e554d773f000080bf728a8d3ea630203fcfcc4c3db9f5453e9711cd3c00000000554d773f065484be000000000454843e554d773f000080bf728a8d3e323e323fcbcc4c3dcbcc4c3ecccc4c3d00000000554d773f065484be000000000654843e554d773f000080bf308e963e333e323f9899193eb9f5453e9911cd3c00000000f004353ff50435bf00000000f604353ff004353f000080bf728a8d3ea630203f9899193e982a333e4fe2da3b00000000f004353ff50435bf00000000f604353ff004353f000080bf0fea863ea630203fcfcc4c3d982a333e4fe2da3b00000000f004353ff50435bf00000000f604353fef04353f000080bf0fea863e323e323fcfcc4c3db9f5453e9711cd3c00000000f004353ff50435bf00000000f604353ff004353f000080bf728a8d3e323e323f9899193e982a333e4fe2da3b000000000654843e534d77bf5d1e80be366f6f3f4b1e803e000080bf52a1823e8a6cc53d9899193e0ad7233e66562f3b000000000654843e534d77bf5c1e80be366f6f3f4b1e803e000080bff6737a3e6c83c93dcecc4c3d0ad7233e66562f3b000000000654843e534d77bf481e80be376f6f3f4a1e803e000080bf7f6f7a3e6cd1173ecfcc4c3d982a333e4fe2da3b000000000654843e534d77bf4a1e80be376f6f3f4d1e803e000080bf179f823efbc5153ecbcc4c3dcbcc4c3ecccc4c3d0e5484be534d773f0000000000000000000000000000803f000080bf308e963e333e323fa011cd3cb9f5453ececc4c3d0e5484be534d773f0000000000000000000000000000803f000080bf308e963e12c0363f9811cd3cb9f5453e9899193e0e5484be534d773f0000000000000000000000000000803f000080bf49a9ba3e12c0363fcbcc4c3dcbcc4c3e9999193e0e5484be534d773f0000000000000000000000000000803f000080bf49a9ba3e333e323fa011cd3cb9f5453ececc4c3df40435bff304353f86b8d8b32ccd13bf2fcd13bf54cd13bf000080bf16d9653fa43ad93e60e2da3b982a333ececc4c3df40435bff304353f86b8d8b32bcd13bf2ccd13bf58cd13bf000080bfda30683f1c8bd43e40e2da3b982a333e9899193ef40435bff304353f86b8d8b335cd13bf38cd13bf41cd13bf000080bfec6c5b3f4103bb3e9811cd3cb9f5453e9899193ef40435bff304353f86b8d8b337cd13bf3acd13bf3dcd13bf000080bf2815593fc8b2bf3e74562f3b0ad7233ececc4c3d554d77bfff53843eacddddb397583ebe5bdd31bf3ddd31bf000080bff7196a3fe1b8d03e59562f3b0ad7233e9999193e554d77bfff53843eacddddb382583ebe47dd31bf53dd31bf000080bf0a565d3f0531b73e40e2da3b982a333e9899193e554d77bfff53843eacddddb384583ebe4add31bf50dd31bf000080bfec6c5b3f4103bb3e60e2da3b982a333ececc4c3d554d77bfff53843eacddddb399583ebe5bdd31bf3cdd31bf000080bfda30683f1c8bd43ecbcc4c3d9999193ecbcc4c3e025484be567d6534554d773f554d773f000000000254843e000080bfd1f6f13ebef23a3f9811cd3c9899193eb9f5453e025484be567d6534554d773f554d773f000000000254843e000080bff52dea3ef0f23a3fa011cd3ccecc4c3db9f5453e025484be567d6534554d773f554d773f000000000154843e000080bff52dea3e7d004d3fcbcc4c3dcecc4c3dcbcc4c3e025484be567d6534554d773f554d773f000000000254843e000080bfd1f6f13e4a004d3f9811cd3c9899193eb9f5453ef40435bf9cc3e633f304353f34cd13bf46cd13bf34cd13bf000080bf2815593f1694a93e40e2da3b9899193e982a333ef40435bf9cc3e633f304353f36cd13bf43cd13bf36cd13bf000080bfec6c5b3f9d43ae3e60e2da3bcecc4c3d992a333ef40435bf9cc3e633f304353f40cd13bf30cd13bf40cd13bf000080bfd930683fc2bb943ea011cd3ccecc4c3db9f5453ef40435bf9cc3e633f304353f3dcd13bf34cd13bf3dcd13bf000080bf16d9653f3c0c903e40e2da3b9899193e982a333e554d77bf000000000454843e8f583ebe53dd31bf48dd31bf000080bfec6c5b3f9d43ae3e59562f3b9999193e0ad7233e554d77bf000000000454843e8f583ebe53dd31bf48dd31bf000080bf0a565d3fd915b23e6d562f3bcccc4c3d0ad7233e554d77bf000000000454843e91583ebe50dd31bf4add31bf000080bff7196a3ffe8d983e60e2da3bcecc4c3d992a333e554d77bf000000000454843e91583ebe50dd31bf4add31bf000080bfd930683fc2bb943ecfcc4c3d4fe2da3b992a333e00000000554d77bf0454843e95f63bbfd2ac33beaae427bf000080bf4eb5773fbdbe123ececc4c3d60562f3b0ad7233e00000000554d77bf0454843e94f63bbfd3ac33beabe427bf000080bf1b82793f35af0a3e9999193e66562f3b0ad7233e00000000554d77bf0454843e98f63bbfcaac33bea7e427bf000080bf580b6c3f9928b53d9899193e4fe2da3b982a333e00000000554d77bf0454843e9af63bbfcbac33bea6e427bf000080bf8c3e6a3fa947c53d9899193e4fe2da3b982a333ea363ec33fc0435bfea04353f61e51ebff7ed0dbf03ee0dbf000080bf8c3e6a3fa947c53d9899193e9711cd3cb9f5453ea363ec33fc0435bfea04353f62e51ebff6ed0dbf04ee0dbf000080bf8209683f550cd93dcfcc4c3d9911cd3cb9f5453ea363ec33fc0435bfea04353f64e51ebff6ed0dbf02ee0dbf000080bf4480753f13a11c3ecfcc4c3d4fe2da3b992a333ea363ec33fc0435bfea04353f64e51ebff7ed0dbf02ee0dbf000080bf4eb5773fbdbe123e9899193e9711cd3cb9f5453e00000000dc5384be5a4d773f0000803f0000000000000000000080bf577c0a3fd081513f9899193ecccc4c3dcbcc4c3e00000000dc5384be5a4d773f0000803f0000000000000000000080bf731a0a3fdaff4c3fcbcc4c3dcecc4c3dcbcc4c3e00000000dc5384be5a4d773f0000803f0000000000000000000080bfd1f6f13e4a004d3fcfcc4c3d9911cd3cb9f5453e00000000dc5384be5a4d773f0000803f0000000000000000000080bf9abaf23e4082513fcbcc4c3dcbcc4c3e9999193e00000000534d773f1254843e00000000115484be534d773f000080bf49a9ba3e333e323fcbcc4c3db9f5453e982a333e00000000534d773f1254843e00000000115484be534d773f000080bf07adc33e333e323f9899193eb9f5453e982a333e00000000534d773f1254843e00000000115484be534d773f000080bf07adc33ea630203f9899193ecbcc4c3e9999193e00000000534d773f1254843e00000000115484be534d773f000080bf49a9ba3ea630203fcbcc4c3db9f5453e982a333e00000000f304353ff404353f00000000f30435bff204353f000080bf07adc33e333e323fcbcc4c3d982a333eb9f5453e00000000f304353ff404353f00000000f40435bff304353f000080bf6a4dca3e333e323f9899193e982a333eb9f5453e00000000f304353ff404353f00000000f30435bff204353f000080bf6a4dca3ea630203f9899193eb9f5453e982a333e00000000f304353ff404353f00000000f40435bff304353f000080bf07adc33ea630203fcbcc4c3d982a333eb9f5453e000000001054843e534d773f0000803f0000000000000000000080bf9abaf23ef670363fcbcc4c3d9999193ecbcc4c3e000000001054843e534d773f0000803f0000000000000000000080bfd1f6f13ebef23a3f9999193e9999193ecbcc4c3e000000001054843e534d773f0000803f0000000000000000000080bf731a0a3f4ef23a3f9899193e982a333eb9f5453e000000001054843e534d773f0000803f0000000000000000000080bf577c0a3f8670363fcbcc4c3dcbcc4c3e999919be000000000000803f0000000000000000000000000000803f000080bf16d2f93e804e2b3fcbcc4c3dcbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf98f60e3f814e2b3f9899193ecbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf98f60e3ff440193f9999193ecbcc4c3e989919be000000000000803f0000000000000000000000000000803f000080bf16d2f93ef440193fcbcc4c3ececc4c3dcbcc4cbd0000803f0000000005004834000000000000803f00000000000080bf82b7053f00000000cbcc4c3ecccc4c3d989919be0000803f0000000005004834000000000000803f00000000000080bf9fb8053fdf3e4c3dcbcc4c3e9999193e999919be0000803f0000000005004834000000000000803f00000000000080bf2cc6173fe53e4c3dcbcc4c3e9999193ecbcc4cbd0000803f0000000005004834000000000000803f00000000000080bf0ec5173f000000329999193ececc4c3dcbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf9fb8053fdf3ecc3dcbcc4c3dcccc4c3dcbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf81b7053f262f193ecbcc4c3d9999193ecbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf0ec5173f262f193e9899193e9999193ecbcc4cbe0000000000000000000080bf000000000000803f00000000000080bf2cc6173fe13ecc3d0ad7233e60562f3bcecc4cbd31cd813e268c6ebf7af3843e12102abf8b99e03c87383f3f000080bf5479523e90926b3f992a333e4fe2da3bcfcc4cbd31cd813e268c6ebf7af3843e1e102abfc798e03c7a383f3f000080bf22464b3e72966d3f9c15323e2bc0573c80b9d5bc31cd813e268c6ebf7af3843e23c82abffebbd43c9a973e3f000080bfd1a8583e2a52703f0ad7233efd76b43b07d723bd31cd813e268c6ebf7af3843e19682abf5ceeda3cbdeb3e3f000080bf08dc573e6fc66c3f0ad7233e2de7193c5cb0d0bc31cd813e268c6ebf7af3843e827f2bbf77ddc83ce5f53d3f000080bfa4ae5f3ea1856e3f9c15323e7bb9d53c40c057bc23015f3ea8ac30bfbaac303f002645bfbf4f0ebff732a0be000080bfd4514e3fb7f2e63e0ad7233e54b0d03c3ae719bc23015f3ea8ac30bfbaac303ffd2545bfbf4f0ebffc32a0be000080bf9b57503f5237ea3e0ad7233e2de7193c5cb0d0bc23015f3ea8ac30bfbaac303f012645bfbd4f0ebff432a0be000080bf3892513f20a4e43e9c15323e2bc0573c80b9d5bc23015f3ea8ac30bfbaac303f032645bfbb4f0ebfec32a0be000080bf9e4e4f3ffc77e23e992a333ececc4c3d60e2dabb39cd813e8bf384be238c6e3fb95b43bf504a25bf7ddbe23c000080bfde9b4b3fa1aded3e0ad7233ecccc4c3d77562fbb39cd813e8bf384be238c6e3f524143bf2e6a25bf72d9e03c000080bf23b44d3f895ef13e0ad7233e05d7233d1877b4bb39cd813e8bf384be238c6e3f8d4943bf416025bfa079e13c000080bf89c64e3f1272ee3e0ad7233e54b0d03c3ae719bc39cd813e8bf384be238c6e3fc77243bf732e25bfb59ce43c000080bf9b57503f5237ea3e9c15323e7bb9d53c40c057bc39cd813e8bf384be238c6e3f0f8743bfe61525bf2f28e63c000080bfd4514e3fb7f2e63e992a333ececc4c3d60e2dabba7ac303f35015fbebaac303fa0a721bfc0a525bf21c4da3e000080bfde9b4b3fa1aded3e9c15323e7bb9d53c40c057bca7ac303f35015fbebaac303fa8a721bfaea525bf3ec4da3e000080bfd4514e3fb7f2e63ec9503f3e7db9d53c80b9d5bca7ac303f35015fbebaac303fa0a721bfbda525bf25c4da3e000080bfe31a4c3f6d0be33eb9f5453ececc4c3da011cdbca7ac303f35015fbebaac303f98a721bfcca525bf0ec4da3e000080bf9576483f3d22e83ecbcc4c3ececc4c3dcbcc4cbdbd8c6e3fa76083be8e60833e3932b6be0ff401bf0cdf483f000080bf8f88463ff1bae43eb9f5453ececc4c3da011cdbcbd8c6e3fa76083be8e60833ea88db6be0e1104bf1468473f000080bf9576483f3d22e83ec9503f3e7db9d53c80b9d5bcbd8c6e3fa76083be8e60833eb6e8b6be594606bf21d8453f000080bfe31a4c3f6d0be33eb9f5453e9911cd3ccfcc4cbdbd8c6e3fa76083be8e60833ea78db6be0e1104bf1468473f000080bf0b5f4a3f6c7adf3eb9f5453e9911cd3ccfcc4cbdacac303fb1ac30bf73015f3e4e9f1cbfbf94cabe31582f3f000080bffa71423e070f703fc9503f3e7db9d53c80b9d5bcacac303fb1ac30bf73015f3e3a9f1cbf8294cabe53582f3f000080bf9a71523e860f723f9c15323e2bc0573c80b9d5bcacac303fb1ac30bf73015f3e269f1cbf4194cabe78582f3f000080bfd1a8583e2a52703f992a333e4fe2da3bcfcc4cbdacac303fb1ac30bf73015f3e3d9f1cbf8c94cabe4e582f3f000080bf22464b3e72966d3f9c15323e9c15323e40c057bca85e833ec262833eb68c6e3fc1a429bf39b627bf25cbb93e000080bfaead3c3f537f073f9899193e982a333e60e2dabba85e833ec262833eb68c6e3f1da429bfe0b627bf25cbb93e000080bf1ee73f3f9d970a3f9999193e0ad7233e74562fbba85e833ec262833eb68c6e3f2ea429bfcdb627bf25cbb93e000080bf62dc413f6fb7083f672c1d3e0ad7233eb01a70bba85e833ec262833eb68c6e3f42a429bfbab627bf25cbb93e000080bfbf5e413fbf48083ff558203ef558203e62d46dbba85e833ec262833eb68c6e3fc3a429bf38b627bf24cbb93e000080bf6161413f0379073f0ad7233e2b811c3e1cfb63bba85e833ec262833eb68c6e3f62a529bf98b527bf23cbb93e000080bf8265413f8595063f0ad7233e9999193e6d562fbba85e833ec262833eb68c6e3f64a529bf95b527bf24cbb93e000080bffec4413ff33a063f992a333e9899193e60e2dabba85e833ec262833eb68c6e3f62a529bf94b527bf23cbb93e000080bfbaac3f3f7f62043f9899193e982a333e60e2dabb44015f3eb3ac303fadac303f1794e0bedbfd0fbff26c333f000080bf1ee73f3f9d970a3f9c15323e9c15323e40c057bc44015f3eb3ac303fadac303f0c94e0bedffd0fbff46c333f000080bfaead3c3f537f073f9c15323ec7503f3e80b9d5bc44015f3eb3ac303fadac303ffd93e0bee2fd0fbff66c333f000080bff5943a3f15c2083f9899193eb9f5453ea011cdbc44015f3eb3ac303fadac303f0d94e0bedefd0fbff36c333f000080bfc1ec3c3f0f620c3f9899193ecbcc4c3ecbcc4cbda760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bf98f60e3ff440193f9899193eb9f5453ea011cdbca760833eba8c6e3faf60833e21e2ecba13b187be77d8763f000080bf7678133ff440193f9c15323ec7503f3e80b9d5bca760833eba8c6e3faf60833e00000000a3ed87be3fd0763f000080bfa247133feaef143f992a333eb9f5453ecfcc4cbda760833eba8c6e3faf60833e3cdceb3a142a88becdc7763f000080bf97f60e3f15bf143f992a333eb9f5453ecfcc4cbdaaac303fb2ac303f74015f3e00000000a9139abe2222743f000080bf97f60e3f15bf143f9c15323ec7503f3e80b9d5bcaaac303fb2ac303f74015f3e00000000b9139abe2022743f000080bfa247133feaef143fc9503f3e9c15323e80b9d5bcaaac303fb2ac303f74015f3e00000000ab139abe2222743f000080bfa247133fc39a123fb9f5453e982a333ecfcc4cbdaaac303fb2ac303f74015f3e000000009e139abe2322743f000080bf97f60e3fe46e113fcbcc4c3e9999193ecbcc4cbdba8c6e3fa760833eaa60833e0d5d17bee238c1bedb076a3f000080bf6a993a3f4ed2ff3eb9f5453e982a333ecfcc4cbdba8c6e3fa760833eaa60833e1de116be2adfc1be79ea693f000080bf567a383f760c043fc9503f3e9c15323e80b9d5bcba8c6e3fa760833eaa60833ead5e16beed8dc2be70cb693f000080bfbd763a3fae8b053fb9f5453e9899193ea011cdbcba8c6e3fa760833eaa60833e1de116be29dfc1be79ea693f000080bf71873c3fcd9c013fb9f5453e9899193ea011cdbca7ac303f3e015f3eb9ac303f9c9ff3bed6fb14bf1bd3283f000080bf71873c3fcd9c013fc9503f3e9c15323e80b9d5bca7ac303f3e015f3eb9ac303f9d9ff3bed3fb14bf1bd3283f000080bfbd763a3fae8b053f9c15323e9c15323e40c057bca7ac303f3e015f3eb9ac303fa39ff3becffb14bf1cd3283f000080bfaead3c3f537f073f992a333e9899193e60e2dabba7ac303f3e015f3eb9ac303f9f9ff3bed4fb14bf1bd3283f000080bfbaac3f3f7f62043f9899193e60562f3b0ad723beab60833eba8c6ebfa56083be01f21ebf308ab9be24f3313f000080bf130b1c3e49ff5c3f9899193e4fe2da3b992a33beab60833eba8c6ebfa56083be0df21ebf318ab9be1df3313f000080bf8bfb133e7c325b3f9c15323e2bc0573c9c1532beab60833eba8c6ebfa56083be5cf41ebf4f8ab9be03f1313f000080bfa70c093e288b5e3fd18d1d3e2600773b0ad723beab60833eba8c6ebfa56083be18ef1ebf098ab9becaf5313f000080bf8f2f1a3e60845d3f992a333e4fe2da3b989919beab60833eba8c6ebfa56083bef2f21ebf3c8ab9be4cf2313f000080bf186b153eb88f613fbeb1203ef00d7a3bc0b120beab60833eba8c6ebfa56083be90cd1ebf4d88b9be2914323f000080bf6b5d1a3ea84c5e3f0ad7233e1300773bd08d1dbeab60833eba8c6ebfa56083be27f31ebf408ab9be1cf2313f000080bfee891a3ef5145f3f0ad7233e6b562f3b999919beab60833eba8c6ebfa56083be20f31ebf3f8ab9be21f2313f000080bf499e1c3ed68b5f3f992a333e4fe2da3b989919beadac303fb0ac30bf5d015fbe9d54fdbeed692bbf9bce0d3f000080bf186b153eb88f613f9c15323e2bc0573c9c1532beadac303fb0ac30bf5d015fbe8f54fdbee9692bbfa3ce0d3f000080bfa70c093e288b5e3fc9503f3e7bb9d53c9c1532beadac303fb0ac30bf5d015fbe9a54fdbeed692bbf9bce0d3f000080bf70d5023e8448603fb9f5453e9711cd3c989919beadac303fb0ac30bf5d015fbea354fdbeef692bbf94ce0d3f000080bff0960c3e4d08643fcbcc4c3ecccc4c3d989919bebc8c6e3fac6083bea26083bed35e543e38f2743f248f50be000080bf9fb8053fdf3e4c3db9f5453e9711cd3c989919bebc8c6e3fac6083bea26083be3272533ed2d6743fe17c53be000080bfad36013f87e3593dc9503f3e7bb9d53c9c1532bebc8c6e3fac6083bea26083beca78523e66b9743fe49056be000080bfb467013f26fd8b3db9f5453ececc4c3d992a33bebc8c6e3fac6083bea26083be3072533ed2d6743fe07c53be000080bfd3b8053f0d71863db9f5453ececc4c3d992a33beacac303f70015fbeb0ac30bf51b01d3e03db793f55b01dbe000080bfd3b8053f0d71863dc9503f3e7bb9d53c9c1532beacac303f70015fbeb0ac30bf4ab01d3e03db793f60b01dbe000080bfb467013f26fd8b3d9d15323e7db9d53cc9503fbeacac303f70015fbeb0ac30bf52b01d3e03db793f58b01dbe000080bfb467013f2861a63d992a333ececc4c3db9f545beacac303f70015fbeb0ac30bf56b01d3e03db793f51b01dbe000080bfd3b8053f42edab3d9999193ececc4c3dcbcc4cbea760833e8e6083bebf8c6ebf428f503e39f2743f875e54be000080bf9fb8053fdf3ecc3d992a333ececc4c3db9f545bea760833e8e6083bebf8c6ebfea7c533ed6d6743ff17153be000080bfd3b8053f42edab3d9d15323e7db9d53cc9503fbea760833e8e6083bebf8c6ebfcf90563e6ab9743f917852be000080bfb467013f2861a63d9899193e9911cd3cb9f545bea760833e8e6083bebf8c6ebfea7c533ed6d6743ff17153be000080bfad36013f8a6cc53d9899193e9911cd3cb9f545be31015f3ebeac30bfa3ac30bff789f6be73e730bf77010a3f000080bf34190a3e72fd583f9d15323e7db9d53cc9503fbe31015f3ebeac30bfa3ac30bfe589f6be76e730bf7d010a3f000080bf3817023e5bfd5c3f9c15323e2bc0573c9c1532be31015f3ebeac30bfa3ac30bfcf89f6be77e730bf83010a3f000080bfa70c093e288b5e3f9899193e4fe2da3b992a33be31015f3ebeac30bfa3ac30bfe789f6be74e730bf7b010a3f000080bf8bfb133e7c325b3f9999193ecbcc4c3e989919beb860833eb68c6e3fb26083be00000000a6ed873e3dd0763f000080bf16d2f93ef440193f992a333eb9f5453e989919beb860833eb68c6e3fb26083bec8ddebba172a883ecdc7763f000080bf16d2f93e15bf143f9c15323ec7503f3e9c1532beb860833eb68c6e3fb26083be00000000a5ed873e3fd0763f000080bf0230f13eeaef143f9899193eb9f5453e992a33beb860833eb68c6e3fb26083bef6f1ec3a13b1873e77d8763f000080bf58cef03ef440193f9899193eb9f5453e992a33be3c015f3eb9ac303fa7ac30bf00000000eb04353ffb04353f000080bf58cef03ef440193f9c15323ec7503f3e9c1532be3c015f3eb9ac303fa7ac30bf00000000ea04353ffc04353f000080bf0230f13eeaef143f9c15323e9c15323ec9503fbe3c015f3eb9ac303fa7ac30bf00000000eb04353ffb04353f000080bfb485ec3eeaef143f9899193e982a333eb9f545be3c015f3eb9ac303fa7ac30bf00000000eb04353ffb04353f000080bff52dea3ef440193f9899193e9999193ecbcc4cbeb260833ea660833eba8c6ebf3e8f50be38f2743fb85e543e000080bf2cc6173fe13ecc3d9899193e982a333eb9f545beb260833ea660833eba8c6ebfd77c53bed4d6743f2172533e000080bff7471c3f8c6cc53d9c15323e9c15323ec9503fbeb260833ea660833eba8c6ebfb49056be68b9743fc878523e000080bf54171c3f2c61a63d992a333e9899193eb9f545beb260833ea660833eba8c6ebfd97c53bed4d6743f2672533e000080bf60c6173f43edab3d992a333e9899193eb9f545bea7ac303f3c015f3eb9ac30bf14b01dbe07db793f4db01d3e000080bf60c6173f43edab3d9c15323e9c15323ec9503fbea7ac303f3c015f3eb9ac30bf0eb01dbe07db793f51b01d3e000080bf54171c3f2c61a63dc9503f3e9c15323e9d1532bea7ac303f3c015f3eb9ac30bf12b01dbe07db793f4cb01d3e000080bf54171c3f29fd8b3db9f5453e9899193e992a33bea7ac303f3c015f3eb9ac30bf17b01dbe07db793f49b01d3e000080bf60c6173f0e71863dcbcc4c3e9999193e999919bebc8c6e3faf60833e9d6083bedb5e54be38f2743f298f503e000080bf2cc6173fe53e4c3db9f5453e9899193e992a33bebc8c6e3faf60833e9d6083be367253bed2d6743ff07c533e000080bf60c6173f0e71863dc9503f3e9c15323e9d1532bebc8c6e3faf60833e9d6083becd7852be65b9743ff990563e000080bf54171c3f29fd8b3db9f5453e982a333e989919bebc8c6e3faf60833e9d6083be367253bed2d6743fee7c533e000080bff7471c3f8be3593db9f5453e982a333e989919beacac303fb0ac303f7a015fbe000000009e139a3e2322743f000080bf16d2f93ee46e113fc9503f3e9c15323e9d1532beacac303fb0ac303f7a015fbe00000000ac139a3e2222743f000080bf0230f13ec39a123f9c15323ec7503f3e9c1532beacac303fb0ac303f7a015fbe00000000bc139a3e2022743f000080bf0230f13eeaef143f992a333eb9f5453e989919beacac303fb0ac303f7a015fbe00000000a9139a3e2222743f000080bf16d2f93e15bf143fcbcc4c3dcbcc4c3ecbcc4cbda56083beba8c6e3fb360833e00000000a9ed87be3dd0763f000080bf98f60e3f814e2b3f9811cd3cb9f5453ecfcc4cbda56083beba8c6e3fb360833e59f6ebba1c2a88becdc7763f000080bf97f60e3f60d02f3f78b9d53cc7503f3e80b9d5bca56083beba8c6e3fb360833e00000000a9ed87be3dd0763f000080bfa247133f8b9f2f3fcbcc4c3db9f5453ea011cdbca56083beba8c6e3fb360833ee1e2ec3a15b187be75d8763f000080bf7678133f814e2b3fcbcc4c3db9f5453ea011cdbc41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bf7678133f814e2b3f78b9d53cc7503f3e80b9d5bc41015fbeb1ac303fb0ac303f00000000f20435bff304353f000080bfa247133f8b9f2f3f78b9d53c9c15323e40c057bc41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bfc89c153f8b9f2f3fcbcc4c3d982a333e60e2dabb41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bfa8c8163f814e2b3f78b9d53c9c15323e40c057bc8bf384be39cd813e238c6e3fdb5b45bf6db222bf70bb2bbd000080bf8aab4f3feb39183f54b0d03c0ad7233e3ae719bc8bf384be39cd813e238c6e3f305a44bf24f323bf77ca21bd000080bf3892513ff68d163f06d7233d0ad7233e0e77b4bb8bf384be39cd813e238c6e3f6be145bf4b0a22bfd8ea30bd000080bf2edf4f3fd40e153fcbcc4c3d982a333e60e2dabb8bf384be39cd813e238c6e3f3e5b46bfcd6f21bf83aa35bd000080bf20c04c3fc2e8153fcbcc4c3d0ad7233e74562fbb8bf384be39cd813e238c6e3f485b46bfc06f21bfe9aa35bd000080bf64b54e3f9408143f23e7193c0ad7233e5cb0d0bca6ac30bf34015f3ebcac303f7e94ca3e70582fbf1d9f1c3f000080bfbc8d0a3fae26583f54b0d03c0ad7233e3ae719bca6ac30bf34015f3ebcac303fb494ca3e51582fbf2e9f1c3f000080bfd47c0c3f66fc553f78b9d53c9c15323e40c057bca6ac30bf34015f3ebcac303f9194ca3e63582fbf239f1c3f000080bf26290a3f3ed2543f20c0573c9c15323e80b9d5bca6ac30bf34015f3ebcac303f5594ca3e86582fbf0f9f1c3f000080bf589b083f9a8f563f40e2da3b982a333ecfcc4cbd268c6ebf36cd813e80f3843e99858bbc83cb3ebf08a12a3f000080bfc996053f36a7593f59562f3b0ad7233ececc4cbd268c6ebf36cd813e80f3843ee59086bc01883ebf66ed2a3f000080bfab9a073f02745b3ff376b43b0ad7233e07d723bd268c6ebf36cd813e80f3843e3f7888bcf4a13ebf15d02a3f000080bf8ace083f551b5a3f23e7193c0ad7233e5cb0d0bc268c6ebf36cd813e80f3843e82bc8fbcd3043fbfff5f2a3f000080bfbc8d0a3fae26583f20c0573c9c15323e80b9d5bc268c6ebf36cd813e80f3843eba3193bcc5333fbf8f2a2a3f000080bf589b083f9a8f563f40e2da3b982a333ecfcc4cbdadac30bfb5ac303f24015f3e000000008c139abe2722743f000080bf97f60e3f9120333f20c0573c9c15323e80b9d5bcadac30bfb5ac303f24015f3e000000009a139abe2522743f000080bfa247133fb2f4313f78b9d53cc7503f3e80b9d5bcadac30bfb5ac303f24015f3e00000000ab139abe2222743f000080bfa247133f8b9f2f3f9811cd3cb9f5453ecfcc4cbdadac30bfb5ac303f24015f3e000000009a139abe2522743f000080bf97f60e3f60d02f3f78b9d53c2bc0573c9c1532be81f384be268c6ebf2ecd81bec0292abfb53e93bc7a343f3f000080bfb128503e1ea44a3fcbcc4c3d4fe2da3b992a33be81f384be268c6ebf2ecd81be53ed2abfc29186bc12883e3f000080bf7216443ebabb4d3fcbcc4c3d6b562f3b0ad723be81f384be268c6ebf2ecd81bef3cb2abf78bc88bc9aa53e3f000080bffb254c3e86884f3f54b0d03c2de7193c0ad723be81f384be268c6ebf2ecd81be89ed29bf082397bc3d693f3f000080bf40f2573e323b4c3f04d7233d0677b43b0ad723be81f384be268c6ebf2ecd81bef3ca2abfb0ceb93e968926bf000080bf79f5503ed92f4e3fcbcc4c3d4fe2da3b992a33be36015fbeb8ac30bfa9ac30bfb45516bf77bbf1be464e283f000080bf7216443ebabb4d3f78b9d53c2bc0573c9c1532be36015fbeb8ac30bfa9ac30bfbc5516bf6bbbf1be434e283f000080bfb128503e1ea44a3f78b9d53c7bb9d53cc9503fbe36015fbeb8ac30bfa9ac30bfb55516bf76bbf1be464e283f000080bf4233493e5016493fcbcc4c3d9711cd3cb9f545be36015fbeb8ac30bfa9ac30bfae5516bf81bbf1be494e283f000080bf1c343a3eb0864b3fcbcc4c3dcccc4c3dcbcc4cbeaa6083bea26083bebc8c6ebf6f57ab3e2182613f8260abbe000080bf81b7053f262f193ecbcc4c3d9711cd3cb9f545beaa6083bea26083bebc8c6ebfe178a83ef221623f40eeaabe000080bf8f35013ffbc5153e78b9d53c7bb9d53cc9503fbeaa6083bea26083bebc8c6ebf6e57ab3e2282613f8060abbe000080bf0e66013f56ab1e3e9811cd3ccecc4c3db9f545beaa6083bea26083bebc8c6ebf5134ae3e1ce0603f17d1abbe000080bf27b7053f9f85223e9811cd3ccecc4c3db9f545beb0ac30bf23015fbeb3ac30bfa394cabe52582fbf319f1c3f000080bfaa2d053f83fa7b3f78b9d53c7bb9d53cc9503fbeb0ac30bf23015fbeb3ac30bf9d94cabe56582fbf2e9f1c3f000080bf922d093f02fb7d3f20c0573c7db9d53c9d1532beb0ac30bf23015fbeb3ac30bf9594cabe5b582fbf2c9f1c3f000080bf60bb0a3fa63d7c3f40e2da3bcecc4c3d992a33beb0ac30bf23015fbeb3ac30bf9d94cabe56582fbf2e9f1c3f000080bfb462073fed81793f20c0573c7db9d53c9d1532be288c6ebf7af384be24cd81beadbdd43cab973ebf11c82a3f000080bf60bb0a3fa63d7c3f21e7193c57b0d03c0ad723be288c6ebf7af384be24cd81bea4e4c83c40f63dbf1d7f2b3f000080bfd47c0c3f1c717a3feb76b43b0ad7233d0ad723be288c6ebf7af384be24cd81be98ebda3c8feb3ebf4d682a3f000080bf2e880a3febb1783f40e2da3bcecc4c3d992a33be288c6ebf7af384be24cd81be3a95e03c45383fbf5c102a3f000080bfb462073fed81793f54562f3bcecc4c3d0ad723be288c6ebf7af384be24cd81be8594e03c3c383fbf68102a3f000080bf812f093f0b7e773f78b9d53c2bc0573c9c1532bebaac30bfa7ac30bf33015fbe179f1cbf6594ca3e7d582f3f000080bfb128503e1ea44a3f54b0d03c2de7193c0ad723bebaac30bfa7ac30bf33015fbe1f9f1cbf8094ca3e6d582f3f000080bf40f2573e323b4c3f21e7193c57b0d03c0ad723bebaac30bfa7ac30bf33015fbe2a9f1cbfa294ca3e5a582f3f000080bfa2ae5f3eea104a3f20c0573c7db9d53c9d1532bebaac30bfa7ac30bf33015fbe239f1cbf8c94ca3e66582f3f000080bfe75f563ec2e6483fcbcc4c3dcbcc4c3e999919bea86083beb88c6e3fb16083be00000000b3ed873e3bd0763f000080bf16d2f93e804e2b3fcfcc4c3db9f5453e992a33bea86083beb88c6e3fb16083be7ff6ecba0fb1873e77d8763f000080bf58cef03e804e2b3f80b9d53cc7503f3e9c1532bea86083beb88c6e3fb16083be00000000b3ed873e3bd0763f000080bf0230f13e8a9f2f3fa011cd3cb9f5453e989919bea86083beb88c6e3fb16083be0865ec3a392a883ec9c7763f000080bf16d2f93e60d02f3fa011cd3cb9f5453e989919beb3ac30bfafac303f36015fbe77e730bf63010abf178af63e000080bff22eee3eeee8643f80b9d53cc7503f3e9c1532beb3ac30bfafac303f36015fbe76e730bf60010abf228af63e000080bff42dea3ed6e8683f40c0573c9c15323e9c1532beb3ac30bfafac303f36015fbe76e730bf5c010abf2a8af63e000080bfaca8ed3ea4766a3f60e2da3b982a333e989919beb3ac30bfafac303f36015fbe76e730bf60010abf1f8af63e000080bf1e20f33ef81d673f40c0573c9c15323e9c1532beb88c6ebf0e62833e535f83be578ab9beb6f231bf72f21e3f000080bfaca8ed3ea4766a3f60e2da3b9899193e992a33beb88c6ebf0e62833e535f83be608ab9be38f231bffef21e3f000080bfe4d7f33e337b6d3f77562f3b9999193e0ad723beb88c6ebf0e62833e535f83be628ab9be34f231bf01f31e3f000080bf7c71f73e51776b3fdb078d3b0a7d1f3e0ad723beb88c6ebf0e62833e535f83be608ab9be30f231bf06f31e3f000080bf14e5f53e47c66a3f33d2913bcddf213eccdf21beb88c6ebf0e62833e535f83be598ab9beadf231bf7df21e3f000080bfacbaf53e613c6a3fa9ec933b0ad7233ec73f20beb88c6ebf0e62833e535f83be548ab9be16f331bf09f21e3f000080bf0e98f53e94ca693f74562f3b0ad7233e989919beb88c6ebf0e62833e535f83be528ab9be2df331bfeef11e3f000080bfe227f73ec4ea683f60e2da3b982a333e989919beb88c6ebf0e62833e535f83be508ab9be42f331bfd7f11e3f000080bf1e20f33ef81d673f60e2da3b9899193e992a33beb0ac30bf76015f3eadac30bfef692bbf99ce0dbf9554fd3e000080bfe4d7f33e337b6d3f40c0573c9c15323e9c1532beb0ac30bf76015f3eadac30bff4692bbf8ece0dbfa554fd3e000080bfaca8ed3ea4766a3f80b9d53c9c15323ec9503fbeb0ac30bf76015f3eadac30bff0692bbf98ce0dbf9854fd3e000080bf0f8dea3eff336c3fa011cd3c9899193eb9f545beb0ac30bf76015f3eadac30bfed692bbfa1ce0dbf8b54fd3e000080bfd06def3ec9f36f3fcbcc4c3d9999193ecbcc4cbeb16083bea860833eb88c6ebf5957abbe2482613f8860ab3e000080bf0ec5173f262f193ea011cd3c9899193eb9f545beb16083bea860833eb88c6ebf4a34aebe1ce0603f21d1ab3e000080bfb3c4173f9f85223e80b9d53c9c15323ec9503fbeb16083bea860833eb88c6ebf5857abbe2482613f8960ab3e000080bfae151c3f56ab1e3ecfcc4c3d982a333eb9f545beb16083bea860833eb88c6ebfbc78a8bef921623f45eeaa3e000080bfda461c3ffcc5153ecfcc4c3d982a333eb9f545be39015fbeb6ac303fa9ac30bf00000000ee04353ff704353f000080bff52dea3e804e2b3f80b9d53c9c15323ec9503fbe39015fbeb6ac303fa9ac30bf00000000ec04353ff904353f000080bfb485ec3e8a9f2f3f80b9d53cc7503f3e9c1532be39015fbeb6ac303fa9ac30bf00000000ed04353ffa04353f000080bf0230f13e8a9f2f3fcfcc4c3db9f5453e992a33be39015fbeb6ac303fa9ac30bf00000000ed04353ff804353f000080bf58cef03e804e2b3f992a333e4fe2da3bcfcc4cbdff53843e554d77bf00000000ace427bfcdac33be94f63b3f000080bf22464b3e72966d3f0ad7233e60562f3bcecc4cbdff53843e554d77bf00000000ade427bfceac33be93f63b3f000080bf5479523e90926b3f0ad7233e6b562f3b999919beff53843e554d77bf00000000ace427bfcbac33be94f63b3f000080bf499e1c3ed68b5f3f992a333e4fe2da3b989919beff53843e554d77bf00000000abe427bfcdac33be95f63b3f000080bf186b153eb88f613f992a333e4fe2da3b989919bef004353ff50435bf000000000aee0dbf04ee0dbf51e51e3f000080bf186b153eb88f613fb9f5453e9711cd3c989919bef004353ff50435bf0000000009ee0dbf04ee0dbf52e51e3f000080bff0960c3e4d08643fb9f5453e9911cd3ccfcc4cbdf004353ff50435bf0000000009ee0dbf05ee0dbf52e51e3f000080bffa71423e070f703f992a333e4fe2da3bcfcc4cbdf004353ff50435bf0000000009ee0dbf06ee0dbf52e51e3f000080bf22464b3e72966d3fb9f5453e9711cd3c989919be564d773ff35384be000000003b1e803e3d6f6f3f331e80be000080bfad36013f87e3593dcbcc4c3ecccc4c3d989919be564d773ff35384be000000003c1e803e3d6f6f3f351e80be000080bf9fb8053fdf3e4c3dcbcc4c3ececc4c3dcbcc4cbd564d773ff35384be000000003b1e803e3b6f6f3f3d1e80be000080bf82b7053f00000000b9f5453e9911cd3ccfcc4cbd564d773ff35384be000000003b1e803e3b6f6f3f3c1e80be000080bf9035013fa04a5a3b992a333e9899193e60e2dabb0e54843e00000000534d773f43b639bf250d29bf94be463e000080bfbaac3f3f7f62043f0ad7233e9999193e6d562fbb0e54843e00000000534d773f42b639bf260d29bf92be463e000080bffec4413ff33a063f0ad7233ecccc4c3d77562fbb0e54843e00000000534d773f3bb639bf300d29bf88be463e000080bf23b44d3f895ef13e992a333ececc4c3d60e2dabb0e54843e00000000534d773f3bb639bf300d29bf8abe463e000080bfde9b4b3fa1aded3e992a333ececc4c3d60e2dabbf804353f00000000ed04353f22250ebfa7821ebf2b250e3f000080bfde9b4b3fa1aded3eb9f5453ececc4c3da011cdbcf804353f00000000ed04353f21250ebfa7821ebf2b250e3f000080bf9576483f3d22e83eb9f5453e9899193ea011cdbcf804353f00000000ed04353f22250ebfa7821ebf2b250e3f000080bf71873c3fcd9c013f992a333e9899193e60e2dabbf804353f00000000ed04353f21250ebfa7821ebf2b250e3f000080bfbaac3f3f7f62043fb9f5453ececc4c3da011cdbc554d773f00000000fa53843e79066ebe8ad5dfbee46a5e3f000080bf9576483f3d22e83ecbcc4c3ececc4c3dcbcc4cbd554d773f00000000fa53843e7a066ebe8cd5dfbee46a5e3f000080bf8f88463ff1bae43ecbcc4c3e9999193ecbcc4cbd554d773f00000000fa53843e7c066ebe8ad5dfbee46a5e3f000080bf6a993a3f4ed2ff3eb9f5453e9899193ea011cdbc554d773f00000000fa53843e79066ebe89d5dfbee46a5e3f000080bf71873c3fcd9c013f9899193ecbcc4c3ecbcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf98f60e3ff440193f992a333eb9f5453ecfcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf97f60e3f15bf143f992a333eb9f5453e989919bef353843e564d773f0000000000000000000000000000803f000080bf16d2f93e15bf143f9999193ecbcc4c3e989919bef353843e564d773f0000000000000000000000000000803f000080bf16d2f93ef440193f992a333eb9f5453ecfcc4cbdf404353ff104353f0000000000000000000000000000803f000080bf97f60e3f15bf143fb9f5453e982a333ecfcc4cbdf404353ff104353f0000000000000000000000000000803f000080bf97f60e3fe46e113fb9f5453e982a333e989919bef404353ff104353f0000000000000000000000000000803f000080bf16d2f93ee46e113f992a333eb9f5453e989919bef404353ff104353f0000000000000000000000000000803f000080bf16d2f93e15bf143fb9f5453e982a333ecfcc4cbd554d773ffd53843e00000000441e80be396f6f3f451e803e000080bfda461c3fe04a5a3bcbcc4c3e9999193ecbcc4cbd554d773ffd53843e00000000431e80be376f6f3f481e803e000080bf0ec5173f00000032cbcc4c3e9999193e999919be554d773ffd53843e00000000461e80be3b6f6f3f381e803e000080bf2cc6173fe53e4c3db9f5453e982a333e989919be554d773ffd53843e00000000451e80be3b6f6f3f321e803e000080bff7471c3f8be3593d9899193e9999193ecbcc4cbeed53843e00000000564d77bf000000000000803f00000000000080bf2cc6173fe13ecc3d992a333e9899193eb9f545beed53843e00000000564d77bf000000000000803f00000000000080bf60c6173f43edab3d992a333ececc4c3db9f545beed53843e00000000564d77bf000000000000803f00000000000080bfd3b8053f42edab3d9999193ececc4c3dcbcc4cbeed53843e00000000564d77bf000000000000803f00000000000080bf9fb8053fdf3ecc3d992a333e9899193eb9f545bef804353f00000000ed0435bf000000000000803f00000000000080bf60c6173f43edab3db9f5453e9899193e992a33bef804353f00000000ed0435bf000000000000803f00000000000080bf60c6173f0e71863db9f5453ececc4c3d992a33bef804353f00000000ed0435bf000000000000803f00000000000080bfd3b8053f0d71863d992a333ececc4c3db9f545bef804353f00000000ed0435bf000000000000803f00000000000080bfd3b8053f42edab3db9f5453e9899193e992a33be534d773f00000000095484be000000000000803f00000000000080bf60c6173f0e71863dcbcc4c3e9999193e999919be534d773f00000000095484be000000000000803f00000000000080bf2cc6173fe53e4c3dcbcc4c3ecccc4c3d989919be534d773f00000000095484be000000000000803f00000000000080bf9fb8053fdf3e4c3db9f5453ececc4c3d992a33be534d773f00000000095484be000000000000803f00000000000080bfd3b8053f0d71863d9899193e60562f3b0ad723be00000000554d77bf065484be133e27bf885f48beef3b3b3f000080bf130b1c3e49ff5c3fcbcc4c3d6b562f3b0ad723be00000000554d77bf065484bede3d27bfb75f48be1b3c3b3f000080bffb254c3e86884f3fcbcc4c3d4fe2da3b992a33be00000000554d77bf065484bee33d27bfb45f48be173c3b3f000080bf7216443ebabb4d3f9899193e4fe2da3b992a33be00000000554d77bf065484be193e27bf855f48beea3b3b3f000080bf8bfb133e7c325b3fcbcc4c3d4fe2da3b992a33be00000000f50435bff10435bfd0b408bf480c19bf4d0c193f000080bf7216443ebabb4d3fcbcc4c3d9711cd3cb9f545be00000000f50435bff10435bfd0b408bf470c19bf4c0c193f000080bf1c343a3eb0864b3f9899193e9911cd3cb9f545be00000000f50435bff10435bfd0b408bf480c19bf4c0c193f000080bf34190a3e72fd583f9899193e4fe2da3b992a33be00000000f50435bff10435bfd2b408bf480c19bf4c0c193f000080bf8bfb133e7c325b3fcbcc4c3d9711cd3cb9f545be00000000f35384be564d77bf5b1e803e376f6f3f391e80be000080bf8f35013ffbc5153ecbcc4c3dcccc4c3dcbcc4cbe00000000f35384be564d77bf5b1e803e376f6f3f391e80be000080bf81b7053f262f193e9999193ececc4c3dcbcc4cbe00000000f35384be564d77bf5c1e803e376f6f3f391e80be000080bf9fb8053fdf3ecc3d9899193e9911cd3cb9f545be00000000f35384be564d77bf5c1e803e376f6f3f391e80be000080bfad36013f8a6cc53d9999193ecbcc4c3e989919be5e7541b4554d773f025484be000000000254843e554d773f000080bf16d2f93ef440193f9899193eb9f5453e992a33be5e7541b4554d773f025484be000000000054843e554d773f000080bf58cef03ef440193fcfcc4c3db9f5453e992a33be5e7541b4554d773f025484be000000000354843e554d773f000080bf58cef03e804e2b3fcbcc4c3dcbcc4c3e999919be5e7541b4554d773f025484be000000000354843e554d773f000080bf16d2f93e804e2b3f9899193eb9f5453e992a33be00000000f404353ff10435bf00000000f304353ff404353f000080bf58cef03ef440193f9899193e982a333eb9f545be00000000f404353ff10435bf00000000f304353ff404353f000080bff52dea3ef440193fcfcc4c3d982a333eb9f545be00000000f404353ff10435bf00000000f304353ff404353f000080bff52dea3e804e2b3fcfcc4c3db9f5453e992a33be00000000f404353ff10435bf00000000f304353ff404353f000080bf58cef03e804e2b3f9899193e982a333eb9f545be00000000e353843e584d77bf4c1e80be3b6f6f3f2a1e803e000080bff7471c3f8c6cc53d9899193e9999193ecbcc4cbe00000000e353843e584d77bf471e80be3b6f6f3f2a1e803e000080bf2cc6173fe13ecc3dcbcc4c3d9999193ecbcc4cbe00000000e353843e584d77bf2f1e80be3e6f6f3f2c1e803e000080bf0ec5173f262f193ecfcc4c3d982a333eb9f545be00000000e353843e584d77bf341e80be3e6f6f3f2b1e803e000080bfda461c3ffcc5153e54562f3bcecc4c3d0ad723be554d77bf635b2134fe5384bed1ac33be93f63bbfade4273f000080bf812f093f0b7e773f77562f3b9999193e0ad723be554d77bf635b2134fe5384bed6ac33be8ff63bbfb1e4273f000080bf7c71f73e51776b3f60e2da3b9899193e992a33be554d77bf635b2134fe5384bed7ac33be8ff63bbfb2e4273f000080bfe4d7f33e337b6d3f40e2da3bcecc4c3d992a33be554d77bf635b2134fe5384bed3ac33be93f63bbfaee4273f000080bfb462073fed81793f60e2da3b9899193e992a33bef40435bfeb320434f10435bff2ed0dbf79e51ebff2ed0d3f000080bfe4d7f33e337b6d3fa011cd3c9899193eb9f545bef40435bfeb320434f10435bff2ed0dbf79e51ebff2ed0d3f000080bfd06def3ec9f36f3f9811cd3ccecc4c3db9f545bef40435bfeb320434f10435bff2ed0dbf78e51ebff2ed0d3f000080bfaa2d053f83fa7b3f40e2da3bcecc4c3d992a33bef40435bfeb320434f10435bff2ed0dbf79e51ebff2ed0d3f000080bfb462073fed81793fa011cd3c9899193eb9f545bef75384be00000000564d77bf000000000000803f00000000000080bfb3c4173f9f85223ecbcc4c3d9999193ecbcc4cbef75384be00000000564d77bf000000000000803f00000000000080bf0ec5173f262f193ecbcc4c3dcccc4c3dcbcc4cbef75384be00000000564d77bf000000000000803f00000000000080bf81b7053f262f193e9811cd3ccecc4c3db9f545bef75384be00000000564d77bf000000000000803f00000000000080bf27b7053f9f85223ecbcc4c3dcbcc4c3e999919bef75384be564d773f0000000000000000000000000000803f000080bf16d2f93e804e2b3fa011cd3cb9f5453e989919bef75384be564d773f0000000000000000000000000000803f000080bf16d2f93e60d02f3f9811cd3cb9f5453ecfcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf97f60e3f60d02f3fcbcc4c3dcbcc4c3ecbcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf98f60e3f814e2b3fa011cd3cb9f5453e989919bef40435bff304353f86b8d8b34d0c19bf4d0c19bfcab4083f000080bff22eee3eeee8643f60e2da3b982a333e989919bef40435bff304353f86b8d8b34d0c19bf4d0c19bfcbb4083f000080bf1e20f33ef81d673f40e2da3b982a333ecfcc4cbdf40435bff304353f86b8d8b34d0c19bf4b0c19bfccb4083f000080bfc996053f36a7593f9811cd3cb9f5453ecfcc4cbdf40435bff304353f86b8d8b34d0c19bf4b0c19bfcbb4083f000080bf331e033f2c72573f74562f3b0ad7233e989919be554d77bf0654843eb7ddddb3b25f48be113c3bbfeb3d273f000080bfe227f73ec4ea683f59562f3b0ad7233ececc4cbd554d77bf0654843eb7ddddb3ac5f48be0a3c3bbff23d273f000080bfab9a073f02745b3f40e2da3b982a333ecfcc4cbd554d77bf0654843eb7ddddb3ad5f48be0b3c3bbff13d273f000080bfc996053f36a7593f60e2da3b982a333e989919be554d77bf0654843eb7ddddb3b55f48be123c3bbfea3d273f000080bf1e20f33ef81d673fcbcc4c3dcbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000e5484be534d773f000080bf98f60e3f814e2b3fcbcc4c3db9f5453ea011cdbc00000000534d773f0e54843e000000000f5484be534d773f000080bf7678133f814e2b3f9899193eb9f5453ea011cdbc00000000534d773f0e54843e000000000e5484be534d773f000080bf7678133ff440193f9899193ecbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000f5484be534d773f000080bf98f60e3ff440193fcbcc4c3db9f5453ea011cdbc00000000f104353ff404353f00000000f30435bff204353f000080bf7678133f814e2b3fcbcc4c3d982a333e60e2dabb00000000f104353ff404353f00000000f40435bff304353f000080bfa8c8163f814e2b3f9899193e982a333e60e2dabb00000000f104353ff404353f00000000f30435bff204353f000080bfa8c8163ff440193f9899193eb9f5453ea011cdbc00000000f104353ff404353f00000000f40435bff304353f000080bf7678133ff440193fcbcc4c3d0ad7233e74562fbb000000001054843e534d773f6a033bbf55e128bf49bb343e000080bf64b54e3f9408143f9999193e0ad7233e74562fbb000000001054843e534d773f66033bbf5ae128bf4ebb343e000080bf62dc413f6fb7083f9899193e982a333e60e2dabb000000001054843e534d773f66033bbf59e128bf4cbb343e000080bf1ee73f3f9d970a3fcbcc4c3d982a333e60e2dabb000000001054843e534d773f69033bbf55e128bf47bb343e000080bf20c04c3fc2e8153fcbcc4cbececc4c3d999919be000080bf00000000040048b4000000000000803f00000000000080bffdaf1c3e26072f3fcbcc4cbecccc4c3dcbcc4cbd000080bf00000000040048b4000000000000803f00000000000080bffcaf1c3eb314413fcbcc4cbe9999193ecbcc4cbd000080bf00000000040048b4000000000000803f00000000000080bf2ee6643eb314413fcbcc4cbe9999193e989919be000080bf00000000040048b4000000000000803f00000000000080bf2ee6643e26072f3f999919becbcc4c3e999919be000000000000803f0000000000000000000000000000803f000080bfb89a1e3fc858bf3e999919becbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf44a8303fc858bf3ececc4cbdcbcc4c3ecbcc4cbd000000000000803f0000000000000000000000000000803f000080bf45a8303faf3d9b3ecccc4cbdcbcc4c3e989919be000000000000803f0000000000000000000000000000803f000080bfb89a1e3faf3d9b3ecccc4cbdcecc4c3dcbcc4cbe0000000003004834000080bf000000000000803f00000000000080bf42052b3e262f993e999919becccc4c3dcbcc4cbe0000000003004834000080bf000000000000803f00000000000080bfcc002b3e01b7b23e999919be9999193ecbcc4cbe0000000003004834000080bf000000000000803f00000000000080bffd36733e01b7b23ececc4cbd9999193ecbcc4cbe0000000003004834000080bf000000000000803f00000000000080bf743b733e262f993e7cb9d5bc9c15323e40c057bc8af3843e3bcd813e238c6e3f9064293fb6e03fbfe5f89f3c000080bfdb287a3f3414e83ececc4cbd982a333e60e2dabb8af3843e3bcd813e238c6e3fee9f293f08ad3fbf78259c3c000080bf3b29773f0ab5ee3ecccc4cbd0ad7233e74562fbb8af3843e3bcd813e238c6e3fd39f293f1ead3fbf26279c3c000080bff917793fd882f23e07d723bd0ad7233e0e77b4bb8af3843e3bcd813e238c6e3f5783293fefc53fbf3bfd9d3c000080bf684a7a3f6ea0ef3e54b0d0bc0ad7233e3ae719bc8af3843e3bcd813e238c6e3f3529293f3d1440bfcacaa33c000080bf61057c3ffe74eb3ececc4cbd982a333e60e2dabb40015f3eb0ac303fb1ac303f8fd32c3f3bff1dbf8debce3e000080bf3b29773f0ab5ee3e7cb9d5bc9c15323e40c057bc40015f3eb0ac303fb1ac303f90d32c3f3aff1dbf8eebce3e000080bfdb287a3f3414e83e7db9d5bcc7503f3e80b9d5bc40015f3eb0ac303fb1ac303f91d32c3f3bff1dbf8debce3e000080bf6ed6783f3df6e33ececc4cbdb9f5453ea011cdbc40015f3eb0ac303fb1ac303f8fd32c3f3bff1dbf8debce3e000080bf8748753ffedbe83ececc4cbdcbcc4c3ecbcc4cbda960833eb88c6e3fb460833e00000000aaed87be3dd0763f000080bf45a8303faf3d9b3ececc4cbdb9f5453ea011cdbca960833eb88c6e3fb460833e8be3ecba16b187be75d8763f000080bf242a353faf3d9b3e7db9d5bcc7503f3e80b9d5bca960833eb88c6e3fb460833e00000000aaed87be3dd0763f000080bf4ef9343f9b9b923e9911cdbcb9f5453ecfcc4cbda960833eb88c6e3fb460833e8eedeb3a1d2a88becdc7763f000080bf44a8303ff139923e9911cdbcb9f5453ecfcc4cbdafac303fb3ac303f32015f3e00000000af139abe2222743f000080bf44a8303ff139923e7db9d5bcc7503f3e80b9d5bcafac303fb3ac303f32015f3e00000000ad139abe2222743f000080bf4ef9343f9b9b923e2bc057bc9c15323e80b9d5bcafac303fb3ac303f32015f3e00000000ae139abe2222743f000080bf4ef9343f4df18d3e4fe2dabb982a333ecfcc4cbdafac303fb3ac303f32015f3e00000000af139abe2222743f000080bf44a8303f8e998b3e2bc057bc9c15323e80b9d5bc248c6e3f38cd813e7ef3843e7ac6b93e6f082abf735227bf000080bf960b7c3f5f89e33e2de719bc0ad7233e5cb0d0bc248c6e3f38cd813e7ef3843e63c6b93ee60c2abff24d27bf000080bf2b5e7e3fc2cde53efd76b4bb0ad7233e07d723bd248c6e3f38cd813e7ef3843e86c6b93e24062abfc85427bf000080bf0a537f3f4180e33e66562fbb0ad7233ececc4cbd248c6e3f38cd813e7ef3843e8ec6b93efb032abff45627bf000080bf0000803fdadfe13e4fe2dabb982a333ecfcc4cbd248c6e3f38cd813e7ef3843e90c6b93ef7032abff95627bf000080bfa97b7d3f6c7adf3e7cb9d5bc9c15323e40c057bca2ac303f4b015f3ebcac303f25a10f3f4f6b43bf03eda3be000080bfdb287a3f3414e83e54b0d0bc0ad7233e3ae719bca2ac303f4b015f3ebcac303f1fa10f3f586b43bff1eca3be000080bf61057c3ffe74eb3e2de719bc0ad7233e5cb0d0bca2ac303f4b015f3ebcac303f16a10f3f636b43bfd9eca3be000080bf2b5e7e3fc2cde53e2bc057bc9c15323e80b9d5bca2ac303f4b015f3ebcac303f1ba10f3f5c6b43bfe7eca3be000080bf960b7c3f5f89e33ececc4cbd60562f3b0ad723be81f3843e268c6ebf2ecd81be130a353fd4849a3bccfe343f000080bf5a66ad3eed9f5c3fcecc4cbd4fe2da3b992a33be81f3843e268c6ebf2ecd81be7368353f9896b43bd39f343f000080bf1e94a93e0b895e3f7db9d5bc2bc0573c9c1532be81f3843e268c6ebf2ecd81be93b2343f2b67823b7456353f000080bff0f3af3ee473613f57b0d0bc2de7193c0ad723be81f3843e268c6ebf2ecd81be4a51343f794d4f3b76b7353f000080bf4aa9b33e65c15f3f09d723bdfd76b43b0ad723be81f3843e268c6ebf2ecd81be0000803f0000000000000000000080bff0f3af3eb8e65d3f2de719bc54b0d03c0ad723beaeac303fb4ac30bf32015fbebcf0223f240cdf3e36f0223f000080bf56c4b73eeace613f57b0d0bc2de7193c0ad723beaeac303fb4ac30bf32015fbe8bf0223f800bdf3ea0f0223f000080bf4aa9b33e65c15f3f7db9d5bc2bc0573c9c1532beaeac303fb4ac30bf32015fbe65f0223f020bdf3ef0f0223f000080bff0f3af3ee473613f2bc057bc7bb9d53c9c1532beaeac303fb4ac30bf32015fbe9ef0223fbf0bdf3e78f0223f000080bf7140b33e251a633f0677b4bb05d7233d0ad723be288c6e3f77f384be2bcd81befe21563e2a84743f87bc56be000080bfd6cc233ed59c833e2de719bc54b0d03c0ad723be288c6e3f77f384be2bcd81be9b44583e62c4743f82ea4fbe000080bf7d4f193ed29a843e2bc057bc7bb9d53c9c1532be288c6e3f77f384be2bcd81bec9dd563e8b9a743ff26554be000080bf94c1193eb81e893e4fe2dabbcecc4c3d992a33be288c6e3f77f384be2bcd81beb475553e5a6f743f86e058be000080bf13062b3eb2bb873e6b562fbbcccc4c3d0ad723be288c6e3f77f384be2bcd81be8475553e556f743f1ce158be000080bf96052b3ebde3823e4fe2dabbcecc4c3d992a33beb1ac303f5a015fbeaeac30bf35b01d3e05db793f52b01dbe000080bf13062b3eb2bb873e2bc057bc7bb9d53c9c1532beb1ac303f5a015fbeaeac30bf49b01d3e05db793f3fb01dbe000080bf94c1193eb81e893e7bb9d5bc7db9d53cc9503fbeb1ac303f5a015fbeaeac30bf3ab01d3e05db793f51b01dbe000080bf94c1193eb9b78f3e9711cdbccecc4c3db9f545beb1ac303f5a015fbeaeac30bf29b01d3e05db793f60b01dbe000080bf13062b3ebf1a913ecccc4cbdcecc4c3dcbcc4cbea660833ea46083bebc8c6ebf2b8f503e38f2743fbe5e54be000080bf42052b3e262f993e9711cdbccecc4c3db9f545bea660833ea46083bebc8c6ebfcf7c533ed4d6743f287253be000080bf13062b3ebf1a913e7bb9d5bc7db9d53cc9503fbea660833ea46083bebc8c6ebfb190563e68b9743fca7852be000080bf94c1193eb9b78f3ececc4cbd9911cd3cb9f545bea660833ea46083bebc8c6ebfcc7c533ed4d6743f267253be000080bf79fd183e917a973ececc4cbd9911cd3cb9f545be40015f3eb4ac30bfaeac30bf7df0223faf0bdfbe9cf0223f000080bf98e4a43ecee0603f7bb9d5bc7db9d53cc9503fbe40015f3eb4ac30bfaeac30bfaef0223f650bdfbe85f0223f000080bf70a7ac3e251a633f7db9d5bc2bc0573c9c1532be40015f3eb4ac30bfaeac30bfe0f0223f170bdfbe6cf0223f000080bff0f3af3ee473613fcecc4cbd4fe2da3b992a33be40015f3eb4ac30bfaeac30bfa7f0223f700bdfbe88f0223f000080bf1e94a93e0b895e3fcccc4cbdcbcc4c3e989919bebb60833eb68c6e3fb46083be00000000a9ed873e3dd0763f000080bfb89a1e3faf3d9b3e9711cdbcb9f5453e989919bebb60833eb68c6e3fb46083be50eaebba1f2a883ecdc7763f000080bfb89a1e3ff139923e7cb9d5bcc7503f3e9c1532bebb60833eb68c6e3fb46083be00000000aaed873e3dd0763f000080bfae491a3f9b9b923ececc4cbdb9f5453e992a33bebb60833eb68c6e3fb46083bef3ecec3a16b1873e75d8763f000080bfd9181a3faf3d9b3ececc4cbdb9f5453e992a33be31015f3ebcac303fa5ac30bf00000000e804353ffe04353f000080bfd9181a3faf3d9b3e7cb9d5bcc7503f3e9c1532be31015f3ebcac303fa5ac30bf00000000e704353ffe04353f000080bfae491a3f9b9b923e7db9d5bc9c15323ec9503fbe31015f3ebcac303fa5ac30bf00000000e804353ffd04353f000080bf87f4173f9b9b923ececc4cbd982a333eb9f545be31015f3ebcac303fa5ac30bf00000000e804353ffd04353f000080bfa8c8163faf3d9b3ececc4cbd9999193ecbcc4cbeb260833e8e60833ebd8c6ebfa38e50be41f2743fb95e543e000080bf743b733e262f993ececc4cbd982a333eb9f545beb260833e8e60833ebd8c6ebf777c53bedbd6743f1472533e000080bf52a1823e927a973e7db9d5bc9c15323ec9503fbeb260833e8e60833ebd8c6ebf8e9056be6eb9743fa578523e000080bf0b40823eb9b78f3e9911cdbc9899193eb9f545beb260833e8e60833ebd8c6ebf767c53bedbd6743f1472533e000080bf443c733ebf1a913e9911cdbc9899193eb9f545beacac303f5d015f3eb2ac30bf47b01dbe05db793f49b01d3e000080bf443c733ebf1a913e7db9d5bc9c15323ec9503fbeacac303f5d015f3eb2ac30bf21b01dbe05db793f6cb01d3e000080bf0b40823eb9b78f3e2bc057bc9c15323e9d1532beacac303f5d015f3eb2ac30bf42b01dbe05db793f4db01d3e000080bf0b40823eb81e893e4fe2dabb9899193e992a33beacac303f5d015f3eb2ac30bf61b01dbe05db793f2fb01d3e000080bf443c733eb2bb873e4fe2dabb982a333e989919beba8c6e3f5162833efe5e83be0edf54be3200753f3a044f3e000080bf52a1823ee05b813e66562fbb0ad7233e999919beba8c6e3f5162833efe5e83be09df54be3200753f4b044f3e000080bff6737a3e2856803e9e7289bb0ad7233ed4171fbeba8c6e3f5162833efe5e83beebdd54be1100753fdf074f3e000080bf20747a3e0d18823e2bc057bc9c15323e9d1532beba8c6e3f5162833efe5e83be2a7753bebed6743f6c79533e000080bf0b40823eb81e893e24678bbbcde5223ef83220beba8c6e3f5162833efe5e83be39de54be1a00753fdf064f3e000080bf0dca793e8a62823e6fe889bbdb6c213edb6c21beba8c6e3f5162833efe5e83becb6153be3ed4743f0cbd533e000080bf4ac0783ed2ad823e606284bbca881e3e0ad723beba8c6e3f5162833efe5e83bec50d52beecab743f99ee573e000080bf83b6763eee3c833e60562fbb9999193e0ad723beba8c6e3f5162833efe5e83be190e52bef6ab743f99ed573e000080bfc83b733ebde3823e4fe2dabb9899193e992a33beba8c6e3f5162833efe5e83be500e52befdab743fe0ec573e000080bf443c733eb2bb873e4fe2dabb982a333e989919beacac303fb5ac303f33015fbe00000000aa139a3e2222743f000080bfb89a1e3f8e998b3e2bc057bc9c15323e9d1532beacac303fb5ac303f33015fbe00000000ab139a3e2222743f000080bfae491a3f4df18d3e7cb9d5bcc7503f3e9c1532beacac303fb5ac303f33015fbe00000000aa139a3e2222743f000080bfae491a3f9b9b923e9711cdbcb9f5453e989919beacac303fb5ac303f33015fbe00000000aa139a3e2222743f000080bfb89a1e3ff139923e9c1532be2bc0573c78b9d5bc33cd81be288c6ebf74f3843e9c4d353fe1d2843b6abb343f000080bff0f3af3e83b63b3f982a33be4fe2da3bcbcc4cbd33cd81be288c6ebf74f3843ee59f343f428eb43b6268353f000080bf1e94a93e5da13e3f0ad723be66562f3bcbcc4cbd33cd81be288c6ebf74f3843ede9f343f2e90b43b6968353f000080bf5a66ad3e7b8a403f0ad723befd76b43b06d723bd33cd81be288c6ebf74f3843e01f3343f58bf9d3bd215353f000080bff0f3af3eb0433f3f0ad723be2de7193c54b0d0bc33cd81be288c6ebf74f3843e9dfa353f0d292a3baa0d343f000080bf4aa9b33e03693d3f982a33be4fe2da3bcbcc4cbdb1ac30bfb2ac30bf26015f3e97f0223fba0bdfbe80f0223f000080bf1e94a93e5da13e3f9c1532be2bc0573c78b9d5bcb1ac30bfb2ac30bf26015f3e93f0223fb00bdfbe88f0223f000080bff0f3af3e83b63b3fc7503fbe7bb9d53c78b9d5bcb1ac30bfb2ac30bf26015f3e97f0223fb70bdfbe81f0223f000080bf70a7ac3e43103a3fb9f545be9711cd3ccbcc4cbdb1ac30bfb2ac30bf26015f3e99f0223fc00bdfbe7af0223f000080bf98e4a43e9a493c3fcbcc4cbecccc4c3dcbcc4cbdb68c6ebfaa6083beb960833eb2ed87be3bd0763f00000000000080bffcaf1c3eb314413fb9f545be9711cd3ccbcc4cbdb68c6ebfaa6083beb960833e2db187be74d8763f7875ec3a000080bf80a80a3eb214413fc7503fbe7bb9d53c78b9d5bcb68c6ebfaa6083beb960833eb1ed87be3dd0763f00000000000080bfd46b0b3ebd65453fb9f545bececc4c3d9811cdbcb68c6ebfaa6083beb960833e182a88becdc7763f06f7ebba000080bffcaf1c3e9296453fb9f545bececc4c3d9811cdbcb9ac30bf28015fbea8ac303f9a139abe2522743f00000000000080bffcaf1c3e9296453fc7503fbe7bb9d53c78b9d5bcb9ac30bf28015fbea8ac303fa9139abe2222743f00000000000080bfd46b0b3ebd65453f9c1532be7db9d53c20c057bcb9ac30bf28015fbea8ac303f9a139abe2522743f00000000000080bfd46b0b3ee4ba473f982a33bececc4c3d40e2dabbb9ac30bf28015fbea8ac303f8c139abe2722743f00000000000080bffcaf1c3ec3e6483f0ad723bececc4c3d59562fbb25cd81be74f384be288c6e3f718c263f5c3742bf1af40cbd000080bfe4587c3f796e143f982a33bececc4c3d40e2dabb25cd81be74f384be288c6e3f7713263f0c9c42bf97c310bd000080bf7bdb7a3f2f3a163f9c1532be7db9d53c20c057bc25cd81be74f384be288c6e3ff372273ff17541bf42aa05bd000080bf28887e3f308f183f0ad723be57b0d03c23e719bc25cd81be74f384be288c6e3fbe05283fa9f940bf280101bd000080bf0000803facf6163f0ad723be09d7233df376b4bb25cd81be74f384be288c6e3f74aca0be4d9d63bf4e92aabe000080bf0bd77d3fba75153f0ad723be2de7193c54b0d0bc21015fbeaeac30bfb4ac303f84f0223fbc0bdf3e91f0223f000080bf4aa9b33e03693d3f0ad723be57b0d03c23e719bc21015fbeaeac30bfb4ac303f9ef0223f940bdf3e86f0223f000080bf56c4b73e7d5b3b3f9c1532be7db9d53c20c057bc21015fbeaeac30bfb4ac303f8ef0223fac0bdf3e8ef0223f000080bf7040b33e43103a3f9c1532be2bc0573c78b9d5bc21015fbeaeac30bfb4ac303f71f0223fd90bdf3e9bf0223f000080bff0f3af3e83b63b3f999919becbcc4c3ecbcc4cbda56083beb88c6e3fb760833e00000000aded87be3dd0763f000080bf44a8303fc858bf3e992a33beb9f5453ecfcc4cbda56083beb88c6e3fb760833ed0f4ebba212a88becdc7763f000080bf44a8303f865cc83e9d1532bec7503f3e80b9d5bca56083beb88c6e3fb760833e00000000aced87be3dd0763f000080bf4ef9343fdcfac73e999919beb9f5453ea011cdbca56083beb88c6e3fb760833e4ae4ec3a18b187be75d8763f000080bf242a353fc858bf3e999919beb9f5453ea011cdbc41015fbeb1ac303fb0ac303f00000000f20435bff304353f000080bf242a353fc858bf3e9d1532bec7503f3e80b9d5bc41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bf4ef9343fdcfac73e9d1532be9c15323e40c057bc41015fbeb1ac303fb0ac303f00000000f20435bff304353f000080bf764e373fdcfac73e999919be982a333e60e2dabb41015fbeb1ac303fb0ac303f00000000f30435bff404353f000080bf557a383fc858bf3e27731ebe0ad7233e639e83bb736283beee5e833eb88c6e3f80ee2d3f544823bf4cb7b93e000080bffcb06d3ffefe063f999919be0ad7233e74562fbb736283beee5e833eb88c6e3f77ef2d3f4f4723bf44b7b93e000080bffc286e3f5c6e063f999919be982a333e60e2dabb736283beee5e833eb88c6e3f8ced2d3f554923bf53b7b93e000080bf3e3a6c3f7587043f235b21be235b213e37b088bb736283beee5e833eb88c6e3fd1512c3f95f824bf10c2b93e000080bf44b96d3f94a4073f0ad723bec33d1f3e6eca8abb736283beee5e833eb88c6e3fd3c02d3f877823bfb0b8b93e000080bf69bf6d3fa232083f9d1532be9c15323e40c057bc736283beee5e833eb88c6e3fe6fb2d3f2b3a23bfe0b6b93e000080bf5cff693f0584073f0ad723be9999193e6d562fbb736283beee5e833eb88c6e3f34e82d3ff94e23bf7db7b93e000080bfb4746e3fd2e6083f992a33be9899193e60e2dabb736283beee5e833eb88c6e3f30e82d3ffd4e23bf7eb7b93e000080bf4bf76c3f88b20a3f992a33be9899193e60e2dabbb0ac30bf2a015f3eb3ac303f83139a3e2922743f00000000000080bf2ee6643ec3e6483f9d1532be9c15323e40c057bcb0ac30bf2a015f3eb3ac303fbb139a3e2022743f00000000000080bf562a763ee4ba473fca503fbe9c15323e80b9d5bcb0ac30bf2a015f3eb3ac303ff9139a3e1722743f00000000000080bf562a763ebc65453fb9f545be9899193ea011cdbcb0ac30bf2a015f3eb3ac303fb3139a3e2022743f00000000000080bf2ee6643e9296453fcbcc4cbe9999193ecbcc4cbdbc8c6ebfa060833ea760833eafed873e3dd0763f00000000000080bf2ee6643eb314413fb9f545be9899193ea011cdbcbc8c6ebfa060833ea760833e252a883ecbc7763f6e5dec3a000080bf2ee6643e9296453fca503fbe9c15323e80b9d5bcbc8c6ebfa060833ea760833eafed873e3dd0763f00000000000080bf562a763ebc65453fb9f545be982a333ecfcc4cbdbc8c6ebfa060833ea760833e1ab1873e75d8763f6e82ecba000080bfaaed763eb214413fb9f545be982a333ecfcc4cbdadac30bfb5ac303f21015f3e00000000af139abe2222743f000080bf44a8303fe9fcce3eca503fbe9c15323e80b9d5bcadac30bfb5ac303f21015f3e00000000ac139abe2222743f000080bf4ef9343f2aa5cc3e9d1532bec7503f3e80b9d5bcadac30bfb5ac303f21015f3e00000000a8139abe2222743f000080bf4ef9343fdcfac73e992a33beb9f5453ecfcc4cbdadac30bfb5ac303f21015f3e00000000ad139abe2222743f000080bf44a8303f865cc83e0ad723be0f48753b89751dbeab6083beba8c6ebfa76083be9cae283fc4cbb9be9cad283f000080bf2ee8923e91c94d3f0ad723be60562f3b989919beab6083beba8c6ebfa76083bec7ad283fc3cbb9be72ae283f000080bf7fde933e694e4d3f992a33be4fe2da3b989919beab6083beba8c6ebfa76083be22ae283fc3cbb9be18ae283f000080bf430c903e4b654b3f73a520be555c783b72a520beab6083beba8c6ebfa76083be56ad283fc2cbb9bee2ae283f000080bf99e8923e34954e3f8b751dbe2048753b0ad723beab6083beba8c6ebfa76083be2bae283fc1cbb9be0dae283f000080bf2de8923ed6604f3f9d1532be2bc0573c9c1532beab6083beba8c6ebfa76083be2cae283fc3cbb9be0dae283f000080bf8f368a3e34954e3f999919be6b562f3b0ad723beab6083beba8c6ebfa76083be32ae283fc2cbb9be07ae283f000080bf7ede933effdb4f3f999919be4fe2da3b992a33beab6083beba8c6ebfa76083be22ae283fc2cbb9be17ae283f000080bf420c903e1dc5513f999919be4fe2da3b992a33be36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bf420c903e1dc5513f9d1532be2bc0573c9c1532be36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bf8f368a3e34954e3f9d1532be7bb9d53cc9503fbe36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bf0eea863e743b503f999919be9711cd3cb9f545be36015fbeb8ac30bfa9ac30bf198a043f025d2ebf218a043f000080bfbc5c8b3ee01c543f999919becccc4c3dcbcc4cbeaa6083bea26083bebc8c6ebf5157ab3e2782613f7c60abbe000080bfcc002b3e01b7b23e999919be9711cd3cb9f545beaa6083bea26083bebc8c6ebfe078a83ef421623f41eeaabe000080bf03f9183e6b02b13e9d1532be7bb9d53cc9503fbeaa6083bea26083bebc8c6ebf5157ab3e2782613f7d60abbe000080bffdba193e1a75b53e992a33bececc4c3db9f545beaa6083bea26083bebc8c6ebf1834ae3e28e0603f0ed1abbe000080bf63ff2a3e3e62b73e992a33bececc4c3db9f545beb0ac30bf21015fbeb4ac30bf80139abe2922743f00000000000080bffdaf1c3e1635273f9d1532be7bb9d53cc9503fbeb0ac30bf21015fbeb4ac30bf8c139abe2722743f00000000000080bfd46b0b3ef560283fca503fbe7db9d53c9d1532beb0ac30bf21015fbeb4ac30bf95139abe2522743f00000000000080bfd56b0b3e1cb62a3fb9f545bececc4c3d992a33beb0ac30bf21015fbeb4ac30bf88139abe2722743f00000000000080bffdaf1c3e47852a3fcbcc4cbececc4c3d999919bebf8c6ebfa16083be886083be93ed87be40d0763f00000000000080bffdaf1c3e26072f3fb9f545bececc4c3d992a33bebf8c6ebfa16083be886083be072a88becfc7763ff3edeb3a000080bffdaf1c3e47852a3fca503fbe7db9d53c9d1532bebf8c6ebfa16083be886083be94ed87be40d0763f00000000000080bfd56b0b3e1cb62a3fb9f545be9911cd3c989919bebf8c6ebfa16083be886083be00b187be79d8763f2debecba000080bf80a80a3e26072f3fb9f545be9911cd3c989919beb2ac30bfb1ac30bf3f015fbe0e8a043f055d2ebf268a043f000080bfbc5c8b3e870d493fca503fbe7db9d53c9d1532beb2ac30bfb1ac30bf3f015fbe128a043f085d2ebf218a043f000080bf0eea863ef4ee4c3f9d1532be2bc0573c9c1532beb2ac30bfb1ac30bf3f015fbe168a043f0a5d2ebf188a043f000080bf8f368a3e34954e3f992a33be4fe2da3b989919beb2ac30bfb1ac30bf3f015fbe118a043f075d2ebf208a043f000080bf430c903e4b654b3f999919becbcc4c3e999919bea86083beb88c6e3fb16083be00000000a6ed873e3dd0763f000080bfb89a1e3fc858bf3e989919beb9f5453e992a33bea86083beb88c6e3fb16083bed3f0ecba13b1873e77d8763f000080bfd9181a3fc858bf3e9c1532bec7503f3e9c1532bea86083beb88c6e3fb16083be00000000a6ed873e3dd0763f000080bfae491a3fdcfac73e982a33beb9f5453e989919bea86083beb88c6e3fb16083be44f3eb3a1d2a883ecdc7763f000080bfb89a1e3f865cc83e982a33beb9f5453e989919beb2ac30bfaeac303f45015fbef104353ff504353f00000000000080bf3817823e26072f3f9c1532bec7503f3e9c1532beb2ac30bfaeac303f45015fbef204353ff404353f00000000000080bff37e7f3e1cb62a3fc7503fbe9c15323e9c1532beb2ac30bfaeac303f45015fbef204353ff404353f00000000000080bf572a763e1cb62a3fb9f545be982a333e989919beb2ac30bfaeac303f45015fbef104353ff504353f00000000000080bfaaed763e26072f3fcbcc4cbe9999193e989919beba8c6ebfaf60833ea76083bea3ed873e3fd0763f00000000000080bf2ee6643e26072f3fb9f545be982a333e989919beba8c6ebfaf60833ea76083be13b1873e77d8763f07e3ec3a000080bfaaed763e26072f3fc7503fbe9c15323e9c1532beba8c6ebfaf60833ea76083bea3ed873e3fd0763f00000000000080bf572a763e1cb62a3fb9f545be9899193e992a33beba8c6ebfaf60833ea76083be142a883ecdc7763fefdbebba000080bf2ee6643e47852a3fb9f545be9899193e992a33beb0ac30bf76015f3eabac30bfac139a3e2222743f00000000000080bf2ee6643e47852a3fc7503fbe9c15323e9c1532beb0ac30bf76015f3eabac30bfbc139a3e2022743f00000000000080bf572a763e1cb62a3f9c1532be9c15323ec9503fbeb0ac30bf76015f3eabac30bfad139a3e2222743f00000000000080bf572a763ef560283f982a33be9899193eb9f545beb0ac30bf76015f3eabac30bf9f139a3e2322743f00000000000080bf2ee6643e1635273f999919be9999193ecbcc4cbeb16083bea860833eb88c6ebf6957abbe2182613f8d60ab3e000080bffd36733e01b7b23e982a33be9899193eb9f545beb16083bea860833eb88c6ebf6534aebe16e0603f24d1ab3e000080bf9435733e3e62b73e9c1532be9c15323ec9503fbeb16083bea860833eb88c6ebf6957abbe2182613f8c60ab3e000080bfbf3c823e1975b53e989919be982a333eb9f545beb16083bea860833eb88c6ebfc178a8bef721623f47eeaa3e000080bf179f823e6c02b13e989919be982a333eb9f545be3c015fbeb9ac303fa7ac30bf00000000eb04353ffb04353f000080bfa8c8163fc858bf3e9c1532be9c15323ec9503fbe3c015fbeb9ac303fa7ac30bf00000000eb04353ffb04353f000080bf87f4173fdcfac73e9c1532bec7503f3e9c1532be3c015fbeb9ac303fa7ac30bf00000000ea04353ffc04353f000080bfae491a3fdcfac73e989919beb9f5453e992a33be3c015fbeb9ac303fa7ac30bf00000000eb04353ffb04353f000080bfd9181a3fc858bf3ececc4cbdcbcc4c3ecbcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf45a8303faf3d9b3e9911cdbcb9f5453ecfcc4cbdf353843e564d773f0000000000000000000000000000803f000080bf44a8303ff139923e9711cdbcb9f5453e989919bef353843e564d773f0000000000000000000000000000803f000080bfb89a1e3ff139923ecccc4cbdcbcc4c3e989919bef353843e564d773f0000000000000000000000000000803f000080bfb89a1e3faf3d9b3e9911cdbcb9f5453ecfcc4cbdf604353ff004353f0000000000000000000000000000803f000080bf44a8303ff139923e4fe2dabb982a333ecfcc4cbdf604353ff004353f0000000000000000000000000000803f000080bf44a8303f8e998b3e4fe2dabb982a333e989919bef604353ff004353f0000000000000000000000000000803f000080bfb89a1e3f8e998b3e9711cdbcb9f5453e989919bef604353ff004353f0000000000000000000000000000803f000080bfb89a1e3ff139923e66562fbb0ad7233ececc4cbd554d773fff53843e00000000461e80be376f6f3f4f1e803e000080bf7f6f7a3e989c4d3e66562fbb0ad7233e999919be554d773fff53843e00000000461e80be3b6f6f3f371e803e000080bff6737a3e2856803e4fe2dabb982a333e989919be554d773fff53843e00000000471e80be3b6f6f3f341e803e000080bf52a1823ee05b813e4fe2dabb982a333ecfcc4cbd554d773fff53843e00000000461e80be376f6f3f4e1e803e000080bf179f823e09a84f3ececc4cbd9999193ecbcc4cbef253843e00000000564d77bf000000000000803f00000000000080bf743b733e262f993e9911cdbc9899193eb9f545bef253843e00000000564d77bf000000000000803f00000000000080bf443c733ebf1a913e9711cdbccecc4c3db9f545bef253843e00000000564d77bf000000000000803f00000000000080bf13062b3ebf1a913ecccc4cbdcecc4c3dcbcc4cbef253843e00000000564d77bf000000000000803f00000000000080bf42052b3e262f993e9911cdbc9899193eb9f545bef604353f00000000f00435bf000000000000803f00000000000080bf443c733ebf1a913e4fe2dabb9899193e992a33bef604353f00000000f00435bf000000000000803f00000000000080bf443c733eb2bb873e4fe2dabbcecc4c3d992a33bef604353f00000000f00435bf000000000000803f00000000000080bf13062b3eb2bb873e9711cdbccecc4c3db9f545bef604353f00000000f00435bf000000000000803f00000000000080bf13062b3ebf1a913e60562fbb9999193e0ad723be554d773f00000000fe5384be000000000000803f00000000000080bfc83b733ebde3823e6b562fbbcccc4c3d0ad723be554d773f00000000fe5384be000000000000803f00000000000080bf96052b3ebde3823e4fe2dabbcecc4c3d992a33be554d773f00000000fe5384be000000000000803f00000000000080bf13062b3eb2bb873e4fe2dabb9899193e992a33be554d773f00000000fe5384be000000000000803f00000000000080bf443c733eb2bb873ececc4cbd60562f3b0ad723be00000000554d77bffa5384be4add313f89583ebe50dd313f000080bf5a66ad3eed9f5c3f999919be6b562f3b0ad723be00000000554d77bffa5384be4bdd313f8a583ebe50dd313f000080bf7ede933effdb4f3f999919be4fe2da3b992a33be00000000554d77bffa5384be4add313f89583ebe50dd313f000080bf420c903e1dc5513fcecc4cbd4fe2da3b992a33be00000000554d77bffa5384be49dd313f88583ebe51dd313f000080bf1e94a93e0b895e3f999919be4fe2da3b992a33be00000000f50435bff10435bf2fcd133f3ecd13bf41cd133f000080bf420c903e1dc5513f999919be9711cd3cb9f545be00000000f50435bff10435bf2fcd133f3fcd13bf41cd133f000080bfbc5c8b3ee01c543fcecc4cbd9911cd3cb9f545be00000000f50435bff10435bf2ccd133f3fcd13bf43cd133f000080bf98e4a43ecee0603fcecc4cbd4fe2da3b992a33be00000000f50435bff10435bf2ccd133f40cd13bf44cd133f000080bf1e94a93e0b895e3f999919be9711cd3cb9f545be00000000075484be534d77bf741e803e306f6f3f4a1e80be000080bf03f9183e6b02b13e999919becccc4c3dcbcc4cbe00000000075484be534d77bf7f1e803e306f6f3f4a1e80be000080bfcc002b3e01b7b23ecccc4cbdcecc4c3dcbcc4cbe00000000075484be534d77bf4e1e803e366f6f3f4e1e80be000080bf42052b3e262f993ececc4cbd9911cd3cb9f545be00000000075484be534d77bf451e803e376f6f3f4f1e80be000080bf79fd183e917a973ecccc4cbdcbcc4c3e989919be5e7541b4554d773f025484be000000000254843e554d773f000080bfb89a1e3faf3d9b3ececc4cbdb9f5453e992a33be5e7541b4554d773f025484be000000000054843e554d773f000080bfd9181a3faf3d9b3e989919beb9f5453e992a33be5e7541b4554d773f025484be000000000054843e554d773f000080bfd9181a3fc858bf3e999919becbcc4c3e999919be5e7541b4554d773f025484be000000000154843e554d773f000080bfb89a1e3fc858bf3ececc4cbdb9f5453e992a33be00000000ed04353ff80435bf00000000f804353fed04353f000080bfd9181a3faf3d9b3ececc4cbd982a333eb9f545be00000000ed04353ff80435bf00000000f804353fed04353f000080bfa8c8163faf3d9b3e989919be982a333eb9f545be00000000ed04353ff80435bf00000000f804353fed04353f000080bfa8c8163fc858bf3e989919beb9f5453e992a33be00000000ed04353ff80435bf00000000f804353fed04353f000080bfd9181a3fc858bf3ececc4cbd982a333eb9f545be00000000fa53843e554d77bff91d80be446f6f3f461e803e000080bf52a1823e927a973ececc4cbd9999193ecbcc4cbe00000000fa53843e554d77bf051e80be426f6f3f461e803e000080bf743b733e262f993e999919be9999193ecbcc4cbe00000000fa53843e554d77bf3d1e80be3b6f6f3f411e803e000080bffd36733e01b7b23e989919be982a333eb9f545be00000000fa53843e554d77bf321e80be3b6f6f3f421e803e000080bf179f823e6c02b13ecbcc4cbe9999193e989919be564d77bf7bbee733f35384be000000000000803f00000000000080bf2ee6643e26072f3fb9f545be9899193e992a33be564d77bf7bbee733f35384be000000000000803f00000000000080bf2ee6643e47852a3fb9f545bececc4c3d992a33be564d77bf7bbee733f35384be000000000000803f00000000000080bffdaf1c3e47852a3fcbcc4cbececc4c3d999919be564d77bf7bbee733f35384be000000000000803f00000000000080bffdaf1c3e26072f3fb9f545be9899193e992a33bef30435bfea320434f30435bf000000000000803f00000000000080bf2ee6643e47852a3f982a33be9899193eb9f545bef30435bfea320434f30435bf000000000000803f00000000000080bf2ee6643e1635273f992a33bececc4c3db9f545bef30435bfea320434f30435bf000000000000803f00000000000080bffdaf1c3e1635273fb9f545bececc4c3d992a33bef30435bfea320434f30435bf000000000000803f00000000000080bffdaf1c3e47852a3f982a33be9899193eb9f545befd5384be00000000554d77bf000000000000803f00000000000080bf9435733e3e62b73e999919be9999193ecbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bffd36733e01b7b23e999919becccc4c3dcbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bfcc002b3e01b7b23e992a33bececc4c3db9f545befd5384be00000000554d77bf000000000000803f00000000000080bf63ff2a3e3e62b73e992a33be4fe2da3b989919be045484be554d77bf0000000050dd313f92583ebe4add313f000080bf430c903e4b654b3f0ad723be60562f3b989919be045484be554d77bf0000000051dd313f92583ebe49dd313f000080bf7fde933e694e4d3f0ad723be66562f3bcbcc4cbd045484be554d77bf000000004add313f8c583ebe51dd313f000080bf5a66ad3e7b8a403f982a33be4fe2da3bcbcc4cbd045484be554d77bf0000000049dd313f8c583ebe51dd313f000080bf1e94a93e5da13e3f982a33be4fe2da3bcbcc4cbdf00435bff50435bfcaab373440cd133f38cd13bf38cd133f000080bf1e94a93e5da13e3fb9f545be9711cd3ccbcc4cbdf00435bff50435bfcaab373442cd133f3acd13bf32cd133f000080bf98e4a43e9a493c3fb9f545be9911cd3c989919bef00435bff50435bfcaab373432cd133f2bcd13bf51cd133f000080bfbc5c8b3e870d493f992a33be4fe2da3b989919bef00435bff50435bfcaab37342ecd133f28cd13bf58cd133f000080bf430c903e4b654b3fb9f545be9711cd3ccbcc4cbd554d77bffb5384be00000000fb5384be554d773f00000000000080bf80a80a3eb214413fcbcc4cbecccc4c3dcbcc4cbd554d77bffb5384be00000000fb5384be554d773f00000000000080bffcaf1c3eb314413fcbcc4cbececc4c3d999919be554d77bffb5384be00000000fb5384be554d773f00000000000080bffdaf1c3e26072f3fb9f545be9911cd3c989919be554d77bffb5384be00000000fb5384be554d773f00000000000080bf80a80a3e26072f3f999919becbcc4c3e999919bef75384be564d773f0000000000000000000000000000803f000080bfb89a1e3fc858bf3e982a33beb9f5453e989919bef75384be564d773f0000000000000000000000000000803f000080bfb89a1e3f865cc83e992a33beb9f5453ecfcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf44a8303f865cc83e999919becbcc4c3ecbcc4cbdf75384be564d773f0000000000000000000000000000803f000080bf44a8303fc858bf3e982a33beb9f5453e989919bef40435bff304353f04a440b4f304353ff304353f00000000000080bf3817823e26072f3fb9f545be982a333e989919bef40435bff304353f04a440b4f204353ff304353f00000000000080bfaaed763e26072f3fb9f545be982a333ecfcc4cbdf40435bff304353f04a440b4f304353ff404353f00000000000080bfaaed763eb214413f992a33beb9f5453ecfcc4cbdf40435bff304353f04a440b4f304353ff404353f00000000000080bf3817823eb214413fb9f545be982a333e989919be534d77bf0754843e737541b40754843e534d773f00000000000080bfaaed763e26072f3fcbcc4cbe9999193e989919be534d77bf0754843e737541b40754843e534d773f00000000000080bf2ee6643e26072f3fcbcc4cbe9999193ecbcc4cbd534d77bf0754843e737541b40754843e534d773f00000000000080bf2ee6643eb314413fb9f545be982a333ecfcc4cbd534d77bf0754843e737541b40754843e534d773f00000000000080bfaaed763eb214413f982a33bececc4c3d40e2dabb065484be00000000554d773f71692e3fc37d35bfb8a63a3e000080bf7bdb7a3f2f3a163f0ad723bececc4c3d59562fbb065484be00000000554d773f71692e3fc27d35bfb8a63a3e000080bfe4587c3f796e143f0ad723be9999193e6d562fbb065484be00000000554d773f7a692e3fbb7d35bfbfa63a3e000080bfb4746e3fd2e6083f992a33be9899193e60e2dabb065484be00000000554d773f77692e3fbd7d35bfbda63a3e000080bf4bf76c3f88b20a3f992a33be9899193e60e2dabbf30435bf00000000f404353f000000000000803f00000000000080bf2ee6643ec3e6483fb9f545be9899193ea011cdbcf30435bf00000000f404353f000000000000803f00000000000080bf2ee6643e9296453fb9f545bececc4c3d9811cdbcf30435bf00000000f404353f000000000000803f00000000000080bffcaf1c3e9296453f982a33bececc4c3d40e2dabbf30435bf00000000f404353f000000000000803f00000000000080bffcaf1c3ec3e6483fb9f545be9899193ea011cdbc534d77bf000000000e54843e000000000000803f00000000000080bf2ee6643e9296453fcbcc4cbe9999193ecbcc4cbd534d77bf000000000e54843e000000000000803f00000000000080bf2ee6643eb314413fcbcc4cbecccc4c3dcbcc4cbd534d77bf000000000e54843e000000000000803f00000000000080bffcaf1c3eb314413fb9f545bececc4c3d9811cdbc534d77bf000000000e54843e000000000000803f00000000000080bffcaf1c3e9296453f999919becbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000e5484be534d773f000080bf44a8303fc858bf3e999919beb9f5453ea011cdbc00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353fc858bf3ececc4cbdb9f5453ea011cdbc00000000534d773f0e54843e000000000e5484be534d773f000080bf242a353faf3d9b3ececc4cbdcbcc4c3ecbcc4cbd00000000534d773f0e54843e000000000e5484be534d773f000080bf45a8303faf3d9b3e999919beb9f5453ea011cdbc00000000f304353ff404353f00000000f30435bff204353f000080bf242a353fc858bf3e999919be982a333e60e2dabb00000000f304353ff404353f00000000f30435bff204353f000080bf557a383fc858bf3ececc4cbd982a333e60e2dabb00000000f304353ff404353f00000000f30435bff204353f000080bf557a383faf3d9b3ececc4cbdb9f5453ea011cdbc00000000f304353ff404353f00000000f30435bff204353f000080bf242a353faf3d9b3e999919be0ad7233e74562fbb000000000e54843e534d773fd4822e3f12f034bf9fa2413e000080bffc286e3f5c6e063fcccc4cbd0ad7233e74562fbb000000000e54843e534d773fd6822e3f12f034bf9ca2413e000080bff917793fd882f23ececc4cbd982a333e60e2dabb000000000e54843e534d773fd6822e3f11f034bf9ea2413e000080bf3b29773f0ab5ee3e999919be982a333e60e2dabb000000000e54843e534d773fd5822e3f12f034bf9fa2413e000080bf3e3a6c3f7587043fcbcc4c3d989919becbcc4c3e00000000000000000000803f000080bf0000000000000000000080bff753333f86f23a3f9899193e999919becbcc4c3e00000000000000000000803f000080bf0000000000000000000080bfec34223ff6f23a3f9999193ecbcc4cbdcbcc4c3e00000000000000000000803f000080bf0000000000000000000080bfec34223f82004d3fcbcc4c3dcbcc4cbdcbcc4c3e00000000000000000000803f000080bf0000000000000000000080bff753333f12004d3fcbcc4c3e989919be9999193e0000803f0000000000000000000000000000803f00000000000080bf40a3d43c00000000cbcc4c3e999919bececc4c3d0000803f0000000000000000000000000000803f00000000000080bff0c6d43ce43e4c3dcbcc4c3ecbcc4cbdcccc4c3d0000803f0000000000000000000000000000803f00000000000080bf209ec53de43e4c3dcbcc4c3ecbcc4cbd9999193e0000803f0000000000000000000000000000803f00000000000080bf3595c53d000000009999193ecbcc4cbe9999193ea160833eba8c6ebfad60833e40d076bf97ed87be00000000000080bff80e263e05631f3f992a333eb9f545be9899193ea160833eba8c6ebfad60833e79d876bf01b187be94ecec3a000080bf7b07143e05631f3f9c15323ec9503fbe9c15323ea160833eba8c6ebfad60833e40d076bf95ed87be00000000000080bfd0ca143e0fb4233f9899193eb9f545be982a333ea160833eba8c6ebfad60833ecfc776bf0b2a88beedf0ebba000080bff80e263ee4e4233f9899193eb9f545be982a333e45015f3eb2ac30bfaeac303f0c2274bf0000000036149a3e000080bf12c6203f9220333f9c15323ec9503fbe9c15323e45015f3eb2ac30bfaeac303f132274bf000000000c149a3e000080bf939e1c3f884c343f9c15323e9d1532bec7503f3e45015f3eb2ac30bfaeac303f0c2274bf0000000031149a3e000080bfee5b1d3fdaa1363f9899193e992a33beb9f5453e45015f3eb2ac30bfaeac303f062274bf0000000050149a3e000080bf08d3213f0071363f9899193e999919becbcc4c3eb360833eb36083beb68c6e3f5fd876bf1961eababdb1873e000080bfec34223ff6f23a3f9899193e992a33beb9f5453eb360833eb36083beb68c6e3fffcf76bf0000000067ef873e000080bf08d3213f0071363f9c15323e9d1532bec7503f3eb360833eb36083beb68c6e3ff2c676bf14be013b2230883e000080bfee5b1d3fdaa1363f992a333e989919beb9f5453eb360833eb36083beb68c6e3fffcf76bf0000000067ef873e000080bfb58c1d3ffcf23a3f992a333e989919beb9f5453ea9ac303f3e015fbeb7ac303f5d0635bf000000008803353f000080bfb58c1d3ffcf23a3f9c15323e9d1532bec7503f3ea9ac303f3e015fbeb7ac303f540635bf000000009103353f000080bfee5b1d3fdaa1363fc9503f3e9c1532be9c15323ea9ac303f3e015fbeb7ac303f5c0635bf000000008a03353f000080bf3d681a3fbea1363fb9f5453e989919be982a333ea9ac303f3e015fbeb7ac303f630635bf000000008203353f000080bf545b193fd2f23a3fcbcc4c3e989919be9999193eba8c6e3fb26083bea660833e61b987bec35bcc3a59d7763f000080bfa8c8163f86f23a3fb9f5453e989919be982a333eba8c6e3fb26083bea660833e1af787be00000000f0ce763f000080bf545b193fd2f23a3fc9503f3e9c1532be9c15323eba8c6e3fb26083bea660833ee33788be860911bbd7c5763f000080bf3d681a3fbea1363fb9f5453e992a33be9899193eba8c6e3fb26083bea660833e1af787be00000000f0ce763f000080bf6fed173fa070363fb9f5453e992a33be9899193eb5ac303fa7ac30bf71015f3eec0435bffa0435bf00000000000080bfb6c6063e05631f3fc9503f3e9c1532be9c15323eb5ac303fa7ac30bf71015f3eec0435bffa0435bf00000000000080bf33760b3e0fb4233f9c15323ec9503fbe9c15323eb5ac303fa7ac30bf71015f3eec0435bffa0435bf00000000000080bfd0ca143e0fb4233f992a333eb9f545be9899193eb5ac303fa7ac30bf71015f3eed0435bffa0435bf00000000000080bf7b07143e05631f3f9999193ecbcc4cbdcbcc4c3eb160833ea860833eb88c6e3f8ed876bf5588ef3a68b0873e000080bfec34223f82004d3f992a333ecfcc4cbdb9f5453eb160833ea860833eb88c6e3f28d076bf0000000048ee873e000080bfb58c1d3f88004d3f9c15323e80b9d5bcc7503f3eb160833ea860833eb88c6e3f13c776bfc7f3ffba382f883e000080bfee5b1d3f7b51513f9899193ea011cdbcb9f5453eb160833ea860833eb88c6e3f26d076bf0000000048ee873e000080bf08d3213f4b82513f9899193ea011cdbcb9f5453e36015f3eb3ac303fafac303f392274bf000000001d139a3e000080bf08d3213f4b82513f9c15323e80b9d5bcc7503f3e36015f3eb3ac303fafac303f3d2274bf0000000003139a3e000080bfee5b1d3f7b51513f9c15323e40c057bc9c15323e36015f3eb3ac303fafac303f412274bf00000000e3129a3e000080bf929e1c3f77a6533f9899193e60e2dabb982a333e36015f3eb3ac303fafac303f3d2274bf0000000006139a3e000080bf12c6203f3fd2543f9c15323e40c057bc9c15323eab60833eb88c6e3fb160833e0cae28bfcccbb93e2bae28bf000080bf2240573f82a5473f992a333e60e2dabb9899193eab60833eb88c6e3fb160833e1bae28bfcacbb93e1bae28bf000080bffc2a5a3f6bd54a3f0ad7233e77562fbb9999193eab60833eb88c6e3fb160833e02ae28bfcbcbb93e35ae28bf000080bf1a145c3f4dec483f0ad7233e1e4875bb89751d3eab60833eb88c6e3fb160833eecad28bfcbcbb93e4aae28bf000080bff1985b3f2471483f72a5203e705c78bb73a5203eab60833eb88c6e3fb160833e22ae28bfcbcbb93e16ae28bf000080bf27995b3f82a5473f8b751d3e474875bb0ad7233eab60833eb88c6e3fb160833e19ae28bfcacbb93e1eae28bf000080bff1985b3fdfd9463f9899193e74562fbb0ad7233eab60833eb88c6e3fb160833efead28bfcacbb93e38ae28bf000080bf1a145c3fb65e463f9899193e60e2dabb982a333eab60833eb88c6e3fb160833ef4ad28bfc9cbb93e43ae28bf000080bffc2a5a3f9975443f992a333e60e2dabb9899193eadac303fb0ac303f76015f3e158a04bf0e5d2e3f128a04bf000080bffc2a5a3f6bd54a3f9c15323e40c057bc9c15323eadac303fb0ac303f76015f3e178a04bf0e5d2e3f138a04bf000080bf2240573f82a5473fc9503f3e80b9d5bc9c15323eadac303fb0ac303f76015f3e178a04bf0e5d2e3f138a04bf000080bfe299553fc24b493fb9f5453ea011cdbc9899193eadac303fb0ac303f76015f3e178a04bf0e5d2e3f118a04bf000080bf38d3573f2e2d4d3fcbcc4c3ecbcc4cbd9999193eb88c6e3fb160833ea860833eb0a887be47bc06bb94d9763f000080bfa8c8163f13004d3fb9f5453ea011cdbc9899193eb88c6e3fb160833ea860833e7ce687be000000003ad1763f000080bf6fed173fea81513fc9503f3e80b9d5bc9c15323eb88c6e3fb160833ea860833e582788beea44e13a31c8763f000080bf3d681a3f5e51513fb9f5453ecfcc4cbd982a333eb88c6e3fb160833ea860833e7ce687be000000003ad1763f000080bf545b193f5f004d3fb9f5453ecfcc4cbd982a333ea9ac303f39015f3eb6ac303f980335bf000000004e06353f000080bf545b193f5f004d3fc9503f3e80b9d5bc9c15323ea9ac303f39015f3eb6ac303f970335bf000000004e06353f000080bf3d681a3f5e51513f9c15323e80b9d5bcc7503f3ea9ac303f39015f3eb6ac303f950335bf000000005006353f000080bfee5b1d3f7b51513f992a333ecfcc4cbdb9f5453ea9ac303f39015f3eb6ac303f980335bf000000004e06353f000080bfb58c1d3f88004d3f9899193ecbcc4cbecccc4c3da660833eba8c6ebfab6083be3fd076bf9bed87be00000000000080bff80e263e78550d3f9899193eb9f545be9711cd3ca660833eba8c6ebfab6083becfc776bf0d2a88bebfe7eb3a000080bff70e263e99d3083f9c15323ec9503fbe7cb9d53ca660833eba8c6ebfab6083be3fd076bf9aed87be00000000000080bfceca143e6e04093f992a333eb9f545bececc4c3da660833eba8c6ebfab6083be77d876bf08b187bed5e8ecba000080bf7b07143e78550d3f992a333eb9f545bececc4c3dadac303fb0ac30bf76015fbef40435bff20435bf00000000000080bf7b07143e78550d3f9c15323ec9503fbe7cb9d53cadac303fb0ac30bf76015fbef40435bff10435bf00000000000080bfceca143e6e04093fc9503f3e9d1532be7db9d53cadac303fb0ac30bf76015fbef40435bff20435bf00000000000080bf32760b3e6e04093fb9f5453e992a33bececc4c3dadac303fb0ac30bf76015fbef40435bff30435bf00000000000080bfb5c6063e78550d3fcbcc4c3e999919bececc4c3dbf8c6e3fa76083be8e6083bef35e543e3df2743fab8e50be000080bff0c6d43ce43e4c3db9f5453e992a33bececc4c3dbf8c6e3fa76083be8e6083be4b72533ed8d6743f7e7c53be000080bf5011093c84e3593dc9503f3e9d1532be7db9d53cbf8c6e3fa76083be8e6083bedd78523e6ab9743f979056be000080bff052153c26fd8b3db9f5453e989919be9911cd3cbf8c6e3fa76083be8e6083be4b72533ed8d6743f807c53be000080bf70cdd43c0e71863db9f5453e989919be9911cd3caaac303f25015fbeb6ac30bf4ab01d3e09db793ff8af1dbe000080bf70cdd43c0e71863dc9503f3e9d1532be7db9d53caaac303f25015fbeb6ac30bf35b01d3e09db793f0bb01dbe000080bff052153c26fd8b3d9d15323e9c1532be2bc0573caaac303f25015fbeb6ac30bf48b01d3e09db793ffaaf1dbe000080bf0053153c2661a63d992a333e989919be4fe2da3baaac303f25015fbeb6ac30bf57b01d3e09db793fe8af1dbe000080bf70cdd43c42edab3d9d15323e9c1532be2bc0573c5c62833ee25e83bebd8c6ebf7077533e40d7743fb96f53be000080bf0053153c2661a63d9899193e992a33be4fe2da3b5c62833ee25e83bebd8c6ebf48024f3eb400753fa0d754be000080bf4011093c8a6cc53d9999193e0ad723be6b562f3b5c62833ee25e83bebd8c6ebf17034f3ead00753f60d754be000080bf00019b3c6a83c93d20731e3e0ad723be149e833b5c62833ee25e83bebd8c6ebfc2034f3ea600753f2dd754be000080bf30029b3c9e4ec33d205b213e1e5b21bef2af883b5c62833ee25e83bebd8c6ebf8839533e89d9743f498353be000080bfb006a93c2e40c03d0ad7233ebd3d1fbe2eca8a3b5c62833ee25e83bebd8c6ebfcdea573e80ac743fe00652be000080bfc8f5b43c36b5bd3d0ad7233e989919be60562f3b5c62833ee25e83bebd8c6ebf29eb573e7dac743fc60652be000080bf88c9d43c124dbf3d992a333e989919be4fe2da3b5c62833ee25e83bebd8c6ebf65eb573e79ac743fb10652be000080bf70cdd43c42edab3d9899193e992a33be4fe2da3b59015f3eb1ac30bfaeac30bf232274bf9d139abe00000000000080bff70e263e6883053f9d15323e9c1532be2bc0573c59015f3eb1ac30bfaeac30bf232274bfa7139abe00000000000080bfceca143e47af063f9c15323ec9503fbe7cb9d53c59015f3eb1ac30bfaeac30bf222274bfae139abe00000000000080bfceca143e6e04093f9899193eb9f545be9711cd3c59015f3eb1ac30bfaeac30bf232274bfa5139abe00000000000080bff70e263e99d3083f9c15323e40c057bc7db9d53c36cd813e238c6e3f95f384bea24d35bf0cd784bb65bb34bf000080bfd21e6a3f32845a3f0ad7233e3ae719bc57b0d03c36cd813e238c6e3f95f384be9cfa35bfea342abbac0d34bf000080bf7ff96b3fb2d1583f0ad7233e0e77b4bb09d7233d36cd813e238c6e3f95f384be11f334bfdcbf9dbbc01535bf000080bfd21e6a3f05f7563f992a333e60e2dabbcecc4c3d36cd813e238c6e3f95f384bee99f34bfc092b4bb5d6835bf000080bfe9ee663f5899573f0ad7233e6d562fbbcecc4c3d36cd813e238c6e3f95f384bee89f34bf5593b4bb5f6835bf000080bf07d8683f3ab0553f9c15323e80b9d5bc2bc0573c3b015f3eb7ac303fa9ac30bf8cf022bf930bdfbe97f022bf000080bf12c56b3f722a5c3f0ad7233e5cb0d0bc2de7193c3b015f3eb7ac303fa9ac30bf98f022bf800bdfbe92f022bf000080bf05076e3f38df5a3f0ad7233e3ae719bc57b0d03c3b015f3eb7ac303fa9ac30bf85f022bf9f0bdfbe9bf022bf000080bf7ff96b3fb2d1583f9c15323e40c057bc7db9d53c3b015f3eb7ac303fa9ac30bf76f022bfb80bdfbea2f022bf000080bfd21e6a3f32845a3f992a333ecfcc4cbd4fe2da3b39cd813e8bf3843e238c6ebfa69856be8585743f682d563e000080bfbf9fc53d42edab3d0ad7233ececc4cbd6b562f3b39cd813e8bf3843e238c6ebf29e058be5c6f743ff475553e000080bfc59ec53d124dbf3d0ad7233e06d723bd0677b43b39cd813e8bf3843e238c6ebfb49b54be8a98743f14cd563e000080bfc30fd43db668bc3d0ad7233e5cb0d0bc2de7193c39cd813e8bf3843e238c6ebf4bc155be988d743f0071563e000080bfc309e93dbe70b83d9c15323e80b9d5bc2bc0573c39cd813e8bf3843e238c6ebf118357bea97c743fc1e3553e000080bf6327e83d2a61a63d992a333ecfcc4cbd4fe2da3baaac303f34015f3eb7ac30bf3ab01dbe07db793f1db01d3e000080bfbf9fc53d42edab3d9c15323e80b9d5bc2bc0573caaac303f34015f3eb7ac30bf25b01dbe07db793f30b01d3e000080bf6327e83d2a61a63dc9503f3e80b9d5bc7bb9d53caaac303f34015f3eb7ac30bf37b01dbe07db793f1eb01d3e000080bf6327e83d26fd8b3db9f5453ecfcc4cbd9711cd3caaac303f34015f3eb7ac30bf46b01dbe07db793f0fb01d3e000080bfbf9fc53d0e71863dcbcc4c3ecbcc4cbdcccc4c3dba8c6e3fad60833ea56083bee15e54be39f2743ffd8e503e000080bf209ec53de43e4c3db9f5453ecfcc4cbd9711cd3cba8c6e3fad60833ea56083be437253bed4d6743fb37c533e000080bfbf9fc53d0e71863dc9503f3e80b9d5bc7bb9d53cba8c6e3fad60833ea56083bee07852be68b9743faa90563e000080bf6327e83d26fd8b3db9f5453ea011cdbccecc4c3dba8c6e3fad60833ea56083be417253bed4d6743fb27c533e000080bf7dace93d88e3593db9f5453ea011cdbccecc4c3dabac303fb0ac303f75015fbe81f022bf380bdf3ec2f022bf000080bf2697643f1cf1593fc9503f3e80b9d5bc7bb9d53cabac303fb0ac303f75015fbe90f022bf680bdf3ea2f022bf000080bf9278683f722a5c3f9c15323e40c057bc7db9d53cabac303fb0ac303f75015fbea0f022bf9d0bdf3e81f022bf000080bfd21e6a3f32845a3f992a333e60e2dabbcecc4c3dabac303fb0ac303f75015fbe8ef022bf620bdf3ea8f022bf000080bfe9ee663f5899573fcbcc4c3dcbcc4cbe9999193ea66083bebc8c6ebfa660833e3fd076bf9aed873e00000000000080bf2a456e3e05631f3fcfcc4c3db9f545be992a333ea66083bebc8c6ebfa660833ecfc776bf0f2a883e06f3eb3a000080bf2a456e3ee4e4233f80b9d53cc9503fbe9d15323ea66083bebc8c6ebfa660833e3fd076bf9aed873e00000000000080bf52897f3e0fb4233fa011cd3cb9f545be9999193ea66083bebc8c6ebfa660833e77d876bf09b1873eabdfecba000080bf5226803e05631f3fa011cd3cb9f545be9999193eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bf5226803e05631f3f80b9d53cc9503fbe9d15323eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bf52897f3e0fb4233f40c0573c9d1532be9d15323eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bff66e843e0fb4233f60e2da3b992a33be9999193eb1ac30bfb1ac30bf32015f3ef30435bff304353f00000000000080bfb6c6863e05631f3f6d562f3b0ad723be9999193eb88c6ebf566283be0b5f833e90b2873e41d876bf544dedba000080bf08e36d3f82fc633f60e2da3b992a33be9999193eb88c6ebf566283be0b5f833e93b2873e41d876bf9d45edba000080bfbf96703f82fc633f40c0573c9d1532be9d15323eb88c6ebf566283be0b5f833efbf9873e8ace76bf00000000000080bfea65703f78ab5f3f5d72893b0ad723becc171f3eb88c6ebf566283be0b5f833edbb8873e6ad776bf52c0d4ba000080bf08e36d3f9904633f60e2da3b989919be992a333eb88c6ebf566283be0b5f833e411d883e9ec976bf3d77b33a000080bfe0146c3fa37a5f3ffe668b3bc0e522be0033203eb88c6ebf566283be0b5f833e6404863eef0b77bfe6dc6dbc000080bf7eb86d3fabd2623f56e8893bd96c21bed96c213eb88c6ebf566283be0b5f833e7701873ef1ee76bfe875e7bb000080bf0c766d3f569b623f3f62843bc5881ebe0ad7233eb88c6ebf566283be0b5f833e392b883ea6c776bfef1bea3a000080bf92f36c3f5a2e623f6d562f3b999919be0ad7233eb88c6ebf566283be0b5f833e942b883e99c776bf6583eb3a000080bfe0146c3f5a2e623f60e2da3b989919be992a333eb0ac30bf21015fbeb3ac303f53139a3e302274bf00000000000080bfe0146c3fa37a5f3f40c0573c9d1532be9d15323eb0ac30bf21015fbeb3ac303f97139a3e252274bf00000000000080bfea65703f78ab5f3f80b9d53c9c1532beca503f3eb0ac30bf21015fbeb3ac303f5c139a3e2e2274bf00000000000080bfea65703f50565d3fa011cd3c989919beb9f5453eb0ac30bf21015fbeb3ac303f27139a3e372274bf00000000000080bfe0146c3f722a5c3fcbcc4c3d989919becbcc4c3e9e6083bea76083bebc8c6e3f04d176bf0000000006e887be000080bff753333f86f23a3fa011cd3c989919beb9f5453e9e6083bea76083bebc8c6e3f35d976bf8e2b013b7fab87be000080bf6538373f54f23a3f80b9d53c9c1532beca503f3e9e6083bea76083bebc8c6e3f04d176bf0000000006e887be000080bffeaa363f35a1363fcfcc4c3d992a33beb9f5453e9e6083bea76083bebc8c6e3f99c876bf9f0bd6ba6e2488be000080bf12f2323f9070363fcfcc4c3d992a33beb9f5453e59015fbeabac30bfb4ac303f222274bfac139a3e00000000000080bf2a456e3e1535273f80b9d53c9c1532beca503f3e59015fbeabac30bfb4ac303f222274bfb2139a3e00000000000080bf52897f3e3609263f80b9d53cc9503fbe9d15323e59015fbeabac30bfb4ac303f202274bfb7139a3e00000000000080bf52897f3e0fb4233fcfcc4c3db9f545be992a333e59015fbeabac30bfb4ac303f222274bfaf139a3e00000000000080bf2a456e3ee4e4233fcbcc4c3d60e2dabb982a333e87f384be248c6e3f3acd813e381f35bf9459a0bb8ee934bf000080bfeaee663fabb1373fcbcc4c3d74562fbb0ad7233e87f384be248c6e3f3acd813e686835bf6e92b4bbde9f34bf000080bf07d8683fc99a393f06d7233d0e77b4bb0ad7233e87f384be248c6e3f3acd813ed74135bf50e9a9bbbcc634bf000080bfd21e6a3ffe53383f54b0d03c3ae719bc0ad7233e87f384be248c6e3f3acd813e44e434bf841690bbb72435bf000080bf7ff96b3f5179363f78b9d53c40c057bc9c15323e87f384be248c6e3f3acd813e6abb34bfe0d484bb9d4d35bf000080bfd21e6a3fd1c6343fcbcc4c3d60e2dabb982a333e31015fbeb1ac303fb1ac303f81f022bfb70bdf3e97f022bf000080bfeaee663fabb1373f78b9d53c40c057bc9c15323e31015fbeb1ac303fb1ac303f8df022bfa50bdf3e90f022bf000080bfd21e6a3fd1c6343f78b9d53c80b9d5bcc7503f3e31015fbeb1ac303fb1ac303f83f022bfb40bdf3e95f022bf000080bf9278683f9120333fcbcc4c3da011cdbcb9f5453e31015fbeb1ac303fb1ac303f78f022bfc40bdf3e9bf022bf000080bf2697643fe859353fcbcc4c3dcbcc4cbdcbcc4c3eb16083bea560833eba8c6e3f7bcf76bf000000002ef387be000080bff753333f12004d3fcbcc4c3da011cdbcb9f5453eb16083bea560833eba8c6e3f02c776bf4dde003baa2f88be000080bf12f2323fdb81513f78b9d53c80b9d5bcc7503f3eb16083bea560833eba8c6e3f7bcf76bf000000002df387be000080bffeaa363fd650513f9811cd3ccfcc4cbdb9f5453eb16083bea560833eba8c6e3fbad776bf5c7bd7ba91b687be000080bf6438373fe0ff4c3f9811cd3ccfcc4cbdb9f5453eafac30bf23015f3eb4ac303f7b139abe2b2274bf00000000000080bf54075a3f722a5c3f78b9d53c80b9d5bcc7503f3eafac30bf23015f3eb4ac303f8a139abe272274bf00000000000080bf4ab6553f51565d3f20c0573c80b9d5bc9c15323eafac30bf23015f3eb4ac303f9a139abe252274bf00000000000080bf4ab6553f78ab5f3f40e2da3bcfcc4cbd982a333eafac30bf23015f3eb4ac303f88139abe272274bf00000000000080bf54075a3fa37a5f3f59562f3bcecc4cbd0ad7233e288c6ebf75f3843e2dcd813eee9289bed49576bf1cc186ba000080bf54075a3f5a2e623f40e2da3bcfcc4cbd982a333e288c6ebf75f3843e2dcd813eee9289bed29576bf7ec286ba000080bf54075a3fa37a5f3f20c0573c80b9d5bc9c15323e288c6ebf75f3843e2dcd813eef5789be139e76bf00000000000080bf4ab6553f78ab5f3ff376b43b07d723bd0ad7233e288c6ebf75f3843e2dcd813eb97689becb9976bf00000000000080bf2c39583f5a2e623f23e7193c5cb0d0bc0ad7233e288c6ebf75f3843e2dcd813ece1c89be17a676bfb061263b000080bfe199553f5a2e623f54b0d03c3ae719bc0ad7233eaaac30bfb6ac303f25015f3e97f022bfa80bdfbe86f022bf000080bf7ff96b3f5179363f23e7193c5cb0d0bc0ad7233eaaac30bfb6ac303f25015f3e8ef022bf860bdfbe99f022bf000080bf05076e3fcb6b343f20c0573c80b9d5bc9c15323eaaac30bfb6ac303f25015f3e94f022bf9a0bdfbe8df022bf000080bf12c56b3f9120333f78b9d53c40c057bc9c15323eaaac30bfb6ac303f25015f3e9ff022bfc00bdfbe77f022bf000080bfd21e6a3fd1c6343fcbcc4c3dcbcc4cbececc4c3d8d6083bebf8c6ebfa96083be42d076bf81ed873e00000000000080bf28456e3e78550d3f9811cd3cb9f545bececc4c3d8d6083bebf8c6ebfa96083be7bd876bff0b0873e6edaec3a000080bf5226803e78550d3f78b9d53cc9503fbe7db9d53c8d6083bebf8c6ebfa96083be42d076bf82ed873e00000000000080bf51897f3e6e04093fcbcc4c3db9f545be9911cd3c8d6083bebf8c6ebfa96083bed1c776bff429883e53f1ebba000080bf28456e3e99d3083fcbcc4c3db9f545be9911cd3c23015fbeb4ac30bfafac30bf272274bf8f139a3e00000000000080bf28456e3e99d3083f78b9d53cc9503fbe7db9d53c23015fbeb4ac30bfafac30bf252274bf9a139a3e00000000000080bf51897f3e6e04093f78b9d53c9d1532be2bc0573c23015fbeb4ac30bfafac30bf272274bf91139a3e00000000000080bf51897f3e47af063fcbcc4c3d992a33be4fe2da3b23015fbeb4ac30bfafac30bf292274bf86139a3e00000000000080bf28456e3e6883053f78b9d53c9d1532be2bc0573c7ff384be2dcd81be288c6ebf5290ab3e349e613f5093aabe000080bf80e9143c56ab1e3e54b0d03c0ad723be2be7193c7ff384be2dcd81be288c6ebf4c6eae3e55fb603f3a07abbe000080bf28d29a3c21e9203e07d7233d0ad723bef576b43b7ff384be2dcd81be288c6ebfd110aa3e48f2613f3156aabe000080bfb8d89a3c697a1b3ecbcc4c3d992a33be4fe2da3b7ff384be2dcd81be288c6ebfe0b0a83ece3e623fc31daabe000080bff0c9083cfbc5153ecbcc4c3d0ad723be60562f3b7ff384be2dcd81be288c6ebf32b1a83ebd3e623fcf1daabe000080bf50dd9a3c6cd1173e20c0573c9c1532be7bb9d53cadac30bf23015fbeb5ac30bfbb139a3e202274bf00000000000080bfea65703f185b7a3f23e7193c0ad723be54b0d03cadac30bf23015fbeb5ac30bf90139a3e272274bf00000000000080bf08e36d3f81777a3f54b0d03c0ad723be2be7193cadac30bf23015fbeb5ac30bf55139a3e2e2274bf00000000000080bf08e36d3fb55e7d3f78b9d53c9d1532be2bc0573cadac30bf23015fbeb5ac30bf79139a3e2b2274bf00000000000080bfea65703f40b07c3f20c0573c9c1532be7bb9d53c288c6ebf26cd81be78f384bee297863efdfe76bf83f2b2ba000080bfea65703f185b7a3f40e2da3b992a33bececc4c3d288c6ebf26cd81be78f384be7e45863e380a77bf349d8a3a000080bfbf96703f0e0a763f5d562f3b0ad723becccc4c3d288c6ebf26cd81be78f384be5270863e6e0477bf00000000000080bf08e36d3f0e0a763f23e7193c0ad723be54b0d03c288c6ebf26cd81be78f384beb6c3863ed6f876bf1e1c2ebb000080bf08e36d3f81777a3ffd76b43b0ad723be05d7233d288c6ebf26cd81be78f384be0000803f0000000000000000000080bf08e36d3f36d8773f40e2da3b992a33bececc4c3db5ac30bfacac30bf2b015fbeee0435bff704353f00000000000080bfb6c6863e78550d3f20c0573c9c1532be7bb9d53cb5ac30bfacac30bf2b015fbeef0435bff704353f00000000000080bff66e843e6e04093f78b9d53cc9503fbe7db9d53cb5ac30bfacac30bf2b015fbeed0435bff804353f00000000000080bf51897f3e6e04093f9811cd3cb9f545bececc4c3db5ac30bfacac30bf2b015fbeec0435bff904353f00000000000080bf5226803e78550d3f9899193ecbcc4cbecccc4c3d0954843e534d77bf00000000534d77bf0a5484be00000000000080bff80e263e78550d3f992a333eb9f545bececc4c3d0954843e534d77bf00000000534d77bf0a5484be00000000000080bf7b07143e78550d3f992a333eb9f545be9899193e0954843e534d77bf00000000534d77bf095484be00000000000080bf7b07143e05631f3f9999193ecbcc4cbe9999193e0954843e534d77bf00000000534d77bf0a5484be00000000000080bff80e263e05631f3f992a333eb9f545bececc4c3ded04353ff80435bf00000000f90435bfec0435bf00000000000080bf7b07143e78550d3fb9f5453e992a33bececc4c3ded04353ff80435bf00000000f80435bfed0435bf00000000000080bfb5c6063e78550d3fb9f5453e992a33be9899193eed04353ff80435bf00000000f90435bfec0435bf00000000000080bfb6c6063e05631f3f992a333eb9f545be9899193eed04353ff80435bf00000000f80435bfed0435bf00000000000080bf7b07143e05631f3fb9f5453e992a33bececc4c3d564d773ff15384be000000003e1e803e456f6f3fed1d80be000080bf5011093c84e3593dcbcc4c3e999919bececc4c3d564d773ff15384be000000003d1e803e446f6f3ff81d80be000080bff0c6d43ce43e4c3dcbcc4c3e989919be9999193e564d773ff15384be000000003a1e803e3d6f6f3f2e1e80be000080bf40a3d43c00000000b9f5453e992a33be9899193e564d773ff15384be000000003b1e803e3e6f6f3f231e80be000080bff0c9083c804a5a3b9899193e999919becbcc4c3e0254843e5e754134554d773f554d77bf000000000254843e000080bfec34223ff6f23a3f992a333e989919beb9f5453e0254843e5e754134554d773f554d77bf000000000054843e000080bfb58c1d3ffcf23a3f992a333ecfcc4cbdb9f5453e0254843e5e754134554d773f554d77bf000000000354843e000080bfb58c1d3f88004d3f9999193ecbcc4cbdcbcc4c3e0254843e5e754134554d773f554d77bf000000000354843e000080bfec34223f82004d3f992a333e989919beb9f5453ef104353f00000000f404353ff30435bf00000000f204353f000080bfb58c1d3ffcf23a3fb9f5453e989919be982a333ef104353f00000000f404353ff30435bf00000000f204353f000080bf545b193fd2f23a3fb9f5453ecfcc4cbd982a333ef104353f00000000f404353ff30435bf00000000f204353f000080bf545b193f5f004d3f992a333ecfcc4cbdb9f5453ef104353f00000000f404353ff40435bf00000000f304353f000080bfb58c1d3f88004d3fb9f5453e989919be982a333e584d773f00000000e353843ee35384be00000000584d773f000080bf545b193fd2f23a3fcbcc4c3e989919be9999193e584d773f00000000e353843ee35384be00000000584d773f000080bfa8c8163f86f23a3fcbcc4c3ecbcc4cbd9999193e584d773f00000000e353843ee25384be00000000584d773f000080bfa8c8163f13004d3fb9f5453ecfcc4cbd982a333e584d773f00000000e353843ee25384be00000000584d773f000080bf545b193f5f004d3f992a333e60e2dabbcecc4c3d0754843e534d773f0000000049dd31bf9a583e3e51dd31bf000080bfe9ee663f5899573f0ad7233e6d562fbbcecc4c3d0754843e534d773f0000000048dd31bf98583e3e51dd31bf000080bf07d8683f3ab0553f0ad7233e77562fbb9999193e0754843e534d773f000000004add31bf99583e3e50dd31bf000080bf1a145c3f4dec483f992a333e60e2dabb9899193e0754843e534d773f000000004add31bf98583e3e4fdd31bf000080bffc2a5a3f6bd54a3f992a333e60e2dabb9899193ef304353ff304353f000000003ecd13bf3ecd133f34cd13bf000080bffc2a5a3f6bd54a3fb9f5453ea011cdbc9899193ef304353ff304353f0000000041cd13bf41cd133f2ccd13bf000080bf38d3573f2e2d4d3fb9f5453ea011cdbccecc4c3df304353ff304353f000000002ccd13bf2ccd133f56cd13bf000080bf2697643f1cf1593f992a333e60e2dabbcecc4c3df304353ff304353f0000000028cd13bf28cd133f5dcd13bf000080bfe9ee663f5899573fb9f5453ea011cdbc9899193e554d773ffa53843e00000000411e80be396f6f3f471e803e000080bf93a3e93dc04a5a3bcbcc4c3ecbcc4cbd9999193e554d773ffa53843e000000003f1e80be376f6f3f4f1e803e000080bf3595c53d00000000cbcc4c3ecbcc4cbdcccc4c3d554d773ffa53843e00000000431e80be3d6f6f3f221e803e000080bf209ec53de43e4c3db9f5453ea011cdbccecc4c3d554d773ffa53843e00000000431e80be3e6f6f3f1a1e803e000080bf7dace93d88e3593d992a333e989919be4fe2da3bf953843e00000000554d77bf000000000000803f00000000000080bf70cdd43c42edab3d0ad7233e989919be60562f3bf953843e00000000554d77bf000000000000803f00000000000080bf88c9d43c124dbf3d0ad7233ececc4cbd6b562f3bf953843e00000000554d77bf000000000000803f00000000000080bfc59ec53d124dbf3d992a333ecfcc4cbd4fe2da3bf953843e00000000554d77bf000000000000803f00000000000080bfbf9fc53d42edab3d992a333ecfcc4cbd4fe2da3bef04353f00000000f70435bf000000000000803f00000000000080bfbf9fc53d42edab3db9f5453ecfcc4cbd9711cd3cef04353f00000000f70435bf000000000000803f00000000000080bfbf9fc53d0e71863db9f5453e989919be9911cd3cef04353f00000000f70435bf000000000000803f00000000000080bf70cdd43c0e71863d992a333e989919be4fe2da3bef04353f00000000f70435bf000000000000803f00000000000080bf70cdd43c42edab3db9f5453ecfcc4cbd9711cd3c5a4d773f00000000dd5384be000000000000803f00000000000080bfbf9fc53d0e71863dcbcc4c3ecbcc4cbdcccc4c3d5a4d773f00000000dd5384be000000000000803f00000000000080bf209ec53de43e4c3dcbcc4c3e999919bececc4c3d5a4d773f00000000dd5384be000000000000803f00000000000080bff0c6d43ce43e4c3db9f5453e989919be9911cd3c5a4d773f00000000dd5384be000000000000803f00000000000080bf70cdd43c0e71863dcbcc4c3dcbcc4cbececc4c3d00000000564d77bff35384be000080bf0000000000000000000080bf28456e3e78550d3fcbcc4c3db9f545be9911cd3c00000000564d77bff35384be000080bf0000000000000000000080bf28456e3e99d3083f9899193eb9f545be9711cd3c00000000564d77bff35384be000080bf0000000000000000000080bff70e263e99d3083f9899193ecbcc4cbecccc4c3d00000000564d77bff35384be000080bf0000000000000000000080bff80e263e78550d3fcbcc4c3db9f545be9911cd3c00000000f00435bff50435bf000080bf0000000000000000000080bf28456e3e99d3083fcbcc4c3d992a33be4fe2da3b00000000f00435bff50435bf000080bf0000000000000000000080bf28456e3e6883053f9899193e992a33be4fe2da3b00000000f00435bff50435bf000080bf0000000000000000000080bff70e263e6883053f9899193eb9f545be9711cd3c00000000f00435bff50435bf000080bf0000000000000000000080bff70e263e99d3083fcbcc4c3d992a33be4fe2da3b00000000fe5384be554d77bf521e803e376f6f3f431e80be000080bff0c9083cfbc5153ecbcc4c3d0ad723be60562f3b00000000fe5384be554d77bf531e803e376f6f3f431e80be000080bf50dd9a3c6cd1173e9999193e0ad723be6b562f3b00000000fe5384be554d77bf411e803e396f6f3f451e80be000080bf00019b3c6a83c93d9899193e992a33be4fe2da3b00000000fe5384be554d77bf3f1e803e396f6f3f441e80be000080bf4011093c8a6cc53dcbcc4c3dcbcc4cbe9999193ef75384be564d77bf00000000564d77bff553843e00000000000080bf2a456e3e05631f3fa011cd3cb9f545be9999193ef75384be564d77bf00000000564d77bff853843e00000000000080bf5226803e05631f3f9811cd3cb9f545bececc4c3df75384be564d77bf00000000564d77bff753843e00000000000080bf5226803e78550d3fcbcc4c3dcbcc4cbececc4c3df75384be564d77bf00000000564d77bff753843e00000000000080bf28456e3e78550d3fa011cd3cb9f545be9999193ef10435bff40435bf82b8d833f40435bff304353f00000000000080bf5226803e05631f3f60e2da3b992a33be9999193ef10435bff40435bf82b8d833f40435bff304353f00000000000080bfb6c6863e05631f3f40e2da3b992a33bececc4c3df10435bff40435bf82b8d833f30435bff204353f00000000000080bfb6c6863e78550d3f9811cd3cb9f545bececc4c3df10435bff40435bf82b8d833f30435bff204353f00000000000080bf5226803e78550d3f6d562f3b0ad723be9999193e554d77bf025484be000000000254843e554d77bf00000000000080bf08e36d3f82fc633f5d562f3b0ad723becccc4c3d554d77bf025484be000000000454843e554d77bf00000000000080bf08e36d3f0e0a763f40e2da3b992a33bececc4c3d554d77bf025484be000000000454843e554d77bf00000000000080bfbf96703f0e0a763f60e2da3b992a33be9999193e554d77bf025484be000000000254843e554d77bf00000000000080bfbf96703f82fc633fcbcc4c3dcbcc4cbdcbcc4c3e045484be5a7d6534554d773f554d77bf00000000055484be000080bff753333f12004d3f9811cd3ccfcc4cbdb9f5453e045484be5a7d6534554d773f554d77bf00000000045484be000080bf6438373fe0ff4c3fa011cd3c989919beb9f5453e045484be5a7d6534554d773f554d77bf00000000035484be000080bf6538373f54f23a3fcbcc4c3d989919becbcc4c3e045484be5a7d6534554d773f554d77bf00000000045484be000080bff753333f86f23a3f9811cd3ccfcc4cbdb9f5453ef40435bf9cc3e633f304353f00000000000080bf00000000000080bf54075a3f722a5c3f40e2da3bcfcc4cbd982a333ef40435bf9cc3e633f304353f00000000000080bf00000000000080bf54075a3fa37a5f3f60e2da3b989919be992a333ef40435bf9cc3e633f304353f00000000000080bf00000000000080bfe0146c3fa37a5f3fa011cd3c989919beb9f5453ef40435bf9cc3e633f304353f00000000000080bf00000000000080bfe0146c3f722a5c3f40e2da3bcfcc4cbd982a333e554d77bf000000000454843e00000000000080bf00000000000080bf54075a3fa37a5f3f59562f3bcecc4cbd0ad7233e554d77bf000000000454843e00000000000080bf00000000000080bf54075a3f5a2e623f6d562f3b999919be0ad7233e554d77bf000000000454843e00000000000080bf00000000000080bfe0146c3f5a2e623f60e2da3b989919be992a333e554d77bf000000000454843e00000000000080bf00000000000080bfe0146c3fa37a5f3f9999193ecbcc4cbe9999193e00000000564d77bff753843e000080bf0000000000000000000080bff80e263e05631f3f9899193eb9f545be982a333e00000000564d77bff753843e000080bf0000000000000000000080bff80e263ee4e4233fcfcc4c3db9f545be992a333e00000000564d77bff753843e000080bf0000000000000000000080bf2a456e3ee4e4233fcbcc4c3dcbcc4cbe9999193e00000000564d77bff753843e000080bf0000000000000000000080bf2a456e3e05631f3f9899193eb9f545be982a333e00000000fa0435bfec04353f000080bf0000000000000000000080bff80e263ee4e4233f9899193e992a33beb9f5453e00000000fa0435bfec04353f000080bf0000000000000000000080bff80e263e1535273fcfcc4c3d992a33beb9f5453e00000000fa0435bfec04353f000080bf0000000000000000000080bf2a456e3e1535273fcfcc4c3db9f545be992a333e00000000fa0435bfec04353f000080bf0000000000000000000080bf2a456e3ee4e4233f9899193e992a33beb9f5453e00000000dc5384be5a4d773f000080bf0000000000000000000080bf08d3213f0071363f9899193e999919becbcc4c3e00000000dc5384be5a4d773f000080bf0000000000000000000080bfec34223ff6f23a3fcbcc4c3d989919becbcc4c3e00000000dc5384be5a4d773f000080bf0000000000000000000080bff753333f86f23a3fcfcc4c3d992a33beb9f5453e00000000dc5384be5a4d773f000080bf0000000000000000000080bf12f2323f9070363f9899193e74562fbb0ad7233e00000000514d773f1654843e26dd31bfd7583e3e70dd31bf000080bf1a145c3fb65e463fcbcc4c3d74562fbb0ad7233e00000000514d773f1654843e55dd31bfa4583e3e42dd31bf000080bf07d8683fc99a393fcbcc4c3d60e2dabb982a333e00000000514d773f1654843e51dd31bfac583e3e48dd31bf000080bfeaee663fabb1373f9899193e60e2dabb982a333e00000000514d773f1654843e1fdd31bfd9583e3e73dd31bf000080bffc2a5a3f9975443fcbcc4c3d60e2dabb982a333e00000000f304353ff404353f29cd13bf44cd133f42cd13bf000080bfeaee663fabb1373fcbcc4c3da011cdbcb9f5453e00000000f304353ff404353f31cd13bf3fcd133f3fcd13bf000080bf2697643fe859353f9899193ea011cdbcb9f5453e00000000f304353ff404353f5acd13bf2acd133f2acd13bf000080bf38d3573fd51d423f9899193e60e2dabb982a333e00000000f304353ff404353f53cd13bf2ecd133f2ecd13bf000080bffc2a5a3f9975443fcbcc4c3da011cdbcb9f5453e000000001054843e534d773f000080bf0000000000000000000080bf12f2323fdb81513fcbcc4c3dcbcc4cbdcbcc4c3e000000001054843e534d773f000080bf0000000000000000000080bff753333f12004d3f9999193ecbcc4cbdcbcc4c3e000000001054843e534d773f000080bf0000000000000000000080bfec34223f82004d3f9899193ea011cdbcb9f5453e000000001054843e534d773f000080bf0000000000000000000080bf08d3213f4b82513f9899193ecbcc4cbecccc4c3d040048b4000080bf00000000000080bf0000000000000000000080bff80e263e78550d3f9999193ecbcc4cbe9999193e040048b4000080bf00000000000080bf0000000000000000000080bff80e263e05631f3fcbcc4c3dcbcc4cbe9999193e040048b4000080bf00000000000080bf0000000000000000000080bf2a456e3e05631f3fcbcc4c3dcbcc4cbececc4c3d040048b4000080bf00000000000080bf0000000000000000000080bf28456e3e78550d3f999919be989919becbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bff35bf63e983efa3ccecc4cbd999919becbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bfde1dd43e904cfa3ccccc4cbdcbcc4cbdcbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bfde1dd43e88ffce3d999919becbcc4cbdcbcc4c3e000000000400f0b30000803f000080bf0000000000000000000080bff35bf63e08fcce3dcbcc4cbe989919becccc4c3d000080bf0000000000000000000000000000803f00000000000080bf43ba3b3fa2f23a3fcbcc4cbe999919be9999193e000080bf0000000000000000000000000000803f00000000000080bf43ba3b3f2e004d3fcbcc4cbecbcc4cbd9999193e000080bf0000000000000000000000000000803f00000000000080bfcfc74d3f2e004d3fcbcc4cbecbcc4cbdcecc4c3d000080bf0000000000000000000000000000803f00000000000080bfcfc74d3fa2f23a3fcccc4cbdcbcc4cbe9999193ea560833eba8c6ebfab60833e3fd0763f99ed873e00000000000080bfe7fcce3d78550d3f9711cdbcb9f545be9899193ea560833eba8c6ebfab60833e77d8763f06b1873ef3ececba000080bfe10bf33d78550d3f7cb9d5bcc9503fbe9c15323ea560833eba8c6ebfab60833e3fd0763f99ed873e00000000000080bf3885f13d6e04093fcecc4cbdb9f545be982a333ea560833eba8c6ebfab60833ecfc7763f0e2a883ec1efeb3a000080bfe7fcce3d99d3083fcecc4cbdb9f545be982a333e44015f3eadac30bfb3ac303f082274bf0000000048149a3e000080bf2840d13e000000007cb9d5bcc9503fbe9c15323e44015f3eadac30bfb3ac303f082274bf0000000049149a3e000080bf2bf1c83e60fb953b7db9d5bc9d1532bec7503f3e44015f3eadac30bfb3ac303f082274bf000000004a149a3e000080bfe26bca3e4052603ccecc4cbd992a33beb9f5453e44015f3eadac30bfb3ac303f082274bf0000000049149a3e000080bf165ad33ec01b543ccecc4cbd999919becbcc4c3eb660833eb66083beb68c6e3f61d876bf0b7ceabab8b1873e000080bfde1dd43e904cfa3ccecc4cbd992a33beb9f5453eb660833eb66083beb68c6e3fffcf76bf0000000067ef873e000080bf165ad33ec01b543c7db9d5bc9d1532bec7503f3eb660833eb66083beb68c6e3ff2c676bf93bf013b2630883e000080bfe26bca3e4052603c9911cdbc989919beb9f5453eb660833eb66083beb68c6e3fffcf76bf0000000067ef873e000080bf70cdca3e484dfa3c9911cdbc989919beb9f5453eacac303f27015fbeb5ac303f590635bf000000008d03353f000080bf70cdca3e484dfa3c7db9d5bc9d1532bec7503f3eacac303f27015fbeb5ac303f5b0635bf000000008a03353f000080bfe26bca3e4052603c2bc057bc9c1532be9c15323eacac303f27015fbeb5ac303f590635bf000000008d03353f000080bf8084c43e104b603c4fe2dabb989919be982a333eacac303f27015fbeb5ac303f580635bf000000008d03353f000080bfac6ac23e2848fa3ca2078dbb057d1fbe0ad7233eba8c6e3f026283be545f833e51b887bec590cb3a80d7763f000080bfb7e3bf3e000ad93c66562fbb989919be0ad7233eba8c6e3f026283be545f833e43b887be27c5cb3a82d7763f000080bff654bf3e7042fa3c4fe2dabb989919be982a333eba8c6e3f026283be545f833e8dc287be059da33a1fd6763f000080bfac6ac23e2848fa3cfed191bbcadf21becadf213eba8c6e3f026283be545f833e072187bed305c63b15eb763f000080bf42b8bf3e8093cb3c77ec93bb0ad723bec43f203eba8c6e3f026283be545f833ed1f787be00000000d8ce763f000080bf608fbf3eb87bc03c2bc057bc9c1532be9c15323eba8c6e3f026283be545f833e2afa87be0000000084ce763f000080bf8084c43e104b603c6b562fbb0ad723be9999193eba8c6e3f026283be545f833e203188bea14606bbccc6763f000080bfdd2fbe3e4079c03c4fe2dabb992a33be9899193eba8c6e3f026283be545f833e1c3188be824106bbccc6763f000080bfe48ebf3e9003543c4fe2dabb992a33be9899193eb5ac303fabac30bf39015f3eed04353ff804353f00000000000080bfb5c6063e78550d3f2bc057bc9c1532be9c15323eb5ac303fabac30bf39015f3eed04353ff804353f00000000000080bf3817023e6e04093f7cb9d5bcc9503fbe9c15323eb5ac303fabac30bf39015f3eed04353ff804353f00000000000080bf3885f13d6e04093f9711cdbcb9f545be9899193eb5ac303fabac30bf39015f3eee04353ff704353f00000000000080bfe10bf33d78550d3fcccc4cbdcbcc4cbdcbcc4c3eac60833ec260833eb68c6e3f8cd876bfd94fef3a72b0873e000080bfde1dd43e88ffce3d9711cdbccfcc4cbdb9f5453eac60833ec260833eb68c6e3f26d076bf0000000048ee873e000080bf70cdca3eb4ffce3d7cb9d5bc80b9d5bcc7503f3eac60833ec260833eb68c6e3f13c776bfeae5ffba2f2f883e000080bfe26bca3e4d87f13dcecc4cbda011cdbcb9f5453eac60833ec260833eb68c6e3f26d076bf0000000048ee873e000080bf155ad33ecc0df33dcecc4cbda011cdbcb9f5453e37015f3ea9ac303fb8ac303f3b2274bf000000000e139a3e000080bf155ad33ecc0df33d7cb9d5bc80b9d5bcc7503f3e37015f3ea9ac303fb8ac303f3d2274bf0000000003139a3e000080bfe26bca3e4d87f13d7db9d5bc40c057bc9c15323e37015f3ea9ac303fb8ac303f3f2274bf00000000f7129a3e000080bf2af1c83e9517023ececc4cbd60e2dabb982a333e37015f3ea9ac303fb8ac303f3d2274bf0000000006139a3e000080bf2840d13eb5c6063e7db9d5bc40c057bc9c15323e84f3843e248c6e3f39cd813e40bb343f3bc984bbc74d35bf000080bf2817663fd720173f57b0d0bc3ae719bc0ad7233e84f3843e248c6e3f39cd813e4b0d343fedf829bbfcfa35bf000080bfd5f1673f586e153f09d723bd0e77b4bb0ad7233e84f3843e248c6e3f39cd813e2416353fead79dbbaef234bf000080bf2817663faa93133fcecc4cbd74562fbb0ad7233e84f3843e248c6e3f39cd813e7968353fa496b4bbce9f34bf000080bf5dd0643fe04c123fcecc4cbd60e2dabb982a333e84f3843e248c6e3f39cd813e3568353faa83b4bb12a034bf000080bf40e7623ffd35143f2bc057bc80b9d5bc9c15323ea8ac303fbaac303f29015f3e81f0223f4f0bdfbeb9f022bf000080bf68bd673f18c7183f2de719bc5cb0d0bc0ad7233ea8ac303fbaac303f29015f3e90f0223f830bdfbe99f022bf000080bf5bff693fde7b173f57b0d0bc3ae719bc0ad7233ea8ac303fbaac303f29015f3e78f0223f320bdfbecef022bf000080bfd5f1673f586e153f7db9d5bc40c057bc9c15323ea8ac303fbaac303f29015f3e66f0223ff20adfbef5f022bf000080bf2817663fd720173f2bc057bc80b9d5bc9c15323e288c6e3f76f3843e37cd813e2a7b86be00000000f502773f000080bf7f84c43e6686f13d4fe2dabbcfcc4cbd982a333e288c6e3f76f3843e37cd813e0e3d86be8b5babba590b773f000080bfac6ac23e6cfece3d66562fbbcecc4cbd0ad7233e288c6e3f76f3843e37cd813e103d86be994eabba570b773f000080bff654bf3efefcce3dfd76b4bb07d723bd0ad7233e288c6e3f76f3843e37cd813ecb5a86be000000005c07773f000080bf354dc03e246edd3d2de719bc5cb0d0bc0ad7233e288c6e3f76f3843e37cd813e23b986be2392193b53fa763f000080bfdfa1c13e5868f23d4fe2dabbcfcc4cbd982a333eb2ac303f26015f3eb2ac303f920335bf000000005406353f000080bfac6ac23e6cfece3d2bc057bc80b9d5bc9c15323eb2ac303f26015f3eb2ac303f920335bf000000005406353f000080bf7f84c43e6686f13d7cb9d5bc80b9d5bcc7503f3eb2ac303f26015f3eb2ac303f920335bf000000005406353f000080bfe26bca3e4d87f13d9711cdbccfcc4cbdb9f5453eb2ac303f26015f3eb2ac303f910335bf000000005506353f000080bf70cdca3eb4ffce3dcecc4cbdcbcc4cbecccc4c3da960833eba8c6ebfa56083be3dd0763faaed873e00000000000080bfe7fcce3d05631f3fcecc4cbdb9f545be9711cd3ca960833eba8c6ebfa56083becfc7763f112a883e34e7ebba000080bfe7fcce3de4e4233f7db9d5bcc9503fbe7cb9d53ca960833eba8c6ebfa56083be3dd0763faaed873e00000000000080bf3885f13d0fb4233f9911cdbcb9f545bececc4c3da960833eba8c6ebfa56083be74d8763f26b1873e147aec3a000080bfe10bf33d04631f3f9911cdbcb9f545bececc4c3db1ac303fb2ac30bf31015fbeef04353ff604353f00000000000080bfe10bf33d04631f3f7db9d5bcc9503fbe7cb9d53cb1ac303fb2ac30bf31015fbee804353ffd04353f00000000000080bf3885f13d0fb4233f2bc057bc9d1532be7db9d53cb1ac303fb2ac30bf31015fbeef04353ff704353f00000000000080bf3817023e0eb4233f4fe2dabb992a33bececc4c3db1ac303fb2ac30bf31015fbef604353ff004353f00000000000080bfb5c6063e04631f3f60562fbb0ad723bececc4c3d288c6e3f2ccd81be78f384be397ab03e9d97573fd751d43e000080bfcbd62e3f788e3c3d4fe2dabb992a33bececc4c3d288c6e3f2ccd81be78f384becc96b03e765b573fd82dd53e000080bf55492c3f782e2c3d2bc057bc9d1532be7db9d53c288c6e3f2ccd81be78f384bea45fb03e14cf573f2686d33e000080bf035c2a3f2c29623d2be719bc0ad723be57b0d03c288c6e3f2ccd81be78f384befd41b03e680c583f00a4d23e000080bf79b12c3fc458723d7bb9d5bc9c1532be2bc0573cb5ac303f29015fbeacac30bf3b34013fdb0a543f5c2b793e000080bf8495283fc052873d54b0d0bc0ad723be2de7193cb5ac303f29015fbeacac30bf3c34013fda0a543f642b793e000080bfd27b2a3f31db943d2be719bc0ad723be57b0d03cb5ac303f29015fbeacac30bf3e34013fda0a543f6a2b793e000080bf79b12c3fc458723d2bc057bc9d1532be7db9d53cb5ac303f29015fbeacac30bf3d34013fda0a543f642b793e000080bf035c2a3f2c29623d7bb9d5bc9c1532be2bc0573c77f3843e2bcd81be288c6ebf6d702d3fbc453c3f4c0039bc000080bf8495283fc052873dcecc4cbd992a33be4fe2da3b77f3843e2bcd81be288c6ebfe7f02c3fd4b93c3f25c849bc000080bf8e55263ff3a9a03dcccc4cbd0ad723be6b562f3b77f3843e2bcd81be288c6ebfe4f02c3fd6b93c3f68c849bc000080bf2956283fa1beaf3d05d723bd0ad723be0677b43b77f3843e2bcd81be288c6ebfe92d2d3f62823c3f8fc241bc000080bfe937293f87b3a43d54b0d0bc0ad723be2de7193c77f3843e2bcd81be288c6ebf9def2d3f3ed13b3f9a3728bc000080bfd27b2a3f31db943dcecc4cbd992a33be4fe2da3b59015f3eafac30bfb0ac30bf2322743fa1139a3e00000000000080bfe7fcce3d1535273f7bb9d5bc9c1532be2bc0573c59015f3eafac30bfb0ac30bf2222743fa9139a3e00000000000080bf3985f13d3609263f7db9d5bcc9503fbe7cb9d53c59015f3eafac30bfb0ac30bf2222743faf139a3e00000000000080bf3885f13d0fb4233fcecc4cbdb9f545be9711cd3c59015f3eafac30bfb0ac30bf2322743fa7139a3e00000000000080bfe7fcce3de4e4233f999919becbcc4cbe9999193ea66083beba8c6ebfaf60833e3fd0763f9ced87be00000000000080bf1042fa3c78550d3f989919beb9f545be992a333ea66083beba8c6ebfaf60833ecfc7763f112a88be73f2ebba000080bf1042fa3c99d3083f9c1532bec9503fbe9d15323ea66083beba8c6ebfaf60833e3fd0763f9ded87be00000000000080bf9041603c6e04093f982a33beb9f545be9999193ea66083beba8c6ebfaf60833e77d8763f0bb187bee7e0ec3a000080bf600c543c78550d3f982a33beb9f545be9999193eb0ac30bfb0ac30bf42015f3ef304353ff30435bf00000000000080bf600c543c78550d3f9c1532bec9503fbe9d15323eb0ac30bfb0ac30bf42015f3ef304353ff20435bf00000000000080bf9041603c6e04093fc7503fbe9d1532be9d15323eb0ac30bfb0ac30bf42015f3ef304353ff20435bf00000000000080bfc0ef953b6e04093fb9f545be992a33be9999193eb0ac30bfb0ac30bf42015f3ef304353ff30435bf00000000000080bf0000803278550d3fcbcc4cbe999919be9999193eba8c6ebfae6083bea060833eb2ed87be3dd0763f00000000000080bf43ba3b3f2e004d3fb9f545be992a33be9999193eba8c6ebfae6083bea060833e10b187be77d8763f20e4ec3a000080bf6438373f2e004d3fc7503fbe9d1532be9d15323eba8c6ebfae6083bea060833eb2ed87be3bd0763f00000000000080bf3869373f3851513fb9f545be989919be992a333eba8c6ebfae6083bea060833e342a88bec9c7763f8461ecba000080bf43ba3b3f0e82513fb9f545be989919be992a333eb2ac30bf24015fbeb2ac303fc1139abe1e22743f00000000000080bf43ba3b3f0e82513fc7503fbe9d1532be9d15323eb2ac30bf24015fbeb2ac303f05149abe1322743f00000000000080bf3869373f3851513f9c1532be9c1532beca503f3eb2ac30bf24015fbeb2ac303fc9139abe1c22743f00000000000080bf3969373f60a6533f982a33be989919beb9f5453eb2ac30bf24015fbeb2ac303f91139abe2522743f00000000000080bf43ba3b3f3fd2543f999919be989919becbcc4c3e9e6083bea76083bebc8c6e3f06d176bf00000000f8e787be000080bff35bf63e983efa3c982a33be989919beb9f5453e9e6083bea76083bebc8c6e3f37d976bf4f47013b70ab87be000080bfce24fe3e4838fa3c9c1532be9c1532beca503f3e9e6083bea76083bebc8c6e3f06d176bf00000000f8e787be000080bf020afd3ee028603c989919be992a33beb9f5453e9e6083bea76083bebc8c6e3f9bc876bf9cd2d5ba612488be000080bf2a98f53ec0ff533c989919be992a33beb9f5453e5d015fbeadac30bfb0ac303f2222743fac139abe00000000000080bf1042fa3c6883053f9c1532be9c1532beca503f3e5d015fbeadac30bfb0ac303f2222743fb2139abe00000000000080bf9041603c47af063f9c1532bec9503fbe9d15323e5d015fbeadac30bfb0ac303f2022743fb6139abe00000000000080bf9041603c6e04093f989919beb9f545be992a333e5d015fbeadac30bfb0ac303f2222743faf139abe00000000000080bf1042fa3c99d3083f999919be60e2dabb982a333eae6083beb68c6e3fb760833e22ae283fd2cbb93e15ae28bf000080bf5223563f1072073f999919be74562fbb0ad7233eae6083beb68c6e3fb760833e48ae283fd3cbb93eecad28bf000080bf700c583ff288053fd88d1dbeaa0077bb0ad7233eae6083beb68c6e3fb760833e2dae283fd3cbb93e09ae28bf000080bf408e573fc20a053f9d1532be40c057bc9c15323eae6083beb68c6e3fb760833e1eae283fd1cbb93e16ae28bf000080bf7838533f2742043fc3b120be700e7abbc3b1203eae6083beb68c6e3fb760833e21ae283fd4cbb93e14ae28bf000080bf6b8e573f2742043f0ad723be9d0077bbd88d1d3eae6083beb68c6e3fb760833e31ae283fd2cbb93e04ae28bf000080bf408e573f8c79033f0ad723be6d562fbb9999193eae6083beb68c6e3fb760833e29ae283fd1cbb93e0cae28bf000080bf700c583f5cfb023f992a33be60e2dabb9899193eae6083beb68c6e3fb760833e1fae283fd1cbb93e16ae28bf000080bf5223563f3e12013f999919be60e2dabb982a333e31015fbeb1ac303fb1ac303f168a043f085d2e3f1c8a04bf000080bf5223563f1072073f9d1532be40c057bc9c15323e31015fbeb1ac303fb1ac303f1a8a043f085d2e3f188a04bf000080bf7838533f2742043f9d1532be80b9d5bcc7503f3e31015fbeb1ac303fb1ac303f168a043f085d2e3f1a8a04bf000080bf3892513f67e8053f999919bea011cdbcb9f5453e31015fbeb1ac303fb1ac303f138a043f085d2e3f1c8a04bf000080bf8ecb533fd3c9093f999919becbcc4cbdcbcc4c3eae6083bea260833eba8c6e3f7acf76bf000000003af387be000080bff35bf63e08fcce3d999919bea011cdbcb9f5453eae6083bea260833eba8c6e3f00c776bfe101013bba2f88be000080bf2898f53e4e0af33d9d1532be80b9d5bcc7503f3eae6083bea260833eba8c6e3f7acf76bf000000003af387be000080bf000afd3e2182f13d992a33becfcc4cbdb9f5453eae6083bea260833eba8c6e3fb8d776bf4e52d7ba99b687be000080bfce24fe3e75face3d992a33becfcc4cbdb9f5453eb2ac30bf27015f3eb1ac303f54139a3e2e22743f00000000000080bfcfc74d3f3fd2543f9d1532be80b9d5bcc7503f3eb2ac30bf27015f3eb1ac303f71139a3e2d22743f00000000000080bfd918523f60a6533fca503fbe80b9d5bc9c15323eb2ac30bf27015f3eb1ac303f8c139a3e2722743f00000000000080bfd918523f3851513fb9f545becfcc4cbd982a333eb2ac30bf27015f3eb1ac303f6d139a3e2d22743f00000000000080bfcfc74d3f0d82513fcbcc4cbecbcc4cbd9999193ebc8c6ebfa260833ea860833e97ed873e40d0763f00000000000080bfcfc74d3f2e004d3fb9f545becfcc4cbd982a333ebc8c6ebfa260833ea860833e0a2a883ecfc7763fdaeaeb3a000080bfcfc74d3f0d82513fca503fbe80b9d5bc9c15323ebc8c6ebfa260833ea860833e97ed873e40d0763f00000000000080bfd918523f3851513fb9f545bea011cdbc9899193ebc8c6ebfa260833ea860833e03b1873e79d8763f3eeaecba000080bfae49523f2e004d3fb9f545bea011cdbc9899193eb1ac30bfb2ac303f24015f3e0a8a043ffe5c2e3f358a04bf000080bf8ecb533ff574fd3eca503fbe80b9d5bc9c15323eb1ac30bfb2ac303f24015f3e048a043ffb5c2e3f3d8a04bf000080bf3892513fe69b023f9d1532be40c057bc9c15323eb1ac30bfb2ac303f24015f3eff89043ff75c2e3f478a04bf000080bf7838533f2742043f992a33be60e2dabb9899193eb1ac30bfb2ac303f24015f3e068a043ffb5c2e3f3d8a04bf000080bf5223563f3e12013f999919becbcc4cbececc4c3d8c6083bebd8c6ebfaa6083be42d0763f82ed87be00000000000080bf1042fa3c05631f3f992a33beb9f545bececc4c3d8c6083bebd8c6ebfaa6083be7bd8763ff0b087be5adbecba000080bf600c543c05631f3f9d1532bec9503fbe7db9d53c8c6083bebd8c6ebfaa6083be42d0763f82ed87be00000000000080bf9041603c0fb4233f999919beb9f545be9911cd3c8c6083bebd8c6ebfaa6083bed1c7763ff42988be51f0eb3a000080bf1042fa3ce4e4233f999919beb9f545be9911cd3c23015fbeb4ac30bfafac30bf2722743f8c139abe00000000000080bf1042fa3ce4e4233f9d1532bec9503fbe7db9d53c23015fbeb4ac30bfafac30bf2522743f9a139abe00000000000080bf9041603c0fb4233f9d1532be9d1532be2bc0573c23015fbeb4ac30bfafac30bf2722743f8e139abe00000000000080bf9041603c3609263f999919be992a33be4fe2da3b23015fbeb4ac30bfafac30bf2922743f83139abe00000000000080bf1042fa3c1535273f6c2c1dbe0ad723bede1a703b9f5e83bead6283bebc8c6ebf012c4c3f310ffa3ecb4cb5be000080bf724a213f9ef9033e999919be0ad723be60562f3b9f5e83bead6283bebc8c6ebffb2b4c3f440ffa3ecc4cb5be000080bf7c76213f20e6023e999919be992a33be4fe2da3b9f5e83bead6283bebc8c6ebf8c194c3f9047fa3e2652b5be000080bfe0751f3f92b7f63df85820bef85820be90d46d3b9f5e83bead6283bebc8c6ebfb7e1473fe562033f3970b6be000080bf2498213f2ea6063e0ad723be2e811cbe4cfb633b9f5e83bead6283bebc8c6ebf438a4b3f15fbfb3e2e7bb5be000080bfaaeb213fc7a3093e9d1532be9d1532be2bc0573c9f5e83bead6283bebc8c6ebfa4284c3f7819fa3ec64db5be000080bf566c1e3f9943033e0ad723be999919be60562f3b9f5e83bead6283bebc8c6ebfb8bc4b3f1d62fb3ed76cb5be000080bf084c223f81160b3e992a33be989919be4fe2da3b9f5e83bead6283bebc8c6ebfbdbc4b3f0c62fb3ed76cb5be000080bf0c8b213fd9cd0f3e992a33be989919be4fe2da3bb2ac30bf28015fbeb2ac30bfc8139abe1e22743f00000000000080bf43ba3b3f9120333f9d1532be9d1532be2bc0573cb2ac30bf28015fbeb2ac30bfaf139abe2222743f00000000000080bf3969373f714c343fca503fbe9c1532be7bb9d53cb2ac30bf28015fbeb2ac30bf95139abe2522743f00000000000080bf3969373f98a1363fb9f545be989919be9711cd3cb2ac30bf28015fbeb2ac30bfb2139abe2022743f00000000000080bf43ba3b3fc370363fcbcc4cbe989919becccc4c3dbc8c6ebfa06083bea36083be93ed87be40d0763f00000000000080bf43ba3b3fa2f23a3fb9f545be989919be9711cd3cbc8c6ebfa06083bea36083be042a88becfc7763f1de6eb3a000080bf43ba3b3fc370363fca503fbe9c1532be7bb9d53cbc8c6ebfa06083bea36083be93ed87be40d0763f00000000000080bf3969373f98a1363fb9f545be992a33bececc4c3dbc8c6ebfa06083bea36083be02b187be79d8763ffce6ecba000080bf6438373fa2f23a3fb9f545be992a33bececc4c3db6ac30bfacac30bf17015fbeee04353ff70435bf00000000000080bf0000000005631f3fca503fbe9c1532be7bb9d53cb6ac30bfacac30bf17015fbeee04353ff70435bf00000000000080bfa0ef953b0fb4233f9d1532bec9503fbe7db9d53cb6ac30bfacac30bf17015fbeef04353ff70435bf00000000000080bf9041603c0fb4233f992a33beb9f545bececc4c3db6ac30bfacac30bf17015fbeee04353ff70435bf00000000000080bf600c543c05631f3f0ad723be0e77b4bb07d7233d3bcd81be238c6e3f8af384be0af3343f3cbf9dbbc81535bf000080bf2817663f46e1e93e0ad723be3ae719bc54b0d03c3bcd81be238c6e3f8af384be9afa353f8a302abbad0d34bf000080bfd5f1673fec2be63e9c1532be40c057bc7cb9d53c3bcd81be238c6e3f8af384be9b4d353fffd584bb6bbb34bf000080bf2817663fecc6e23e982a33be60e2dabbcecc4c3d3bcd81be238c6e3f8af384bede9f343fa592b4bb696835bf000080bf40e7623fa09ce83e0ad723be74562fbbcccc4c3d3bcd81be238c6e3f8af384bede9f343fe492b4bb696835bf000080bf5dd0643fdc6eec3e982a33be60e2dabbcecc4c3db0ac30bfb1ac303f40015fbef404353ff104353f00000000000080bfe099553fa2f23a3f9c1532be40c057bc7cb9d53cb0ac30bfb1ac303f40015fbef404353ff304353f00000000000080bf006e543f98a1363fc7503fbe80b9d5bc7db9d53cb0ac30bfb1ac303f40015fbef404353ff304353f00000000000080bfd918523f98a1363fb9f545bea011cdbccecc4c3db0ac30bfb1ac303f40015fbef404353ff304353f00000000000080bfae49523fa2f23a3fcbcc4cbecbcc4cbdcecc4c3db88c6ebfb460833ea96083beaaed873e3dd0763f00000000000080bfcfc74d3fa2f23a3fb9f545bea011cdbccecc4c3db88c6ebfb460833ea96083be15b1873e75d8763f89e3ec3a000080bfae49523fa2f23a3fc7503fbe80b9d5bc7db9d53cb88c6ebfb460833ea96083bea9ed873e3dd0763f00000000000080bfd918523f98a1363fb9f545becfcc4cbd9911cd3cb88c6ebfb460833ea96083be1d2a883ecdc7763f7dedebba000080bfcfc74d3fc370363fb9f545becfcc4cbd9911cd3cb3ac30bf32015f3eafac30bfc0139a3e1e22743f00000000000080bfcfc74d3fc370363fc7503fbe80b9d5bc7db9d53cb3ac30bf32015f3eafac30bfad139a3e2222743f00000000000080bfd918523f98a1363f9c1532be80b9d5bc2bc0573cb3ac30bf32015f3eafac30bfbd139a3e1e22743f00000000000080bfd918523f714c343f982a33becfcc4cbd4fe2da3bb3ac30bf32015f3eafac30bfd1139a3e1c22743f00000000000080bfcfc74d3f9120333f0ad723bececc4cbd66562f3b38cd81be7ef3843e248c6ebfb145263f5272423fc82e0f3d000080bf3483313f72f3313e982a33becfcc4cbd4fe2da3b38cd81be7ef3843e248c6ebfdfdc243fff9b433fb8801a3d000080bf38c2303fc8aa363e9c1532be80b9d5bc2bc0573c38cd81be7ef3843e248c6ebf4ff4273f7808413fe58e013d000080bf3aea343f3bb63c3e0ad723be5cb0d0bc2de7193c38cd81be7ef3843e248c6ebff671293fa4c13f3fa5c0ea3c000080bf99b4353f2697383e0ad723be07d723bdfd76b43b38cd81be7ef3843e248c6ebfb372f8bdd978723f8009983e000080bf803a333f469e343e0ad723be3ae719bc54b0d03c42015fbeb6ac303fa9ac30bf85f0223fa10bdfbe9bf022bf000080bfd5f1673fec2be63e0ad723be5cb0d0bc2de7193c42015fbeb6ac303fa9ac30bf99f0223f7b0bdfbe91f022bf000080bf5bff693fe010e23e9c1532be80b9d5bc2bc0573c42015fbeb6ac303fa9ac30bf8df0223f900bdfbe97f022bf000080bf68bd673f6c7adf3e9c1532be40c057bc7cb9d53c42015fbeb6ac303fa9ac30bf75f0223fb80bdfbea4f022bf000080bf2817663fecc6e23ececc4cbdcbcc4cbecccc4c3d0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe7fcce3d05631f3f9911cdbcb9f545bececc4c3d0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe10bf33d04631f3f9711cdbcb9f545be9899193e0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe10bf33d78550d3fcccc4cbdcbcc4cbe9999193e0a54843e534d77bf00000000534d773f0a54843e00000000000080bfe7fcce3d78550d3f9911cdbcb9f545bececc4c3df004353ff60435bf00000000f604353fef04353f00000000000080bfe10bf33d04631f3f4fe2dabb992a33bececc4c3df004353ff60435bf00000000f604353fef04353f00000000000080bfb5c6063e04631f3f4fe2dabb992a33be9899193ef004353ff60435bf00000000f604353ff004353f00000000000080bfb5c6063e78550d3f9711cdbcb9f545be9899193ef004353ff60435bf00000000f604353fef04353f00000000000080bfe10bf33d78550d3f4fe2dabb992a33bececc4c3d554d773ff85384be00000000c38d613e88c3523fe8eb053f000080bf55492c3f782e2c3d60562fbb0ad723bececc4c3d554d773ff85384be00000000c18d613e88c3523fe8eb053f000080bfcbd62e3f788e3c3d6b562fbb0ad723be9999193e554d773ff85384be00000000bd8d613e86c3523fe9eb053f000080bf99b4353f0000833b4fe2dabb992a33be9899193e554d773ff85384be00000000bf8d613e88c3523fe9eb053f000080bf2227333f00000000cecc4cbd999919becbcc4c3e0654843e00000000554d773f554d77bf000000000654843e000080bfde1dd43e904cfa3c9911cdbc989919beb9f5453e0654843e00000000554d773f554d77bf000000000554843e000080bf70cdca3e484dfa3c9711cdbccfcc4cbdb9f5453e0654843e00000000554d773f554d77bf000000000654843e000080bf70cdca3eb4ffce3dcccc4cbdcbcc4cbdcbcc4c3e0654843e00000000554d773f554d77bf000000000654843e000080bfde1dd43e88ffce3d9911cdbc989919beb9f5453ef504353f00000000f004353ff00435bf00000000f604353f000080bf70cdca3e484dfa3c4fe2dabb989919be982a333ef504353f00000000f004353ff00435bf00000000f604353f000080bfac6ac23e2848fa3c4fe2dabbcfcc4cbd982a333ef504353f00000000f004353fef0435bf00000000f604353f000080bfac6ac23e6cfece3d9711cdbccfcc4cbdb9f5453ef504353f00000000f004353ff00435bf00000000f604353f000080bf70cdca3eb4ffce3d4fe2dabb989919be982a333e534d773f000000000654843e065484be00000000534d773f000080bfac6ac23e2848fa3c66562fbb989919be0ad7233e534d773f000000000654843e065484be00000000534d773f000080bff654bf3e7042fa3c66562fbbcecc4cbd0ad7233e534d773f000000000654843e065484be00000000534d773f000080bff654bf3efefcce3d4fe2dabbcfcc4cbd982a333e534d773f000000000654843e075484be00000000534d773f000080bfac6ac23e6cfece3d999919becbcc4cbececc4c3d00000000564d77bff45384be0000803f0000000000000000000080bf1042fa3c05631f3f999919beb9f545be9911cd3c00000000564d77bff45384be0000803f0000000000000000000080bf1042fa3ce4e4233fcecc4cbdb9f545be9711cd3c00000000564d77bff45384be0000803f0000000000000000000080bfe7fcce3de4e4233fcecc4cbdcbcc4cbecccc4c3d00000000564d77bff45384be0000803f0000000000000000000080bfe7fcce3d05631f3f999919beb9f545be9911cd3c00000000f10435bff50435bf0000803f0000000000000000000080bf1042fa3ce4e4233f999919be992a33be4fe2da3b00000000f10435bff50435bf0000803f0000000000000000000080bf1042fa3c1535273fcecc4cbd992a33be4fe2da3b00000000f10435bff50435bf0000803f0000000000000000000080bfe7fcce3d1535273fcecc4cbdb9f545be9711cd3c00000000f10435bff50435bf0000803f0000000000000000000080bfe7fcce3de4e4233f999919be992a33be4fe2da3b00000000fd5384be554d77bf12cb3f3f18cd233fb04b2fbe000080bfe0751f3f92b7f63d999919be0ad723be60562f3b00000000fd5384be554d77bf11cb3f3f18cd233faf4b2fbe000080bf7c76213f20e6023ecccc4cbd0ad723be6b562f3b00000000fd5384be554d77bf14cb3f3f16cd233fac4b2fbe000080bf2956283fa1beaf3dcecc4cbd992a33be4fe2da3b00000000fd5384be554d77bf14cb3f3f16cd233fad4b2fbe000080bf8e55263ff3a9a03dcbcc4cbecbcc4cbdcecc4c3d5a4d77bf00000000dd5384be000000000000803f00000000000080bfcfc74d3fa2f23a3fb9f545becfcc4cbd9911cd3c5a4d77bf00000000dd5384be000000000000803f00000000000080bfcfc74d3fc370363fb9f545be989919be9711cd3c5a4d77bf00000000dd5384be000000000000803f00000000000080bf43ba3b3fc370363fcbcc4cbe989919becccc4c3d5a4d77bf00000000dd5384be000000000000803f00000000000080bf43ba3b3fa2f23a3fb9f545becfcc4cbd9911cd3cea0435bf86afe633fc0435bf000000000000803f00000000000080bfcfc74d3fc370363f982a33becfcc4cbd4fe2da3bea0435bf86afe633fc0435bf000000000000803f00000000000080bfcfc74d3f9120333f992a33be989919be4fe2da3bea0435bf86afe633fc0435bf000000000000803f00000000000080bf43ba3b3f9120333fb9f545be989919be9711cd3cea0435bf86afe633fc0435bf000000000000803f00000000000080bf43ba3b3fc370363f0ad723bececc4cbd66562f3b025484be00000000554d77bff2b0423fd5da1d3f7c5a50be000080bf3483313f72f3313e0ad723be999919be60562f3b025484be00000000554d77bfdeb0423feeda1d3f695a50be000080bf084c223f81160b3e992a33be989919be4fe2da3b025484be00000000554d77bfdcb0423ff2da1d3f665a50be000080bf0c8b213fd9cd0f3e982a33becfcc4cbd4fe2da3b025484be00000000554d77bff0b0423fd9da1d3f7b5a50be000080bf38c2303fc8aa363e999919becbcc4cbe9999193ef75384be564d77bf00000000564d773ff75384be00000000000080bf1042fa3c78550d3f982a33beb9f545be9999193ef75384be564d77bf00000000564d773ff75384be00000000000080bf600c543c78550d3f992a33beb9f545bececc4c3df75384be564d77bf00000000564d773ff75384be00000000000080bf600c543c05631f3f999919becbcc4cbececc4c3df75384be564d77bf00000000564d773ff85384be00000000000080bf1042fa3c05631f3f982a33beb9f545be9999193ef10435bff40435bf01a44034f404353ff30435bf00000000000080bf600c543c78550d3fb9f545be992a33be9999193ef10435bff40435bf01a44034f404353ff30435bf00000000000080bf0000803278550d3fb9f545be992a33bececc4c3df10435bff40435bf01a44034f404353ff30435bf00000000000080bf0000000005631f3f992a33beb9f545bececc4c3df10435bff40435bf01a44034f404353ff20435bf00000000000080bf600c543c05631f3fb9f545be992a33be9999193e554d77bffe5384be8726e833ff5384be554d773f00000000000080bf6438373f2e004d3fcbcc4cbe999919be9999193e554d77bffe5384be8726e833fe5384be554d773f00000000000080bf43ba3b3f2e004d3fcbcc4cbe989919becccc4c3d554d77bffe5384be8726e833fe5384be554d773f00000000000080bf43ba3b3fa2f23a3fb9f545be992a33bececc4c3d554d77bffe5384be8726e833fe5384be554d773f00000000000080bf6438373fa2f23a3f0ad723be6d562fbb9999193e0c5484be534d773f1809f2b353dd313fa2583e3e46dd31bf000080bf700c583f5cfb023f0ad723be74562fbbcccc4c3d0c5484be534d773f1809f2b34add313f98583e3e50dd31bf000080bf5dd0643fdc6eec3e982a33be60e2dabbcecc4c3d0c5484be534d773f1809f2b348dd313f97583e3e53dd31bf000080bf40e7623fa09ce83e992a33be60e2dabb9899193e0c5484be534d773f1809f2b353dd313fa2583e3e47dd31bf000080bf5223563f3e12013f982a33be60e2dabbcecc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bfe099553fa2f23a3fb9f545bea011cdbccecc4c3df40435bff304353f04a440b4f304353ff304353f00000000000080bfae49523fa2f23a3fb9f545bea011cdbc9899193ef40435bff304353f04a440b4f304353ff404353f00000000000080bfae49523f2e004d3f992a33be60e2dabb9899193ef40435bff304353f04a440b4f204353ff304353f00000000000080bfe099553f2e004d3fb9f545bea011cdbccecc4c3d554d77bf0454843e727541b40554843e554d773f00000000000080bfae49523fa2f23a3fcbcc4cbecbcc4cbdcecc4c3d554d77bf0454843e727541b40454843e554d773f00000000000080bfcfc74d3fa2f23a3fcbcc4cbecbcc4cbd9999193e554d77bf0454843e727541b40554843e554d773f00000000000080bfcfc74d3f2e004d3fb9f545bea011cdbc9899193e554d77bf0454843e727541b40454843e554d773f00000000000080bfae49523f2e004d3f999919becbcc4cbdcbcc4c3e045484be5a7d6534554d773f554d77bf00000000045484be000080bff35bf63e08fcce3d992a33becfcc4cbdb9f5453e045484be5a7d6534554d773f554d77bf00000000035484be000080bfce24fe3e75face3d982a33be989919beb9f5453e045484be5a7d6534554d773f554d77bf00000000045484be000080bfce24fe3e4838fa3c999919be989919becbcc4c3e045484be5a7d6534554d773f554d77bf00000000045484be000080bff35bf63e983efa3c992a33becfcc4cbdb9f5453eec0435bf92c3e633f904353f000000000000803f00000000000080bfcfc74d3f3fd2543fb9f545becfcc4cbd982a333eec0435bf92c3e633f904353f000000000000803f00000000000080bfcfc74d3f0d82513fb9f545be989919be992a333eec0435bf92c3e633f904353f000000000000803f00000000000080bf43ba3b3f0e82513f982a33be989919beb9f5453eec0435bf92c3e633f904353f000000000000803f00000000000080bf43ba3b3f3fd2543fb9f545becfcc4cbd982a333e584d77bf00000000e153843e000000000000803f00000000000080bfcfc74d3f0d82513fcbcc4cbecbcc4cbd9999193e584d77bf00000000e153843e000000000000803f00000000000080bfcfc74d3f2e004d3fcbcc4cbe999919be9999193e584d77bf00000000e153843e000000000000803f00000000000080bf43ba3b3f2e004d3fb9f545be989919be992a333e584d77bf00000000e153843e000000000000803f00000000000080bf43ba3b3f0e82513fcccc4cbdcbcc4cbe9999193e00000000564d77bff753843e0000803f0000000000000000000080bfe7fcce3d78550d3fcecc4cbdb9f545be982a333e00000000564d77bff753843e0000803f0000000000000000000080bfe7fcce3d99d3083f989919beb9f545be992a333e00000000564d77bff753843e0000803f0000000000000000000080bf1042fa3c99d3083f999919becbcc4cbe9999193e00000000564d77bff753843e0000803f0000000000000000000080bf1042fa3c78550d3fcecc4cbdb9f545be982a333e00000000f30435bff304353f0000803f0000000000000000000080bfe7fcce3d99d3083fcecc4cbd992a33beb9f5453e00000000f30435bff304353f0000803f0000000000000000000080bfe7fcce3d6883053f989919be992a33beb9f5453e00000000f30435bff304353f0000803f0000000000000000000080bf1042fa3c6883053f989919beb9f545be992a333e00000000f30435bff304353f0000803f0000000000000000000080bf1042fa3c99d3083fcecc4cbd992a33beb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf165ad33ec01b543ccecc4cbd999919becbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bfde1dd43e904cfa3c999919be989919becbcc4c3e00000000f35384be564d773f000080bf0000000000000000000080bff35bf63e983efa3c989919be992a33beb9f5453e00000000f35384be564d773f000080bf0000000000000000000080bf2a98f53ec0ff533ccecc4cbd74562fbb0ad7233e00000000534d773f0c54843e2cdd313fc4583e3e6bdd31bf000080bf5dd0643fe04c123f999919be74562fbb0ad7233e00000000534d773f0c54843e53dd313f9c583e3e48dd31bf000080bf700c583ff288053f999919be60e2dabb982a333e00000000534d773f0c54843e4ddd313f9e583e3e4bdd31bf000080bf5223563f1072073fcecc4cbd60e2dabb982a333e00000000534d773f0c54843e28dd313fc6583e3e6edd31bf000080bf40e7623ffd35143f999919be60e2dabb982a333e00000000f104353ff404353f31cd133f3fcd133f3ecd13bf000080bf5223563f1072073f999919bea011cdbcb9f5453e00000000f104353ff404353f29cd133f44cd133f42cd13bf000080bf8ecb533fd3c9093fcecc4cbda011cdbcb9f5453e00000000f104353ff404353f52cd133f2ecd133f2dcd13bf000080bf7c8f603fc18d163fcecc4cbd60e2dabb982a333e00000000f104353ff404353f5acd133f2bcd133f2acd13bf000080bf40e7623ffd35143f999919bea011cdbcb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf2898f53e4e0af33d999919becbcc4cbdcbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bff35bf63e08fcce3dcccc4cbdcbcc4cbdcbcc4c3e000000002654843e514d773f000080bf0000000000000000000080bfde1dd43e88ffce3dcecc4cbda011cdbcb9f5453e000000002654843e514d773f000080bf0000000000000000000080bf155ad33ecc0df33dcecc4cbdcbcc4cbecccc4c3d030048b4000080bf000000000000803f0000000000000000000080bfe7fcce3d05631f3fcccc4cbdcbcc4cbe9999193e030048b4000080bf000000000000803f0000000000000000000080bfe7fcce3d78550d3f999919becbcc4cbe9999193e030048b4000080bf000000000000803f0000000000000000000080bf1042fa3c78550d3f999919becbcc4cbececc4c3d030048b4000080bf000000000000803f0000000000000000000080bf1042fa3c05631f3fcbcc4cbe989919be999919be000080bf000000000000000000000000000080bf00000000000080bff259523fc858bf3ecbcc4cbe999919becbcc4cbd000080bf000000000000000000000000000080bf00000000000080bff359523faf3d9b3ecbcc4cbecbcc4cbdcbcc4cbd000080bf000000000000000000000000000080bf00000000000080bf664c403faf3d9b3ecbcc4cbecbcc4cbd989919be000080bf000000000000000000000000000080bf00000000000080bf664c403fc858bf3ecccc4cbd989919becbcc4cbe0000000004004834000080bf000000000000803f00000000000080bfe8c6d43c262f993e999919be999919becbcc4cbe0000000004004834000080bf000000000000803f00000000000080bf30a3d43c01b7b23e999919becbcc4cbdcbcc4cbe0000000004004834000080bf000000000000803f00000000000080bf3395c53d01b7b23ececc4cbdcbcc4cbdcbcc4cbe0000000004004834000080bf000000000000803f00000000000080bf1d9ec53d262f993ecccc4cbdcbcc4cbecbcc4cbda560833eba8c6ebfad60833e00000000a1ed87be3fd076bf000080bfb89a1e3f8d1eef3e9711cdbcb9f545becfcc4cbda560833eba8c6ebfad60833e70e6ebba142a88becdc776bf000080bfb89a1e3fcf1ae63e7cb9d5bcc9503fbe80b9d5bca560833eba8c6ebfad60833e00000000a2ed87be3fd076bf000080bfae491a3f797ce63ececc4cbdb9f545bea011cdbca560833eba8c6ebfad60833e27e7ec3a0fb187be77d876bf000080bfd9181a3f8d1eef3ececc4cbdb9f545bea011cdbc41015f3eb0ac30bfb1ac303f56de2c3f73f91d3f32d9ce3e000080bf0882423fe2f2783f7cb9d5bcc9503fbe80b9d5bc41015f3eb0ac30bfb1ac303f56de2c3f73f91d3f34d9ce3e000080bf0e10463faa657b3f7db9d5bc9d1532be40c057bc41015f3eb0ac30bfb1ac303f56de2c3f73f91d3f32d9ce3e000080bfc262473f7956793fcecc4cbd992a33be60e2dabb41015f3eb0ac30bfb1ac303f56de2c3f74f91d3f32d9ce3e000080bf2063443f1006763f0ad723bd0ad723be0677b4bb8bf3843e35cd81be248c6e3f7686293f37c33f3f60c99d3c000080bf6484473f4f90753fcecc4cbd0ad723be6d562fbb8bf3843e35cd81be248c6e3fb9a2293f97aa3f3ff5f69b3c000080bff551463f1a1f743fcecc4cbd992a33be60e2dabb8bf3843e35cd81be248c6e3fc2a2293f8faa3f3f67f69b3c000080bf2063443f1006763f7db9d5bc9d1532be40c057bc8bf3843e35cd81be248c6e3f9467293f16de3f3fb9c69f3c000080bfc262473f7956793f57b0d0bc0ad723be38e719bc8bf3843e35cd81be248c6e3f4d2c293f8e11403f5e97a33c000080bf5f3f493f06a6773f2bc057bc9c1532be80b9d5bca7ac303f33015fbebaac303f889e0f3fc46e433fb1e5a3be000080bf4c45493f0b9c7b3f2de719bc0ad723be5cb0d0bca7ac303f33015fbebaac303f759e0f3fde6e433f7ce5a3be000080bfed974b3fd6797a3f57b0d0bc0ad723be38e719bca7ac303f33015fbebaac303f919e0f3fb66e433fd0e5a3be000080bf5f3f493f06a6773f7db9d5bc9d1532be40c057bca7ac303f33015fbebaac303fa99e0f3f996e433f11e6a3be000080bfc262473f7956793f2bc057bc9c1532be80b9d5bc268c6e3f30cd81be84f3843edbc2b93eaab22a3fc9a526bf000080bf4c45493f0b9c7b3f4fe2dabb992a33becfcc4cbd268c6e3f30cd81be84f3843e3ec6b93ec8132a3ffd4627bf000080bfecb44a3fe4a37d3f6b562fbb0ad723bececc4cbd268c6e3f30cd81be84f3843eb0c5b93e8b2f2a3fe52a27bf000080bf4c394d3f2c717c3f2de719bc0ad723be5cb0d0bc268c6e3f30cd81be84f3843eafc1b93e9ae32a3fed7326bf000080bfed974b3fd6797a3f0677b4bb0ad723be06d723bd268c6e3f30cd81be84f3843e89b4643eaf4527be1b0176bf000080bf868c4c3fd0a07b3f4fe2dabb992a33becfcc4cbdb6ac303fa9ac30bf3a015f3e00000000bc139abe202274bf000080bfb89a1e3f6c7adf3e2bc057bc9c1532be80b9d5bcb6ac303fa9ac30bf3a015f3e00000000b2139abe202274bf000080bfae491a3f2bd2e13e7cb9d5bcc9503fbe80b9d5bcb6ac303fa9ac30bf3a015f3e00000000a7139abe232274bf000080bfae491a3f797ce63e9711cdbcb9f545becfcc4cbdb6ac303fa9ac30bf3a015f3e00000000b3139abe202274bf000080bfb89a1e3fcf1ae63ececc4cbdcbcc4cbe999919bea260833ebc8c6ebfa46083be0000000098ed873e40d076bf000080bf45a8303f8d1eef3ececc4cbdb9f545be992a33bea260833ebc8c6ebfa46083be6fe1ecba06b1873e77d876bf000080bf242a353f8d1eef3e7db9d5bcc9503fbe9c1532bea260833ebc8c6ebfa46083be0000000099ed873e3fd076bf000080bf4ff9343f797ce63e9911cdbcb9f545be989919bea260833ebc8c6ebfa46083be0febeb3a0b2a883ecfc776bf000080bf44a8303fcf1ae63e9911cdbcb9f545be989919beb1ac303fb1ac30bf36015fbe00000000a8139a3e222274bf000080bf44a8303fcf1ae63e7db9d5bcc9503fbe9c1532beb1ac303fb1ac30bf36015fbe00000000a2139a3e232274bf000080bf4ff9343f797ce63e2bc057bc9d1532be9c1532beb1ac303fb1ac30bf36015fbe00000000a8139a3e222274bf000080bf4ff9343f2bd2e13e4fe2dabb992a33be989919beb1ac303fb1ac30bf36015fbe00000000af139a3e222274bf000080bf44a8303f6c7adf3e60562fbb0ad723be989919bebd8c6e3ff56183be475f83be6cde543e4300753fb2034fbe000080bf00019b3c2756803e4fe2dabb992a33be989919bebd8c6e3ff56183be475f83be14de543e3900753fbd044fbe000080bf4011093ce05b813e2bc057bc9d1532be9c1532bebd8c6e3ff56183be475f83bed752533ea2d2743fc0e953be000080bff052153cb81e893e93ec93bb0ad723bec73f20bebd8c6e3ff56183be475f83be3473543e09f4743f2a5850be000080bfa0029b3cbc76823e4fe2dabb989919be992a33bebd8c6e3ff56183be475f83be3f51523e25b4743f4c1757be000080bf70cdd43cb2bb873e1cd291bbcddf21beccdf21bebd8c6e3ff56183be475f83be1886573e3f4b753f4b8b46be000080bf481aa63c42da823ec3078dbb097d1fbe0ad723bebd8c6e3ff56183be475f83be600e523e23ac743f1bea57be000080bfa890b33c2d4e833e6b562fbb999919be0ad723bebd8c6e3ff56183be475f83befc0c523ef7ab743f74ee57be000080bf80c9d43cbde3823e4fe2dabb989919be992a33beafac303f59015fbeb0ac30bf5fb01d3e05db793f2ab01dbe000080bf70cdd43cb2bb873e2bc057bc9d1532be9c1532beafac303f59015fbeb0ac30bf37b01d3e05db793f4fb01dbe000080bff052153cb81e893e7bb9d5bc9c1532bec9503fbeafac303f59015fbeb0ac30bf5ab01d3e05db793f2fb01dbe000080bf0053153cb8b78f3e9711cdbc989919beb9f545beafac303f59015fbeb0ac30bf79b01d3e05db793f0eb01dbe000080bf70cdd43cbf1a913ecccc4cbd989919becbcc4cbeac60833ea26083bebc8c6ebf998f503e34f2743f945e54be000080bfe8c6d43c262f993e9711cdbc989919beb9f545beac60833ea26083bebc8c6ebf427d533ed2d6743ffe7153be000080bf70cdd43cbf1a913e7bb9d5bc9c1532bec9503fbeac60833ea26083bebc8c6ebf2591563e65b9743f9c7852be000080bf0053153cb8b78f3ececc4cbd992a33beb9f545beac60833ea26083bebc8c6ebf427d533ed2d6743f007253be000080bf4011093c907a973ececc4cbd992a33beb9f545be70015f3eb2ac30bfacac30bf00000000f004353ff60435bf000080bf557a383f8d1eef3e7bb9d5bc9c1532bec9503fbe70015f3eb2ac30bfacac30bf00000000f004353ff60435bf000080bf764e373f797ce63e7db9d5bcc9503fbe9c1532be70015f3eb2ac30bfacac30bf00000000f204353ff40435bf000080bf4ff9343f797ce63ececc4cbdb9f545be992a33be70015f3eb2ac30bfacac30bf00000000f104353ff50435bf000080bf242a353f8d1eef3e7cb9d5bc40c057bc9c1532be8df3843e238c6e3f3ccd81beaab2343fb16d82bb5b56353f000080bf39cee03e83b63b3fcecc4cbd60e2dabb992a33be8df3843e238c6e3f3ccd81be5968353fec8eb4bbef9f343f000080bf666eda3e5da13e3fcccc4cbd77562fbb0ad723be8df3843e238c6e3f3ccd81be324a353f5d39acbb52be343f000080bfa240de3e7b8a403f54b0d0bc3ae719bc0ad723be8df3843e238c6e3f3ccd81be467b343ffb6066bba68d353f000080bf9283e43e03693d3f05d723bd1877b4bb0ad723be8df3843e238c6e3f3ccd81be0bbb2a3fccceb9bedf9926bf000080bf39cee03eb0433f3fcecc4cbd60e2dabb992a33be31015f3ebcac303fa5ac30bf7ef0223fa40bdf3ea0f0223f000080bf666eda3e5da13e3f7cb9d5bc40c057bc9c1532be31015f3ebcac303fa5ac30bf84f0223f990bdf3e9df0223f000080bf39cee03e83b63b3f7db9d5bc80b9d5bcc9503fbe31015f3ebcac303fa5ac30bf7ff0223fa40bdf3e9ff0223f000080bfb881dd3e43103a3fcecc4cbda011cdbcb9f545be31015f3ebcac303fa5ac30bf79f0223faa0bdf3ea2f0223f000080bfe0bed53e9a493c3fcecc4cbdcbcc4cbdcbcc4cbea760833e8e60833ebd8c6ebf1b8f50be3bf2743f955e543e000080bf1d9ec53d262f993ececc4cbda011cdbcb9f545bea760833e8e60833ebd8c6ebfc07c53bed8d6743ffc71533e000080bf7cace93d917a973e7db9d5bc80b9d5bcc9503fbea760833e8e60833ebd8c6ebfa69056be6cb9743fa178523e000080bf6227e83db9b78f3e9911cdbccfcc4cbdb9f545bea760833e8e60833ebd8c6ebfc07c53bed8d6743ffe71533e000080bfbd9fc53dbf1a913e9911cdbccfcc4cbdb9f545beadac303f5a015f3eb0ac30bf46b01dbe05db793f47b01d3e000080bfbd9fc53dbf1a913e7db9d5bc80b9d5bcc9503fbeadac303f5a015f3eb0ac30bf21b01dbe05db793f6cb01d3e000080bf6227e83db9b78f3e2bc057bc80b9d5bc9d1532beadac303f5a015f3eb0ac30bf40b01dbe05db793f4bb01d3e000080bf6227e83db81e893e4fe2dabbcfcc4cbd992a33beadac303f5a015f3eb0ac30bf60b01dbe05db793f2eb01d3e000080bfbd9fc53db2bb873e60562fbbcecc4cbd0ad723be268c6e3f7ff3843e2ecd81bec67555be5a6f743f7ee0583e000080bfc59ec53dbde3823e4fe2dabbcfcc4cbd992a33be268c6e3f7ff3843e2ecd81bef57555be5f6f743fdcdf583e000080bfbd9fc53db2bb873e2bc057bc80b9d5bc9d1532be268c6e3f7ff3843e2ecd81becddd56be899a743f1a66543e000080bf6227e83db81e893ef576b4bb0ad723bd0ad723be268c6e3f7ff3843e2ecd81bec62156be2384743f6ebd563e000080bfc20fd43dd59c833e2be719bc5cb0d0bc0ad723be268c6e3f7ff3843e2ecd81bea74458be60c4743f8cea4f3e000080bfc109e93dd29a843e54b0d0bc3ae719bc0ad723beb4ac303faeac303f3a015fbe94f0223faf0bdfbe85f0223f000080bf9283e43e03693d3f2be719bc5cb0d0bc0ad723beb4ac303faeac303f3a015fbe87f0223f830bdfbea4f0223f000080bf9e9ee83e7d5b3b3f2bc057bc80b9d5bc9d1532beb4ac303faeac303f3a015fbe8ff0223f9e0bdfbe90f0223f000080bfb91ae43e43103a3f7cb9d5bc40c057bc9c1532beb4ac303faeac303f3a015fbe9ef0223fd50bdfbe70f0223f000080bf39cee03e83b63b3f999919becbcc4cbecbcc4cbda76083beba8c6ebfb060833e00000000a6ed87be3fd076bf000080bfb89a1e3fd39c093f989919beb9f545be9811cdbca76083beba8c6ebfb060833e66efecba12b187be77d876bf000080bfd9181a3fd39c093f9c1532bec9503fbe78b9d5bca76083beba8c6ebfb060833e00000000a6ed87be3fd076bf000080bfae491a3fdded0d3f982a33beb9f545becbcc4cbda76083beba8c6ebfb060833e17edeb3a182a88becdc776bf000080bfb89a1e3fb21e0e3f982a33beb9f545becbcc4cbdb0ac30bfb1ac30bf41015f3e0000000092139abe252274bf000080bfb89a1e3fb21e0e3f9c1532bec9503fbe78b9d5bcb0ac30bfb1ac30bf41015f3e00000000a7139abe222274bf000080bfae491a3fdded0d3fc7503fbe9d1532be78b9d5bcb0ac30bfb1ac30bf41015f3e0000000094139abe252274bf000080bfae491a3f0443103fb9f545be992a33becbcc4cbdb0ac30bfb1ac30bf41015f3e0000000082139abe292274bf000080bfb89a1e3fe36e113fcbcc4cbe999919becbcc4cbdbc8c6ebfaa6083bea260833e9fed873e3fd076bf00000000000080bff359523faf3d9b3eb9f545be992a33becbcc4cbdbc8c6ebfaa6083bea260833e0bb1873e77d876bfdae2ecba000080bfd2db563faf3d9b3ec7503fbe9d1532be78b9d5bcbc8c6ebfaa6083bea260833e9fed873e3fd076bf00000000000080bffdaa563f9b9b923eb9f545be989919be9811cdbcbc8c6ebfaa6083bea260833e142a883ecfc776bf78f6eb3a000080bff259523ff139923eb9f545be989919be9811cdbcb2ac30bf27015fbeb2ac303f8c139a3e272274bf00000000000080bff259523ff139923ec7503fbe9d1532be78b9d5bcb2ac30bf27015fbeb2ac303fa5139a3e232274bf00000000000080bffdaa563f9b9b923e9c1532be9c1532be20c057bcb2ac30bf27015fbeb2ac303f90139a3e272274bf00000000000080bffdaa563f4cf18d3e982a33be989919be40e2dabbb2ac30bf27015fbeb2ac303f7c139a3e2b2274bf00000000000080bff259523f8e998b3e0ad723be989919be59562fbb935e83beab6283bebd8c6e3f20f12d3f9f45233ff6b6b93e000080bf0cae3b3f417a643f982a33be989919be40e2dabb935e83beab6283bebd8c6e3f29f12d3f9545233ff8b6b93e000080bf78303a3fafae623f9c1532be9c1532be20c057bc935e83beab6283bebd8c6e3fce0c2e3f5c28233f19b6b93e000080bf6438373f48dd653f0ad723be2e811cbe52fb63bb935e83beab6283bebd8c6e3f70cf2d3f2f69233f01b8b93e000080bfaf503b3f0bd7643f989919be992a33be40e2dabb935e83beab6283bebd8c6e3f68f72d3ffb3e233fc4b6b93e000080bf8c73393f9dd9683ff85820bef75820be9ed46dbb935e83beab6283bebd8c6e3fdd1d2c3f8b2e253feec2b93e000080bf1c2c3b3f87ba653f6c2c1dbe0ad723bede1a70bb935e83beab6283bebd8c6e3fa8f82d3fa83d233fbbb6b93e000080bfec093b3f1e88663f999919be0ad723be5d562fbb935e83beab6283bebd8c6e3f09f82d3f513e233fc0b6b93e000080bf61623b3fa8f2663f989919be992a33be40e2dabb59015fbeb1ac30bfaeac303f00000000f10435bff50435bf000080bfa8c8163fd39c093f9c1532be9c1532be20c057bc59015fbeb1ac30bfaeac303f00000000f10435bff40435bf000080bf87f4173fdded0d3f9c1532bec9503fbe78b9d5bc59015fbeb1ac30bfaeac303f00000000f30435bff40435bf000080bfae491a3fdded0d3f989919beb9f545be9811cdbc59015fbeb1ac30bfaeac303f00000000f10435bff40435bf000080bfd9181a3fd39c093f0ad723be6d562fbbcecc4cbd37cd81be238c6e3f8df3843e2aa0343f9f7fb4bb1d68353f000080bfa240de3eec9f5c3f992a33be60e2dabbcfcc4cbd37cd81be238c6e3f8df3843eea9f343fb790b4bb5c68353f000080bf666eda3e0a895e3f9d1532be40c057bc80b9d5bc37cd81be238c6e3f8df3843ead4d353f8cd284bb59bb343f000080bf38cee03ee473613f0ad723be0677b4bb0ad723bd37cd81be238c6e3f8df3843e97f3343fb3999dbb3b15353f000080bf38cee03eb8e65d3f0ad723be36e719bc5cb0d0bc37cd81be238c6e3f8df3843e79fa353f15452abbcf0d343f000080bf9283e43e64c15f3f0ad723be5cb0d0bc36e719bc2b015fbeb2ac303fb1ac303fa0f0223f850bdfbe88f0223f000080bf9e9ee83eeace613f0ad723be36e719bc5cb0d0bc2b015fbeb2ac303fb1ac303f90f0223f9d0bdfbe90f0223f000080bf9283e43e64c15f3f9d1532be40c057bc80b9d5bc2b015fbeb2ac303fb1ac303f85f0223fad0bdfbe95f0223f000080bf38cee03ee473613f9d1532be80b9d5bc40c057bc2b015fbeb2ac303fb1ac303f97f0223f960bdfbe8df0223f000080bfb81ae43e241a633f9d1532be80b9d5bc40c057bc3fcd81be8ef3843e238c6e3f8075273fc873413f9e9505bd000080bf4bc14b3f3ed2543f992a33becfcc4cbd60e2dabb3fcd81be8ef3843e238c6e3fa015263f439a423f5eb210bd000080bfba14483f1e27573f0ad723bececc4cbd6d562fbb3fcd81be8ef3843e238c6e3f4790263f2934423f35d50cbd000080bf4e92493fb0f2583f0ad723be5cb0d0bc36e719bc3fcd81be8ef3843e238c6e3f8508283f4ef7403f9dea00bd000080bf4c394d3fa06a563f0ad723be0ad723bd0677b4bb3fcd81be8ef3843e238c6e3fb569a0be02ab633ff587aabe000080bf69104b3f7eeb573f992a33becfcc4cbd60e2dabbb2ac30bf27015f3eb1ac303fa2139abe232274bf00000000000080bf664c403f8e998b3e9d1532be80b9d5bc40c057bcb2ac30bf27015f3eb1ac303f9d139abe232274bf00000000000080bf5cfb3b3f4df18d3eca503fbe80b9d5bc80b9d5bcb2ac30bf27015f3eb1ac303f99139abe252274bf00000000000080bf5cfb3b3f9b9b923eb9f545becfcc4cbda011cdbcb2ac30bf27015f3eb1ac303f9c139abe232274bf00000000000080bf664c403ff139923ecbcc4cbecbcc4cbdcbcc4cbdbc8c6ebfa160833ea860833e9aed87be3fd076bf00000000000080bf664c403faf3d9b3eb9f545becfcc4cbda011cdbcbc8c6ebfa160833ea860833e092a88becfc776bf09eeebba000080bf664c403ff139923eca503fbe80b9d5bc80b9d5bcbc8c6ebfa160833ea860833e9bed87be3fd076bf00000000000080bf5cfb3b3f9b9b923eb9f545bea011cdbccfcc4cbdbc8c6ebfa160833ea860833e0eb187be77d876bfa7b8ec3a000080bf87ca3b3fb03d9b3eb9f545bea011cdbccfcc4cbdaeac30bfb4ac303f21015f3e78f0223f4a0bdf3ec6f0223f000080bfe0bed53ecee0603fca503fbe80b9d5bc80b9d5bcaeac30bfb4ac303f21015f3e86f0223f780bdf3ea8f0223f000080bfb881dd3e241a633f9d1532be40c057bc80b9d5bcaeac30bfb4ac303f21015f3e93f0223fa60bdf3e88f0223f000080bf38cee03ee473613f992a33be60e2dabbcfcc4cbdaeac30bfb4ac303f21015f3e84f0223f710bdf3eadf0223f000080bf666eda3e0a895e3f999919becbcc4cbe989919bea26083beba8c6ebfa96083be000000009eed873e3fd076bf000080bf44a8303fd39c093f992a33beb9f545be989919bea26083beba8c6ebfa96083befdf1ebba122a883ecfc776bf000080bf45a8303fb21e0e3f9d1532bec9503fbe9c1532bea26083beba8c6ebfa96083be000000009eed873e3fd076bf000080bf4ff9343fdded0d3f999919beb9f545be992a33bea26083beba8c6ebfa96083bea1e3ec3a0ab1873e77d876bf000080bf242a353fd39c093f999919beb9f545be992a33be3b015fbeb8ac30bfa9ac30bf00000000ea04353ffb0435bf000080bf242a353fd39c093f9d1532bec9503fbe9c1532be3b015fbeb8ac30bfa9ac30bf00000000eb04353ffa0435bf000080bf4ff9343fdded0d3f9d1532be9d1532bec9503fbe3b015fbeb8ac30bfa9ac30bf00000000eb04353ffb0435bf000080bf764e373fdded0d3f999919be992a33beb9f545be3b015fbeb8ac30bfa9ac30bf00000000ea04353ffb0435bf000080bf557a383fd39c093f999919be999919becbcc4cbeaf6083be9c6083bebc8c6ebf4e57ab3e2982613f7960abbe000080bf30a3d43c01b7b23e999919be992a33beb9f545beaf6083be9c6083bebc8c6ebfdd78a83ef421623f3beeaabe000080bfe0c9083c6b02b13e9d1532be9d1532bec9503fbeaf6083be9c6083bebc8c6ebf4f57ab3e2982613f7960abbe000080bf70e9143c1a75b53e992a33be989919beb9f545beaf6083be9c6083bebc8c6ebf1234ae3e2be0603f09d1abbe000080bff097d43c3e62b73e992a33be989919beb9f545beb2ac30bf2d015fbeb2ac30bfa1139a3e232274bf00000000000080bff359523fe9fcce3e9d1532be9d1532bec9503fbeb2ac30bf2d015fbeb2ac30bf9c139a3e232274bf00000000000080bffdaa563f2aa5cc3eca503fbe9c1532be9d1532beb2ac30bf2d015fbeb2ac30bf9a139a3e252274bf00000000000080bffdaa563fdcfac73eb9f545be989919be992a33beb2ac30bf2d015fbeb2ac30bf9c139a3e232274bf00000000000080bff359523f865cc83ecbcc4cbe989919be999919bebd8c6ebf9d6083be9d6083be90ed873e40d076bf00000000000080bff259523fc858bf3eb9f545be989919be992a33bebd8c6ebf9d6083be9d6083be042a883ecfc776bfdeeeebba000080bff359523f865cc83eca503fbe9c1532be9d1532bebd8c6ebf9d6083be9d6083be8fed873e40d076bf00000000000080bffdaa563fdcfac73eb9f545be992a33be989919bebd8c6ebf9d6083be9d6083befdb0873e79d876bf16ecec3a000080bfd2db563fc858bf3eb9f545be992a33be989919beb4ac30bfaeac30bf1d015fbe00000000d6139a3e1a2274bf000080bf45a8303fe46e113fca503fbe9c1532be9d1532beb4ac30bfaeac30bf1d015fbe00000000bc139a3e202274bf000080bf4ff9343f0443103f9d1532bec9503fbe9c1532beb4ac30bfaeac30bf1d015fbe00000000a1139a3e232274bf000080bf4ff9343fdded0d3f992a33beb9f545be989919beb4ac30bfaeac30bf1d015fbe00000000bf139a3e1e2274bf000080bf45a8303fb21e0e3f999919be6d562fbb0ad723beba6083beb68c6e3fba6083be0eae283fdacbb93e24ae283f000080bfc7b8c43e694e4d3f989919be60e2dabb992a33beba6083beb68c6e3fba6083be2dae283fdbcbb93e07ae283f000080bf8be6c03e4a654b3f9c1532be40c057bc9c1532beba6083beb68c6e3fba6083be12ae283fdccbb93e21ae283f000080bfd810bb3e34954e3fd38d1dbe530077bb0ad723beba6083beb68c6e3fba6083beffad283fdbcbb93e34ae283f000080bf68bcc33e98cc4d3f982a33be60e2dabb989919beba6083beb68c6e3fba6083be12ae283fdbcbb93e22ae283f000080bf8ce6c03e1dc5513fc1b120be1b0e7abbc1b120beba6083beb68c6e3fba6083beccae283fdbcbb93e68ad283f000080bfbebcc33e34954e3f0ad723be410077bbd28d1dbeba6083beb68c6e3fba6083be73ad283fdbcbb93ec0ae283f000080bf68bcc33ecf5d4f3f0ad723be74562fbb999919beba6083beb68c6e3fba6083be77ae283fdccbb93ebbad283f000080bfc7b8c43effdb4f3f982a33be60e2dabb989919beb3ac30bfadac303f44015fbef00435bff60435bf00000000000080bf567a383fc858bf3e9c1532be40c057bc9c1532beb3ac30bfadac303f44015fbef10435bff50435bf00000000000080bf35a6393fdcfac73ec7503fbe80b9d5bc9c1532beb3ac30bfadac303f44015fbef00435bff60435bf00000000000080bf5cfb3b3fdcfac73eb9f545bea011cdbc989919beb3ac30bfadac303f44015fbef00435bff60435bf00000000000080bf87ca3b3fc858bf3ecbcc4cbecbcc4cbd989919beba8c6ebfaf60833ea76083bea3ed87be3fd076bf00000000000080bf664c403fc858bf3eb9f545bea011cdbc989919beba8c6ebfaf60833ea76083be13b187be77d876bf21e2ecba000080bf87ca3b3fc858bf3ec7503fbe80b9d5bc9c1532beba8c6ebfaf60833ea76083bea3ed87be3fd076bf00000000000080bf5cfb3b3fdcfac73eb9f545becfcc4cbd992a33beba8c6ebfaf60833ea76083be142a88becdc776bf30dceb3a000080bf664c403f865cc83eb9f545becfcc4cbd992a33beb2ac30bf74015f3eaaac30bfbd139abe1e2274bf00000000000080bf664c403f865cc83ec7503fbe80b9d5bc9c1532beb2ac30bf74015f3eaaac30bfb9139abe202274bf00000000000080bf5cfb3b3fdcfac73e9c1532be80b9d5bcc9503fbeb2ac30bf74015f3eaaac30bfbc139abe202274bf00000000000080bf5cfb3b3f2aa5cc3e982a33becfcc4cbdb9f545beb2ac30bf74015f3eaaac30bfbf139abe1e2274bf00000000000080bf664c403fe9fcce3e999919becbcc4cbdcbcc4cbea76083beaa60833eba8c6ebf8757abbe1b82613f8d60ab3e000080bf3395c53d01b7b23e982a33becfcc4cbdb9f545bea76083beaa60833eba8c6ebf6534aebe16e0603f21d1ab3e000080bf5e92c53d3e62b73e9c1532be80b9d5bcc9503fbea76083beaa60833eba8c6ebf8757abbe1b82613f8d60ab3e000080bf331ae83d1975b53e989919bea011cdbcb9f545bea76083beaa60833eba8c6ebffb78a8beec21623f4beeaa3e000080bf90a3e93d6b02b13e989919bea011cdbcb9f545be3e015fbeb9ac303fa7ac30bffb89043f0a5d2e3f328a043f000080bf0537bc3e870d493f9c1532be80b9d5bcc9503fbe3e015fbeb9ac303fa7ac30bffb89043f0a5d2e3f328a043f000080bf57c4b73ef4ee4c3f9c1532be40c057bc9c1532be3e015fbeb9ac303fa7ac30bffb89043f0a5d2e3f328a043f000080bfd810bb3e34954e3f989919be60e2dabb992a33be3e015fbeb9ac303fa7ac30bffc89043f0a5d2e3f328a043f000080bf8be6c03e4a654b3fcecc4cbdcbcc4cbe999919bedc53843e5a4d77bf000000000000000000000000000080bf000080bf45a8303f8d1eef3e9911cdbcb9f545be989919bedc53843e5a4d77bf000000000000000000000000000080bf000080bf44a8303fcf1ae63e9711cdbcb9f545becfcc4cbddc53843e5a4d77bf000000000000000000000000000080bf000080bfb89a1e3fcf1ae63ecccc4cbdcbcc4cbecbcc4cbddc53843e5a4d77bf000000000000000000000000000080bf000080bfb89a1e3f8d1eef3e9911cdbcb9f545be989919bef704353fef0435bf000000000000000000000000000080bf000080bf44a8303fcf1ae63e4fe2dabb992a33be989919bef704353fef0435bf000000000000000000000000000080bf000080bf44a8303f6c7adf3e4fe2dabb992a33becfcc4cbdf704353fef0435bf000000000000000000000000000080bf000080bfb89a1e3f6c7adf3e9711cdbcb9f545becfcc4cbdf704353fef0435bf000000000000000000000000000080bf000080bfb89a1e3fcf1ae63e4fe2dabb992a33be989919be554d773ff95384be000000003b1e803e306f6f3f861e80be000080bf4011093ce05b813e60562fbb0ad723be989919be554d773ff95384be000000003c1e803e326f6f3f7a1e80be000080bf00019b3c2756803e6b562fbb0ad723bececc4cbd554d773ff95384be00000000431e803e426f6f3f021e80be000080bf50dd9a3c979c4d3e4fe2dabb992a33becfcc4cbd554d773ff95384be00000000421e803e406f6f3f0e1e80be000080bff0c9083c07a84f3ececc4cbdcbcc4cbdcbcc4cbef353843e00000000564d77bf000000000000803f00000000000080bf1d9ec53d262f993e9911cdbccfcc4cbdb9f545bef353843e00000000564d77bf000000000000803f00000000000080bfbd9fc53dbf1a913e9711cdbc989919beb9f545bef353843e00000000564d77bf000000000000803f00000000000080bf70cdd43cbf1a913ecccc4cbd989919becbcc4cbef353843e00000000564d77bf000000000000803f00000000000080bfe8c6d43c262f993e9911cdbccfcc4cbdb9f545bef504353f00000000f00435bf000000000000803f00000000000080bfbd9fc53dbf1a913e4fe2dabbcfcc4cbd992a33bef504353f00000000f00435bf000000000000803f00000000000080bfbd9fc53db2bb873e4fe2dabb989919be992a33bef504353f00000000f00435bf000000000000803f00000000000080bf70cdd43cb2bb873e9711cdbc989919beb9f545bef504353f00000000f00435bf000000000000803f00000000000080bf70cdd43cbf1a913e60562fbbcecc4cbd0ad723be554d773f00000000fe5384be000000000000803f00000000000080bfc59ec53dbde3823e6b562fbb999919be0ad723be554d773f00000000fe5384be000000000000803f00000000000080bf80c9d43cbde3823e4fe2dabb989919be992a33be554d773f00000000fe5384be000000000000803f00000000000080bf70cdd43cb2bb873e4fe2dabbcfcc4cbd992a33be554d773f00000000fe5384be000000000000803f00000000000080bfbd9fc53db2bb873e999919becbcc4cbe989919be00000000564d77bff25384be00000000f253843e564d77bf000080bf44a8303fd39c093f999919beb9f545be992a33be00000000564d77bff25384be00000000f353843e564d77bf000080bf242a353fd39c093fcecc4cbdb9f545be992a33be00000000564d77bff25384be00000000f353843e564d77bf000080bf242a353f8d1eef3ececc4cbdcbcc4cbe999919be00000000564d77bff25384be00000000f253843e564d77bf000080bf45a8303f8d1eef3e999919beb9f545be992a33be00000000f10435bff40435bf00000000f404353ff30435bf000080bf242a353fd39c093f999919be992a33beb9f545be00000000f10435bff40435bf00000000f404353ff30435bf000080bf557a383fd39c093fcecc4cbd992a33beb9f545be00000000f10435bff40435bf00000000f404353ff30435bf000080bf557a383f8d1eef3ececc4cbdb9f545be992a33be00000000f10435bff40435bf00000000f404353ff30435bf000080bf242a353f8d1eef3e999919be992a33beb9f545be00000000075484be534d77bf7d1e803e306f6f3f4a1e80be000080bfe0c9083c6b02b13e999919be999919becbcc4cbe00000000075484be534d77bf7c1e803e306f6f3f491e80be000080bf30a3d43c01b7b23ecccc4cbd989919becbcc4cbe00000000075484be534d77bf821e803e2f6f6f3f4a1e80be000080bfe8c6d43c262f993ececc4cbd992a33beb9f545be00000000075484be534d77bf821e803e306f6f3f491e80be000080bf4011093c907a973e999919be6d562fbb0ad723be00000000534d773f0a5484be76dd313f74583e3e25dd313f000080bfc7b8c43e694e4d3fcccc4cbd77562fbb0ad723be00000000534d773f0a5484be55dd313f96583e3e44dd313f000080bfa240de3e7b8a403fcecc4cbd60e2dabb992a33be00000000534d773f0a5484be53dd313f9b583e3e47dd313f000080bf666eda3e5da13e3f989919be60e2dabb992a33be00000000534d773f0a5484be73dd313f78583e3e28dd313f000080bf8be6c03e4a654b3fcecc4cbd60e2dabb992a33be00000000ed04353ff80435bf35cd133f42cd133f39cd133f000080bf666eda3e5da13e3fcecc4cbda011cdbcb9f545be00000000ed04353ff80435bf35cd133f42cd133f39cd133f000080bfe0bed53e9a493c3f989919bea011cdbcb9f545be00000000ed04353ff80435bf32cd133f42cd133f39cd133f000080bf0537bc3e870d493f989919be60e2dabb992a33be00000000ed04353ff80435bf34cd133f42cd133f3acd133f000080bf8be6c03e4a654b3fcecc4cbda011cdbcb9f545be00000000fa53843e554d77bf411e80be396f6f3f401e803e000080bf7cace93d917a973ececc4cbdcbcc4cbdcbcc4cbe00000000fa53843e554d77bf4c1e80be376f6f3f3f1e803e000080bf1d9ec53d262f993e999919becbcc4cbdcbcc4cbe00000000fa53843e554d77bf841e80be306f6f3f3c1e803e000080bf3395c53d01b7b23e989919bea011cdbcb9f545be00000000fa53843e554d77bf7a1e80be326f6f3f3c1e803e000080bf90a3e93d6b02b13ecbcc4cbecbcc4cbd989919be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bf664c403fc858bf3eb9f545becfcc4cbd992a33be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bf664c403f865cc83eb9f545be989919be992a33be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bff359523f865cc83ecbcc4cbe989919be999919be5a4d77bf7ebee733dc5384be00000000000080bf00000000000080bff259523fc858bf3eb9f545becfcc4cbd992a33beec0435bfe6320434fa0435bf00000000000080bf00000000000080bf664c403f865cc83e982a33becfcc4cbdb9f545beec0435bfe6320434fa0435bf00000000000080bf00000000000080bf664c403fe9fcce3e992a33be989919beb9f545beec0435bfe6320434fa0435bf00000000000080bf00000000000080bff359523fe9fcce3eb9f545be989919be992a33beec0435bfe6320434fa0435bf00000000000080bf00000000000080bff359523f865cc83e982a33becfcc4cbdb9f545befd5384be00000000554d77bf000000000000803f00000000000080bf5e92c53d3e62b73e999919becbcc4cbdcbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bf3395c53d01b7b23e999919be999919becbcc4cbefd5384be00000000554d77bf000000000000803f00000000000080bf30a3d43c01b7b23e992a33be989919beb9f545befd5384be00000000554d77bf000000000000803f00000000000080bff097d43c3e62b73e999919becbcc4cbecbcc4cbdf75384be564d77bf000000000000000000000000000080bf000080bfb89a1e3fd39c093f982a33beb9f545becbcc4cbdf75384be564d77bf000000000000000000000000000080bf000080bfb89a1e3fb21e0e3f992a33beb9f545be989919bef75384be564d77bf000000000000000000000000000080bf000080bf45a8303fb21e0e3f999919becbcc4cbe989919bef75384be564d77bf000000000000000000000000000080bf000080bf44a8303fd39c093f982a33beb9f545becbcc4cbdf30435bff40435bf03a440340000000000000000000080bf000080bfb89a1e3fb21e0e3fb9f545be992a33becbcc4cbdf30435bff40435bf03a440340000000000000000000080bf000080bfb89a1e3fe36e113fb9f545be992a33be989919bef30435bff40435bf03a440340000000000000000000080bf000080bf45a8303fe46e113f992a33beb9f545be989919bef30435bff40435bf03a440340000000000000000000080bf000080bf45a8303fb21e0e3fb9f545be992a33becbcc4cbd554d77bffe5384be8726e833fe53843e554d77bf00000000000080bfd2db563faf3d9b3ecbcc4cbe999919becbcc4cbd554d77bffe5384be8726e833ff53843e554d77bf00000000000080bff359523faf3d9b3ecbcc4cbe989919be999919be554d77bffe5384be8726e833fe53843e554d77bf00000000000080bff259523fc858bf3eb9f545be992a33be989919be554d77bffe5384be8726e833fe53843e554d77bf00000000000080bfd2db563fc858bf3e0ad723be6d562fbbcecc4cbd0c5484be534d773f1809f2b345dd313f9f583e3e54dd313f000080bfa240de3eec9f5c3f0ad723be74562fbb999919be0c5484be534d773f1809f2b340dd313f98583e3e59dd313f000080bfc7b8c43effdb4f3f982a33be60e2dabb989919be0c5484be534d773f1809f2b340dd313f98583e3e57dd313f000080bf8ce6c03e1dc5513f992a33be60e2dabbcfcc4cbd0c5484be534d773f1809f2b345dd313f9e583e3e53dd313f000080bf666eda3e0a895e3f982a33be60e2dabb989919bef30435bff404353f06a440b4f40435bff30435bf00000000000080bf567a383fc858bf3eb9f545bea011cdbc989919bef30435bff404353f06a440b4f40435bff20435bf00000000000080bf87ca3b3fc858bf3eb9f545bea011cdbccfcc4cbdf30435bff404353f06a440b4f30435bff30435bf00000000000080bf87ca3b3fb03d9b3e992a33be60e2dabbcfcc4cbdf30435bff404353f06a440b4f30435bff30435bf00000000000080bf567a383fb03d9b3eb9f545bea011cdbc989919be554d77bf0654843e747541b4065484be534d77bf00000000000080bf87ca3b3fc858bf3ecbcc4cbecbcc4cbd989919be554d77bf0654843e747541b4065484be534d77bf00000000000080bf664c403fc858bf3ecbcc4cbecbcc4cbdcbcc4cbd554d77bf0654843e747541b4065484be534d77bf00000000000080bf664c403faf3d9b3eb9f545bea011cdbccfcc4cbd554d77bf0654843e747541b4065484be554d77bf00000000000080bf87ca3b3fb03d9b3e0ad723be989919be59562fbb065484be00000000534d773fa66f2e3f5f77353f55ad3a3e000080bf0cae3b3f417a643f0ad723bececc4cbd6d562fbb065484be00000000534d773fad6f2e3f5877353f5cad3a3e000080bf4e92493fb0f2583f992a33becfcc4cbd60e2dabb065484be00000000534d773fac6f2e3f5a77353f5dad3a3e000080bfba14483f1e27573f982a33be989919be40e2dabb065484be00000000534d773fa66f2e3f6077353f56ad3a3e000080bf78303a3fafae623f992a33becfcc4cbd60e2dabbec0435bf00000000f904353f00000000000080bf00000000000080bf664c403f8e998b3eb9f545becfcc4cbda011cdbcec0435bf00000000f904353f00000000000080bf00000000000080bf664c403ff139923eb9f545be989919be9811cdbcec0435bf00000000f904353f00000000000080bf00000000000080bff259523ff139923e982a33be989919be40e2dabbec0435bf00000000f904353f00000000000080bf00000000000080bff259523f8e998b3eb9f545becfcc4cbda011cdbc584d77bf00000000e153843e00000000000080bf00000000000080bf664c403ff139923ecbcc4cbecbcc4cbdcbcc4cbd584d77bf00000000e153843e00000000000080bf00000000000080bf664c403faf3d9b3ecbcc4cbe999919becbcc4cbd584d77bf00000000e153843e00000000000080bf00000000000080bff359523faf3d9b3eb9f545be989919be9811cdbc584d77bf00000000e153843e00000000000080bf00000000000080bff259523ff139923ecccc4cbdcbcc4cbecbcc4cbd00000000564d77bff653843e00000000f65384be564d77bf000080bfb89a1e3f8d1eef3ececc4cbdb9f545bea011cdbc00000000564d77bff653843e00000000f65384be564d77bf000080bfd9181a3f8d1eef3e989919beb9f545be9811cdbc00000000564d77bff653843e00000000f65384be564d77bf000080bfd9181a3fd39c093f999919becbcc4cbecbcc4cbd00000000564d77bff653843e00000000f65384be564d77bf000080bfb89a1e3fd39c093fcecc4cbdb9f545bea011cdbc00000000f10435bff404353f00000000f50435bff10435bf000080bfd9181a3f8d1eef3ececc4cbd992a33be60e2dabb00000000f10435bff404353f00000000f40435bff10435bf000080bfa8c8163f8d1eef3e989919be992a33be40e2dabb00000000f10435bff404353f00000000f50435bff10435bf000080bfa8c8163fd39c093f989919beb9f545be9811cdbc00000000f10435bff404353f00000000f40435bff10435bf000080bfd9181a3fd39c093fcecc4cbd0ad723be6d562fbb00000000fe5384be554d773f1e892e3f6aea343f759c413e000080bff551463f1a1f743f999919be0ad723be5d562fbb00000000fe5384be554d773ffa882e3f8bea343f999c413e000080bf61623b3fa8f2663f989919be992a33be40e2dabb00000000fe5384be554d773ffd882e3f88ea343f969c413e000080bf8c73393f9dd9683fcecc4cbd992a33be60e2dabb00000000fe5384be554d773f23892e3f65ea343f719c413e000080bf2063443f1006763fcecc4cbdcbcc4cbe999919be00000000000080bf000000000000000000000000000080bf000080bf45a8303f8d1eef3ecccc4cbdcbcc4cbecbcc4cbd00000000000080bf000000000000000000000000000080bf000080bfb89a1e3f8d1eef3e999919becbcc4cbecbcc4cbd00000000000080bf000000000000000000000000000080bf000080bfb89a1e3fd39c093f999919becbcc4cbe989919be00000000000080bf000000000000000000000000000080bf000080bf44a8303fd39c093fcbcc4c3e989919becbcc4cbd0000803f000000000000000000000000000080bf00000000000080bfb853b83e965e183fcbcc4c3e999919be989919be0000803f000000000000000000000000000080bf00000000000080bf7e51b83ea89a0b3fcbcc4c3ecbcc4cbd999919be0000803f000000000000000000000000000080bf00000000000080bf6436943ea89a0b3fcbcc4c3ecbcc4cbdcbcc4cbd0000803f000000000000000000000000000080bf00000000000080bf9f38943e965e183f9999193e989919becbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bf7e51b83e74adfd3ecbcc4c3d999919becbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bfb853b83e9a25e43ecbcc4c3dcbcc4cbdcbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bf9f38943e9a25e43e9899193ecbcc4cbdcbcc4cbe0000000000000000000080bf00000000000080bf00000000000080bf6436943e74adfd3e9999193ecbcc4cbecbcc4cbda560833eba8c6ebfb160833e00000000bfed873e3bd0763f000080bf98f60e3fd39c093f992a333eb9f545becfcc4cbda560833eba8c6ebfb160833e0b4aec3a2f2a883ec9c7763f000080bf98f60e3fb21e0e3f9c15323ec9503fbe80b9d5bca560833eba8c6ebfb160833e00000000bfed873e3bd0763f000080bfa247133fdced0d3f9899193eb9f545bea011cdbca560833eba8c6ebfb160833ec180ecba2cb1873e74d8763f000080bf7778133fd29c093f9899193eb9f545bea011cdbc44015f3eb3ac30bfadac303faeb9e0be09f40f3f0f69333f000080bf82f8383e9c12cf3e9c15323ec9503fbe80b9d5bc44015f3eb3ac30bfadac303faab9e0be0af40f3f1069333f000080bf9a992f3ec452d63e9c15323e9d1532be40c057bc44015f3eb3ac30bfadac303fabb9e0be0af40f3f1069333f000080bf52fd373ed8d8d83e9899193e992a33be60e2dabb44015f3eb3ac30bfadac303faeb9e0be09f40f3f0f69333f000080bf20e3443e4ca8d23e992a333e989919be60e2dabb8762833eef5e83beb68c6e3fb4aa29bf32b0273f2ccbb93e000080bfcdf9433edc12df3e0ad7233e999919be77562fbb8762833eef5e83beb68c6e3f8aaa29bf5db0273f29cbb93e000080bfe85a4c3ef761db3e0ad7233ebd3d1fbe37ca8abb8762833eef5e83beb68c6e3fb2aa29bf35b0273f2acbb93e000080bf0c75493e1402da3e9c15323e9d1532be40c057bc8762833eef5e83beb68c6e3f28aa29bfc0b0273f2ccbb93e000080bf52fd373ed8d8d83e1e5b213e205b21befaaf88bb8762833eef5e83beb68c6e3f25aa29bfc4b0273f2dcbb93e000080bf9cba493e04e5d83e20731e3e0ad723be1d9e83bb8762833eef5e83beb68c6e3f8ea929bf5cb1273f2ccbb93e000080bf530e4a3e4c95d73e9899193e992a33be60e2dabb8762833eef5e83beb68c6e3f8da929bf5cb1273f2bcbb93e000080bf20e3443e4ca8d23e9899193e0ad723be6d562fbb8762833eef5e83beb68c6e3f88a929bf62b1273f2ccbb93e000080bf5eb84c3edf68d63e992a333e989919be60e2dabba9ac303f3e015fbeb7ac303f80b2f3be40ee143f46d8283f000080bfcdf9433edc12df3e9c15323e9d1532be40c057bca9ac303f3e015fbeb7ac303f83b2f3be3cee143f47d8283f000080bf52fd373ed8d8d83ec9503f3e9c1532be80b9d5bca9ac303f3e015fbeb7ac303f82b2f3be40ee143f47d8283f000080bfda202f3ebcbfdc3eb9f5453e989919bea011cdbca9ac303f3e015fbeb7ac303f7eb2f3be41ee143f46d8283f000080bfaa63373eae9de43ecbcc4c3e989919becbcc4cbdba8c6e3fa76083bea760833efa8117be4407c13e9a106a3f000080bfe8a92f3e0804e83eb9f5453e989919bea011cdbcba8c6e3fa76083bea760833ed10517bee6adc13e31f3693f000080bfaa63373eae9de43ec9503f3e9c1532be80b9d5bcba8c6e3fa76083bea760833e258316be0c5dc23e22d4693f000080bfda202f3ebcbfdc3eb9f5453e992a33becfcc4cbdba8c6e3fa76083bea760833ed00517bee5adc13e31f3693f000080bfa42d273e44bddf3eb9f5453e992a33becfcc4cbdb2ac303facac30bf6d015f3e00000000a6139a3e2322743f000080bf98f60e3fe36e113fc9503f3e9c1532be80b9d5bcb2ac303facac30bf6d015f3e00000000d9139a3e1a22743f000080bfa247133f0443103f9c15323ec9503fbe80b9d5bcb2ac303facac30bf6d015f3e000000000f149a3e1122743f000080bfa247133fdced0d3f992a333eb9f545becfcc4cbdb2ac303facac30bf6d015f3e00000000d0139a3e1c22743f000080bf98f60e3fb21e0e3f9c15323e80b9d5bc40c057bc45cd813e96f3843e1f8c6e3fc27f43bfbd1e253fe099e53c000080bfce8c7e3ea272003f0ad7233e5cb0d0bc3ae719bc45cd813e96f3843e1f8c6e3fe2bf43bffcd0243f957dea3c000080bff951833eb0a0fd3e0ad7233e07d723bd0e77b4bb45cd813e96f3843e1f8c6e3f3d5e43bf4647253f9c0ce33c000080bf0730803e0b66f93e0ad7233ececc4cbd6d562fbb45cd813e96f3843e1f8c6e3f813f43bf606c253f19b6e03c000080bfbb167c3ea979f63e992a333ecfcc4cbd60e2dabb45cd813e96f3843e1f8c6e3f813f43bf606c253f25b6e03c000080bf9fb5733e8c2afa3e9c15323e40c057bc80b9d5bc47015f3ebaac303fa4ac303f131d45bf9d560e3f7046a0be000080bf793f813ec2af023f0ad7233e3ae719bc5cb0d0bc47015f3ebaac303fa4ac303f161d45bf9c560e3f6e46a0be000080bf91c6853ea499013f0ad7233e5cb0d0bc3ae719bc47015f3ebaac303fa4ac303f181d45bf9a560e3f6646a0be000080bff951833eb0a0fd3e9c15323e80b9d5bc40c057bc47015f3ebaac303fa4ac303f171d45bf9b560e3f6a46a0be000080bfce8c7e3ea272003f9c15323e40c057bc80b9d5bc36cd813e248c6e3f89f3843e000000000458893e129e76bf000080bf11e5163f479e6f3f992a333e60e2dabbcfcc4cbd36cd813e248c6e3f89f3843e18ac86bafd92893ed09576bf000080bf1b361b3f1ccf6f3f0ad7233e77562fbbcecc4cbd36cd813e248c6e3f89f3843e7fb286ba0093893ed09576bf000080bf1b361b3f651b6d3f0ad7233e1877b4bb06d723bd36cd813e248c6e3f89f3843e00000000ce76893ec79976bf000080bff367193f651b6d3f0ad7233e3ae719bc5cb0d0bc36cd813e248c6e3f89f3843eaf62263be21c893e13a676bf000080bfa8c8163f651b6d3f992a333e60e2dabbcfcc4cbdacac303fb2ac303f74015f3e00000000cb139a3e1c2274bf000080bf1b361b3f1ccf6f3f9c15323e40c057bc80b9d5bcacac303fb2ac303f74015f3e00000000b0139a3e222274bf000080bf11e5163f479e6f3fc9503f3e80b9d5bc80b9d5bcacac303fb2ac303f74015f3e00000000c8139a3e1e2274bf000080bf11e5163f6ef3713fb9f5453ea011cdbccfcc4cbdacac303fb2ac303f74015f3e00000000de139a3e192274bf000080bf1b361b3f4e1f733fcbcc4c3ecbcc4cbdcbcc4cbdba8c6e3fa760833eaa60833ee22db6be73da013f97f0483f000080bfba655f3edc8d013fb9f5453ea011cdbccfcc4cbdba8c6e3fa760833eaa60833e9a89b6befcf7033f9a79473f000080bf5cbf6e3e212e043fc9503f3e80b9d5bc80b9d5bcba8c6e3fa760833eaa60833ef4e4b6bed52d063fa0e9453f000080bf56b0753e1466023fb9f5453ecfcc4cbda011cdbcba8c6e3fa760833eaa60833e9a89b6befcf7033f9a79473f000080bf7c1f673e5fb5ff3eb9f5453ecfcc4cbda011cdbca9ac303f3a015f3eb6ac303f56ab21bf109e253f72d0da3e000080bf7c1f673e5fb5ff3ec9503f3e80b9d5bc80b9d5bca9ac303f3a015f3eb6ac303f5dab21bf009e253f89d0da3e000080bf56b0753e1466023f9c15323e80b9d5bc40c057bca9ac303f3a015f3eb6ac303f65ab21bff19d253fa1d0da3e000080bfce8c7e3ea272003f992a333ecfcc4cbd60e2dabba9ac303f3a015f3eb6ac303f5bab21bf029e253f84d0da3e000080bf9fb5733e8c2afa3e9899193ecbcc4cbe999919bea360833eba8c6ebfae6083be000000009fed87be3fd0763f000080bf17d2f93ed39c093f9899193eb9f545be992a33bea360833eba8c6ebfae6083be27e4ec3a10b187be77d8763f000080bf58cef03ed39c093f9c15323ec9503fbe9c1532bea360833eba8c6ebfae6083be000000009eed87be3fd0763f000080bf0330f13edded0d3f992a333eb9f545be989919bea360833eba8c6ebfae6083beaad5ebba102a88becfc7763f000080bf17d2f93eb21e0e3f992a333eb9f545be989919beabac303fb0ac30bf76015fbe00000000ca139abe1c22743f000080bf17d2f93eb21e0e3f9c15323ec9503fbe9c1532beabac303fb0ac30bf76015fbe00000000af139abe2222743f000080bf0330f13edded0d3fc9503f3e9d1532be9c1532beabac303fb0ac30bf76015fbe00000000c7139abe1e22743f000080bf0330f13e0443103fb9f5453e992a33be989919beabac303fb0ac30bf76015fbe00000000de139abe1922743f000080bf18d2f93ee46e113fcbcc4c3e999919be989919bebd8c6e3faa6083be896083be035f54be3bf274bf9d8e503e000080bf7e51b83ea89a0b3fb9f5453e992a33be989919bebd8c6e3faa6083be896083be587253bed6d674bf807c533e000080bf6255c13e5ec00a3fc9503f3e9d1532be9c1532bebd8c6e3faa6083be896083bee67852be68b974bfa890563e000080bf54f3c03ef1de063fb9f5453e989919be992a33bebd8c6e3faa6083be896083be577253bed6d674bf7f7c533e000080bf1551b83e7490073fb9f5453e989919be992a33bea6ac303f6c015fbeb5ac30bf43b01dbe03db79bf60b01d3e000080bf1551b83e7490073fc9503f3e9d1532be9c1532bea6ac303f6c015fbeb5ac30bf54b01dbe05db79bf51b01d3e000080bf54f3c03ef1de063f9d15323e9c1532bec9503fbea6ac303f6c015fbeb5ac30bf47b01dbe05db79bf5fb01d3e000080bf54f3c03e7192033f992a333e989919beb9f545bea6ac303f6c015fbeb5ac30bf39b01dbe03db79bf6bb01d3e000080bf1551b83eeee0023f9999193e989919becbcc4cbeaa60833e896083bebd8c6ebf828f50be38f274bf6b5e543e000080bf7e51b83e74adfd3e992a333e989919beb9f545beaa60833e896083bebd8c6ebff07c53bed6d674bfe571533e000080bf1551b83eeee0023f9d15323e9c1532bec9503fbeaa60833e896083bebd8c6ebf9d9056be6eb974bf9a78523e000080bf54f3c03e7192033f9899193e992a33beb9f545beaa60833e896083bebd8c6ebfef7c53bed6d674bfe471533e000080bf6255c13e0a62ff3e9899193e992a33beb9f545be63015f3ebdac30bf9fac30bf00000000e50435bf0105353f000080bff62dea3ed39c093f9d15323e9c1532bec9503fbe63015f3ebdac30bf9fac30bf00000000e60435bfff04353f000080bfb485ec3edded0d3f9c15323ec9503fbe9c1532be63015f3ebdac30bf9fac30bf00000000e80435bffe04353f000080bf0330f13edded0d3f9899193eb9f545be992a33be63015f3ebdac30bf9fac30bf00000000e60435bfff04353f000080bf58cef03ed39c093f0ad7233efc4775bb87751dbeb660833eb68c6e3fbb6083beb33cec3a382a88bec9c776bf000080bfd3f12d3f651b6d3f0ad7233e6d562fbb989919beb660833eb68c6e3fbb6083be88edeb3a242a88becbc776bf000080bfa7432d3f651b6d3f992a333e60e2dabb989919beb660833eb68c6e3fbb6083be066ba33a9e1788be68ca76bf000080bfa7432d3f1ccf6f3f72a5203e465c78bb71a520beb660833eb68c6e3fbb6083bef33b07bca1d786be0bf476bf000080bfab812e3f418b6c3f87751d3e0e4875bb0ad723beb660833eb68c6e3fbb6083be5c0ad0ba86b887be77d776bf000080bfcf112f3f69fb6b3f9c15323e40c057bc9c1532beb660833eb68c6e3fbb6083be000000008efb87be54ce76bf000080bfb194313f479e6f3f9999193e77562fbb0ad723beb660833eb68c6e3fbb6083bee570ecba3db187be70d876bf000080bfcf112f3f3d4d6b3f9899193e60e2dabb992a33beb660833eb68c6e3fbb6083bea0f5ecba1bb187be75d876bf000080bf86c5313f3d4d6b3f9899193e60e2dabb992a33be3c015f3eb9ac303fa7ac30bf00000000eb0435bffb0435bf000080bf86c5313f3d4d6b3f9c15323e40c057bc9c1532be3c015f3eb9ac303fa7ac30bf00000000eb0435bffb0435bf000080bfb194313f479e6f3f9c15323e80b9d5bcc9503fbe3c015f3eb9ac303fa7ac30bf00000000ea0435bffc0435bf000080bfd8e9333f479e6f3f9899193ea011cdbcb9f545be3c015f3eb9ac303fa7ac30bf00000000ea0435bffb0435bf000080bfb815353f3d4d6b3f9899193ecbcc4cbdcbcc4cbea760833ea760833eba8c6ebf8d8f503e34f274bfa45e54be000080bf6436943e74adfd3e9899193ea011cdbcb9f545bea760833ea760833eba8c6ebf127d533ed2d674bf177253be000080bfcd328b3e0a62ff3e9c15323e80b9d5bcc9503fbea760833ea760833eba8c6ebfd690563e66b974bfc47852be000080bf13948b3e7192033f992a333ecfcc4cbdb9f545bea760833ea760833eba8c6ebf137d533ed2d674bf187253be000080bffc35943eeee0023f992a333ecfcc4cbdb9f545bea9ac303f39015f3eb6ac30bf3bb01d3e07db79bf1fb01dbe000080bffc35943eeee0023f9c15323e80b9d5bcc9503fbea9ac303f39015f3eb6ac30bf2cb01d3e07db79bf30b01dbe000080bf13948b3e7192033fc9503f3e80b9d5bc9d1532bea9ac303f39015f3eb6ac30bf3ab01d3e07db79bf20b01dbe000080bf13948b3ef1de063fb9f5453ecfcc4cbd992a33bea9ac303f39015f3eb6ac30bf46b01d3e07db79bf15b01dbe000080bffc35943e7490073fcbcc4c3ecbcc4cbd999919beba8c6e3fb460833ea26083be055f543e39f274bfba8e50be000080bf6436943ea89a0b3fb9f5453ecfcc4cbd992a33beba8c6e3fb460833ea26083be6272533ed6d674bf817c53be000080bffc35943e7490073fc9503f3e80b9d5bc9d1532beba8c6e3fb460833ea26083bef778523e68b974bf8a9056be000080bf13948b3ef1de063fb9f5453ea011cdbc989919beba8c6e3fb460833ea26083be6372533ed6d674bf817c53be000080bfcd328b3e5ec00a3fb9f5453ea011cdbc989919beb0ac303fabac303f76015fbe00000000de139abe192274bf000080bfa7432d3f4e1f733fc9503f3e80b9d5bc9d1532beb0ac303fabac303f76015fbe00000000c9139abe1c2274bf000080bfb294313f6ef3713f9c15323e40c057bc9c1532beb0ac303fabac303f76015fbe00000000b2139abe202274bf000080bfb194313f479e6f3f992a333e60e2dabb989919beb0ac303fabac303f76015fbe00000000cc139abe1c2274bf000080bfa7432d3f1ccf6f3fcbcc4c3dcbcc4cbecbcc4cbda86083beba8c6ebfa660833e000000009aed873e3fd0763f000080bf98f60e3f8c1eef3ecfcc4c3db9f545be9811cdbca86083beba8c6ebfa660833ec8bbec3a13b1873e77d8763f000080bf7778133f8d1eef3e80b9d53cc9503fbe78b9d5bca86083beba8c6ebfa660833e000000009aed873e3fd0763f000080bfa247133f787ce63ea011cd3cb9f545becbcc4cbda86083beba8c6ebfa660833e3cbcebba022a883ecfc7763f000080bf98f60e3fcf1ae63ea011cd3cb9f545becbcc4cbdb1ac30bfb2ac30bf32015f3e0000000091139a3e2522743f000080bf98f60e3fcf1ae63e80b9d53cc9503fbe78b9d5bcb1ac30bfb2ac30bf32015f3e0000000075139a3e2b22743f000080bfa247133f787ce63e40c0573c9d1532be78b9d5bcb1ac30bfb2ac30bf32015f3e000000008f139a3e2722743f000080bfa247133f2bd2e13e60e2da3b992a33becbcc4cbdb1ac30bfb2ac30bf32015f3e00000000a5139a3e2322743f000080bf98f60e3f6c7adf3e6d562f3b0ad723becbcc4cbd268c6ebf34cd81be84f3843e6570863e6e0477bf00000000000080bfd482d93d693b503f60e2da3b992a33becbcc4cbd268c6ebf34cd81be84f3843e9145863e360a77bf1e928aba000080bf8e20ef3d693b503f40c0573c9d1532be78b9d5bc268c6ebf34cd81be84f3843ef397863ef9fe76bfa1fcb23a000080bfe699ed3d5fea4b3f38e7193c0ad723be54b0d0bc268c6ebf34cd81be84f3843ec5c3863ed4f876bff0202e3b000080bfd482d93df6cd4b3f0677b43b0ad723be07d723bd268c6ebf34cd81be84f3843e0000803f0000000000000000000080bfd482d93d416d4e3f5cb0d03c0ad723be23e719bcb5ac30bf21015fbeadac303f0d149a3e132274bf00000000000080bfd482d93dc2e6483f38e7193c0ad723be54b0d0bcb5ac30bf21015fbeadac303fe5139a3e192274bf00000000000080bfd482d93df6cd4b3f40c0573c9d1532be78b9d5bcb5ac30bf21015fbeadac303fc8139a3e1e2274bf00000000000080bfe699ed3d5fea4b3f80b9d53c9c1532be20c057bcb5ac30bf21015fbeadac303ff4139a3e172274bf00000000000080bfe699ed3d3895493f06d7233d0ad723befd76b4bb6df384be26cd81be2a8c6e3ff3dd45bfad0e223fe5c730bd000080bfbf60823ee9b8bd3e5cb0d03c0ad723be23e719bc6df384be26cd81be2a8c6e3ffb5644bf1af7233f89aa21bd000080bf90c6853e59baba3e80b9d53c9c1532be20c057bc6df384be26cd81be2a8c6e3f7e5845bfa3b6223fb4992bbd000080bf20f9813e3e62b73ecfcc4c3d992a33be40e2dabb6df384be26cd81be2a8c6e3fb35746bf5174213fab8635bd000080bf7a45783e0c05bc3ececc4c3d0ad723be5d562fbb6df384be26cd81be2a8c6e3fb05746bf5474213f8b8635bd000080bf5c0d803ea0c5bf3ecfcc4c3d992a33be40e2dabb53015fbeafac30bfb0ac303f00000000ef04353ff704353f000080bfa8c8163f8c1eef3e80b9d53c9c1532be20c057bc53015fbeafac30bfb0ac303f00000000f304353ff404353f000080bfc99c153f787ce63e80b9d53cc9503fbe78b9d5bc53015fbeafac30bfb0ac303f00000000f304353ff204353f000080bfa247133f787ce63ecfcc4c3db9f545be9811cdbc53015fbeafac30bfb0ac303f00000000f004353ff604353f000080bf7778133f8d1eef3ecbcc4c3dcbcc4cbe989919bea36083bebc8c6ebfa86083be000000009bed87be3fd0763f000080bf17d2f93e8d1eef3e9811cd3cb9f545be989919bea36083bebc8c6ebfa86083be7df2eb3a102a88becfc7763f000080bf16d2f93ecf1ae63e78b9d53cc9503fbe9c1532bea36083bebc8c6ebfa86083be000000009ded87be3fd0763f000080bf0230f13e797ce63ecbcc4c3db9f545be992a33bea36083bebc8c6ebfa86083be1ee3ecba09b187be77d8763f000080bf58cef03e8d1eef3ecbcc4c3db9f545be992a33be3a015fbeb7ac30bfa9ac30bf00000000eb0435bffa04353f000080bf58cef03e8d1eef3e78b9d53cc9503fbe9c1532be3a015fbeb7ac30bfa9ac30bf00000000eb0435bffa04353f000080bf0230f13e797ce63e78b9d53c9d1532bec9503fbe3a015fbeb7ac30bfa9ac30bf00000000ec0435bffa04353f000080bfb485ec3e797ce63ecbcc4c3d992a33beb9f545be3a015fbeb7ac30bfa9ac30bf00000000ec0435bffa04353f000080bff62dea3e8d1eef3ecbcc4c3d999919becbcc4cbeb26083bea06083beba8c6ebf2f57abbe2f8261bf7b60ab3e000080bfb853b83e9a25e43ecbcc4c3d992a33beb9f545beb26083bea06083beba8c6ebfa178a8be002262bf3aeeaa3e000080bf9c57c13e2fdae53e78b9d53c9d1532bec9503fbeb26083bea06083beba8c6ebf2d57abbe2f8261bf7b60ab3e000080bfa0f6c03e8167e13e9811cd3c989919beb9f545beb26083bea06083beba8c6ebf0e34aebe2be060bf0fd1ab3e000080bf6d54b83e5d7adf3e9811cd3c989919beb9f545beabac30bf24015fbeb8ac30bfc4139a3e1e2274bf00000000000080bf9611cb3d061b6a3f78b9d53c9d1532bec9503fbeabac30bf24015fbeb8ac30bf83139a3e292274bf00000000000080bfe899ed3d26ef683f20c0573c9c1532be9d1532beabac30bf24015fbeb8ac30bf3f139a3e322274bf00000000000080bfe699ed3d009a663f40e2da3b989919be992a33beabac30bf24015fbeb8ac30bf8c139a3e272274bf00000000000080bf9611cb3dd4ca663f5062843bc9881ebe0ad723bebc8c6ebf446283befe5e83be732b883e9dc776bf2352ebba000080bf2a07d23d1d17643f54562f3b989919be0ad723bebc8c6ebf446283befe5e83be7f2b883e9dc776bf3a80ebba000080bf9411cb3d1d17643f40e2da3b989919be992a33bebc8c6ebf446283befe5e83be0b1d883ea7c976bff0edb2ba000080bf9611cb3dd4ca663f65e8893bda6c21bedb6c21bebc8c6ebf446283befe5e83beeffe863e41ef76bf81d5e93b000080bff21ad63d21aa633f05678b3bb9e522be073320bebc8c6ebf446283befe5e83be9802863e220c77bfe3b06e3c000080bf7a2ed83dce72633f5572893b0ad723becd171fbebc8c6ebf446283befe5e83be97b8873e73d776bf3a82d53a000080bfd482d93ddf40633f20c0573c9c1532be9d1532bebc8c6ebf446283befe5e83bee5f9873e8dce76bf00000000000080bfe699ed3d009a663f5d562f3b0ad723be999919bebc8c6ebf446283befe5e83be8eb2873e41d876bfce03ed3a000080bfd482d93df648623f40e2da3b992a33be989919bebc8c6ebf446283befe5e83bea8b2873e3ed876bf9aa1ec3a000080bf8e20ef3df548623f40e2da3b992a33be989919beb4ac30bfacac30bf32015fbe00000000bb139abe2022743f000080bf16d2f93e6c7adf3e20c0573c9c1532be9d1532beb4ac30bfacac30bf32015fbe00000000b2139abe2022743f000080bf0230f13e2bd2e13e78b9d53cc9503fbe9c1532beb4ac30bfacac30bf32015fbe00000000aa139abe2222743f000080bf0230f13e797ce63e9811cd3cb9f545be989919beb4ac30bfacac30bf32015fbe00000000b3139abe2022743f000080bf16d2f93ecf1ae63ececc4c3d6d562fbb0ad723be90f384be218c6e3f40cd81be000000007e7086be6a0477bf000080bfcf112f3fb03f593fcfcc4c3d60e2dabb992a33be90f384be218c6e3f40cd81be6fe8893acb4586be2d0a77bf000080bf86c5313fb13f593f80b9d53c40c057bc9c1532be90f384be218c6e3f40cd81be0fbab2baef9786befbfe76bf000080bfb194313fa6ee543f5cb0d03c3ae719bc0ad723be90f384be218c6e3f40cd81beb1c02dbba1c386bed8f876bf000080bfcf112f3f3ed2543f07d7233d0e77b4bb0ad723be90f384be218c6e3f40cd81be0000803f0000000000000000000080bfcf112f3f8971573f3ae7193c5cb0d0bc0ad723beb5ac30bfabac303f3d015fbeed0435bff80435bf00000000000080bfe0cc393c1d17643f5cb0d03c3ae719bc0ad723beb5ac30bfabac303f3d015fbeee0435bff70435bf00000000000080bf000000001d17643f80b9d53c40c057bc9c1532beb5ac30bfabac303f3d015fbeed0435bff80435bf00000000000080bf50752e3b009a663f40c0573c80b9d5bc9c1532beb5ac30bfabac303f3d015fbeed0435bff90435bf00000000000080bf10e7403c009a663f40c0573c80b9d5bc9c1532be248c6ebf89f3843e36cd81bef85789be139e76bf00000000000080bf10e7403c009a663f60e2da3bcfcc4cbd992a33be248c6ebf89f3843e36cd81bee19289bed59576bfe439863a000080bfcb94ea3cd4ca663f77562f3bcecc4cbd0ad723be248c6ebf89f3843e36cd81beed9289bed49576bff966863a000080bfc994ea3c1d17643f1877b43b06d723bd0ad723be248c6ebf89f3843e36cd81becf7689bec79976bf00000000000080bfcbcfb03c1d17643f3ae7193c5cb0d0bc0ad723be248c6ebf89f3843e36cd81bee21c89be13a676bfae6226bb000080bfe0cc393c1d17643f60e2da3bcfcc4cbd992a33beb2ac30bf74015f3eacac30bfa6139abe232274bf00000000000080bfcb94ea3cd4ca663f40c0573c80b9d5bc9c1532beb2ac30bf74015f3eacac30bf53139abe302274bf00000000000080bf10e7403c009a663f80b9d53c80b9d5bcc9503fbeb2ac30bf74015f3eacac30bf9a139abe252274bf00000000000080bf10e7403c26ef683fa011cd3ccfcc4cbdb9f545beb2ac30bf74015f3eacac30bfde139abe192274bf00000000000080bfcb94ea3c061b6a3fcbcc4c3dcbcc4cbdcbcc4cbea76083beaa60833eba8c6ebf6957ab3e228261bf8860abbe000080bf9f38943e9a25e43ea011cd3ccfcc4cbdb9f545bea76083beaa60833eba8c6ebf6534ae3e16e060bf22d1abbe000080bf5439943e5d7adf3e80b9d53c80b9d5bcc9503fbea76083beaa60833eba8c6ebf6a57ab3e218261bf8960abbe000080bf5f978b3e8267e13ecfcc4c3da011cdbcb9f545bea76083beaa60833eba8c6ebfc078a83efa2162bf41eeaabe000080bf08358b3e2fdae53ecfcc4c3da011cdbcb9f545be3a015fbeb6ac303fa9ac30bf00000000ec0435bff90435bf000080bfb815353fb13f593f80b9d53c80b9d5bcc9503fbe3a015fbeb6ac303fa9ac30bf00000000ec0435bffa0435bf000080bfd8e9333fa6ee543f80b9d53c40c057bc9c1532be3a015fbeb6ac303fa9ac30bf00000000ec0435bffa0435bf000080bfb194313fa6ee543fcfcc4c3d60e2dabb992a33be3a015fbeb6ac303fa9ac30bf00000000eb0435bffa0435bf000080bf86c5313fb13f593f9899193ecbcc4cbe999919bedc53843e5a4d77bf0000000000000000000000000000803f000080bf17d2f93ed39c093f992a333eb9f545be989919bedc53843e5a4d77bf0000000000000000000000000000803f000080bf17d2f93eb21e0e3f992a333eb9f545becfcc4cbddc53843e5a4d77bf0000000000000000000000000000803f000080bf98f60e3fb21e0e3f9999193ecbcc4cbecbcc4cbddc53843e5a4d77bf0000000000000000000000000000803f000080bf98f60e3fd39c093f992a333eb9f545be989919bef404353ff10435bf0000000000000000000000000000803f000080bf17d2f93eb21e0e3fb9f5453e992a33be989919bef404353ff10435bf0000000000000000000000000000803f000080bf18d2f93ee46e113fb9f5453e992a33becfcc4cbdf404353ff10435bf0000000000000000000000000000803f000080bf98f60e3fe36e113f992a333eb9f545becfcc4cbdf404353ff10435bf0000000000000000000000000000803f000080bf98f60e3fb21e0e3fb9f5453e992a33be989919be564d773ff15384be000000003d1e80be446f6fbff21d803e000080bf6255c13e5ec00a3fcbcc4c3e999919be989919be564d773ff15384be000000003d1e80be426f6fbf061e803e000080bf7e51b83ea89a0b3fcbcc4c3e989919becbcc4cbd564d773ff15384be00000000361e80be366f6fbf691e803e000080bfb853b83e965e183fb9f5453e992a33becfcc4cbd564d773ff15384be00000000371e80be376f6fbf551e803e000080bf9c57c13e4b84173f992a333ecfcc4cbd60e2dabb0254843e00000000554d773fa5b739bf860b293ffcbf463e000080bf9fb5733e8c2afa3e0ad7233ececc4cbd6d562fbb0254843e00000000554d773fa3b739bf8a0b293ff6bf463e000080bfbb167c3ea979f63e0ad7233e999919be77562fbb0254843e00000000554d773f81b739bfb00b293fd5bf463e000080bfe85a4c3ef761db3e992a333e989919be60e2dabb0254843e00000000554d773f84b739bfab0b293fd7bf463e000080bfcdf9433edc12df3e992a333e989919be60e2dabbf104353f00000000f404353f692b0ebf6d771e3f672b0e3f000080bfcdf9433edc12df3eb9f5453e989919bea011cdbcf104353f00000000f404353f6b2b0ebf6a771e3f6a2b0e3f000080bfaa63373eae9de43eb9f5453ecfcc4cbda011cdbcf104353f00000000f404353f602b0ebf7e771e3f5e2b0e3f000080bf7c1f673e5fb5ff3e992a333ecfcc4cbd60e2dabbf104353f00000000f404353f5e2b0ebf80771e3f5b2b0e3f000080bf9fb5733e8c2afa3eb9f5453e989919bea011cdbc584d773f00000000e353843e81136ebe0ba1df3e3a775e3f000080bfaa63373eae9de43ecbcc4c3e989919becbcc4cbd584d773f00000000e353843e7e136ebe16a1df3e37775e3f000080bfe8a92f3e0804e83ecbcc4c3ecbcc4cbdcbcc4cbd584d773f00000000e353843e8c136ebedea0df3e44775e3f000080bfba655f3edc8d013fb9f5453ecfcc4cbda011cdbc584d773f00000000e353843e8e136ebed4a0df3e46775e3f000080bf7c1f673e5fb5ff3e992a333e60e2dabb989919be0954843e534d773f000000000000000000000000000080bf000080bfa7432d3f1ccf6f3f0ad7233e6d562fbb989919be0954843e534d773f000000000000000000000000000080bf000080bfa7432d3f651b6d3f0ad7233e77562fbbcecc4cbd0954843e534d773f000000000000000000000000000080bf000080bf1b361b3f651b6d3f992a333e60e2dabbcfcc4cbd0954843e534d773f000000000000000000000000000080bf000080bf1b361b3f1ccf6f3f992a333e60e2dabbcfcc4cbdf304353ff304353f000000000000000000000000000080bf000080bf1b361b3f1ccf6f3fb9f5453ea011cdbccfcc4cbdf304353ff304353f000000000000000000000000000080bf000080bf1b361b3f4e1f733fb9f5453ea011cdbc989919bef304353ff304353f000000000000000000000000000080bf000080bfa7432d3f4e1f733f992a333e60e2dabb989919bef304353ff304353f000000000000000000000000000080bf000080bfa7432d3f1ccf6f3fb9f5453ea011cdbccfcc4cbd554d773ffa53843e000000003f1e803e366f6fbf5f1e80be000080bf07358b3e4b84173fcbcc4c3ecbcc4cbdcbcc4cbd554d773ffa53843e000000003d1e803e346f6fbf6f1e80be000080bf9f38943e965e183fcbcc4c3ecbcc4cbd999919be554d773ffa53843e00000000441e803e3e6f6fbf171e80be000080bf6436943ea89a0b3fb9f5453ea011cdbc989919be554d773ffa53843e00000000461e803e426f6fbf051e80be000080bfcd328b3e5ec00a3f9899193ecbcc4cbdcbcc4cbeed53843e00000000564d77bf00000000000080bf00000000000080bf6436943e74adfd3e992a333ecfcc4cbdb9f545beed53843e00000000564d77bf00000000000080bf00000000000080bffc35943eeee0023f992a333e989919beb9f545beed53843e00000000564d77bf00000000000080bf00000000000080bf1551b83eeee0023f9999193e989919becbcc4cbeed53843e00000000564d77bf00000000000080bf00000000000080bf7e51b83e74adfd3e992a333ecfcc4cbdb9f545bef104353f00000000f40435bf00000000000080bf00000000000080bffc35943eeee0023fb9f5453ecfcc4cbd992a33bef104353f00000000f40435bf00000000000080bf00000000000080bffc35943e7490073fb9f5453e989919be992a33bef104353f00000000f40435bf00000000000080bf00000000000080bf1551b83e7490073f992a333e989919beb9f545bef104353f00000000f40435bf00000000000080bf00000000000080bf1551b83eeee0023fb9f5453ecfcc4cbd992a33be5a4d773f00000000dc5384be00000000000080bf00000000000080bffc35943e7490073fcbcc4c3ecbcc4cbd999919be5a4d773f00000000dc5384be00000000000080bf00000000000080bf6436943ea89a0b3fcbcc4c3e999919be989919be5a4d773f00000000dc5384be00000000000080bf00000000000080bf7e51b83ea89a0b3fb9f5453e989919be992a33be5a4d773f00000000dc5384be00000000000080bf00000000000080bf1551b83e7490073fcbcc4c3dcbcc4cbe989919be00000000564d77bff25384be00000000f25384be564d773f000080bf17d2f93e8d1eef3ecbcc4c3db9f545be992a33be00000000564d77bff25384be00000000f35384be564d773f000080bf58cef03e8d1eef3e9899193eb9f545be992a33be00000000564d77bff25384be00000000f35384be564d773f000080bf58cef03ed39c093f9899193ecbcc4cbe999919be00000000564d77bff25384be00000000f25384be564d773f000080bf17d2f93ed39c093fcbcc4c3db9f545be992a33be00000000f30435bff40435bf00000000f30435bff304353f000080bf58cef03e8d1eef3ecbcc4c3d992a33beb9f545be00000000f30435bff40435bf00000000f30435bff304353f000080bff62dea3e8d1eef3e9899193e992a33beb9f545be00000000f30435bff40435bf00000000f30435bff304353f000080bff62dea3ed39c093f9899193eb9f545be992a33be00000000f30435bff40435bf00000000f30435bff304353f000080bf58cef03ed39c093fcbcc4c3d992a33beb9f545be00000000f15384be564d77bf4a1e80be396f6fbf381e803e000080bf9c57c13e2fdae53ecbcc4c3d999919becbcc4cbe00000000f15384be564d77bf3d1e80be3b6f6fbf3b1e803e000080bfb853b83e9a25e43e9999193e989919becbcc4cbe00000000f15384be564d77bf821e80be326f6fbf341e803e000080bf7e51b83e74adfd3e9899193e992a33beb9f545be00000000f15384be564d77bf8f1e80be306f6fbf321e803e000080bf6255c13e0a62ff3ececc4c3d6d562fbb0ad723be00000000554d773ffe5384be00000000fe5384be554d77bf000080bfcf112f3fb03f593f9999193e77562fbb0ad723be00000000554d773ffe5384be00000000fe5384be554d77bf000080bfcf112f3f3d4d6b3f9899193e60e2dabb992a33be00000000554d773ffe5384be00000000fe5384be554d77bf000080bf86c5313f3d4d6b3fcfcc4c3d60e2dabb992a33be00000000554d773ffe5384be00000000fe5384be554d77bf000080bf86c5313fb13f593f9899193e60e2dabb992a33be00000000f404353ff10435bf00000000f30435bff40435bf000080bf86c5313f3d4d6b3f9899193ea011cdbcb9f545be00000000f404353ff10435bf00000000f30435bff40435bf000080bfb815353f3d4d6b3fcfcc4c3da011cdbcb9f545be00000000f404353ff10435bf00000000f30435bff40435bf000080bfb815353fb13f593fcfcc4c3d60e2dabb992a33be00000000f404353ff10435bf00000000f30435bff40435bf000080bf86c5313fb13f593f9899193ea011cdbcb9f545be00000000e353843e584d77bf831e803e346f6fbf271e80be000080bfcd328b3e0a62ff3e9899193ecbcc4cbdcbcc4cbe00000000e353843e584d77bf761e803e366f6fbf271e80be000080bf6436943e74adfd3ecbcc4c3dcbcc4cbdcbcc4cbe00000000e353843e584d77bf371e803e3e6f6fbf2c1e80be000080bf9f38943e9a25e43ecfcc4c3da011cdbcb9f545be00000000e353843e584d77bf421e803e3d6f6fbf2b1e80be000080bf08358b3e2fdae53e40e2da3b989919be992a33be554d77bfa7381134fe5384be00000000000080bf00000000000080bf9611cb3dd4ca663f54562f3b989919be0ad723be554d77bfa7381134fe5384be00000000000080bf00000000000080bf9411cb3d1d17643f77562f3bcecc4cbd0ad723be554d77bfa7381134fe5384be00000000000080bf00000000000080bfc994ea3c1d17643f60e2da3bcfcc4cbd992a33be554d77bfa7381134fe5384be00000000000080bf00000000000080bfcb94ea3cd4ca663f60e2da3bcfcc4cbd992a33bef30435bfeb320434f30435bf00000000000080bf00000000000080bfcb94ea3cd4ca663fa011cd3ccfcc4cbdb9f545bef30435bfeb320434f30435bf00000000000080bf00000000000080bfcb94ea3c061b6a3f9811cd3c989919beb9f545bef30435bfeb320434f30435bf00000000000080bf00000000000080bf9611cb3d061b6a3f40e2da3b989919be992a33bef30435bfeb320434f30435bf00000000000080bf00000000000080bf9611cb3dd4ca663fa011cd3ccfcc4cbdb9f545bef85384be00000000554d77bf00000000000080bf00000000000080bf5439943e5d7adf3ecbcc4c3dcbcc4cbdcbcc4cbef85384be00000000554d77bf00000000000080bf00000000000080bf9f38943e9a25e43ecbcc4c3d999919becbcc4cbef85384be00000000554d77bf00000000000080bf00000000000080bfb853b83e9a25e43e9811cd3c989919beb9f545bef85384be00000000554d77bf00000000000080bf00000000000080bf6d54b83e5d7adf3ecbcc4c3dcbcc4cbecbcc4cbdf75384be564d77bf0000000000000000000000000000803f000080bf98f60e3f8c1eef3ea011cd3cb9f545becbcc4cbdf75384be564d77bf0000000000000000000000000000803f000080bf98f60e3fcf1ae63e9811cd3cb9f545be989919bef75384be564d77bf0000000000000000000000000000803f000080bf16d2f93ecf1ae63ecbcc4c3dcbcc4cbe989919bef75384be564d77bf0000000000000000000000000000803f000080bf17d2f93e8d1eef3ea011cd3cb9f545becbcc4cbdf30435bff40435bf83b8d83300000000000000000000803f000080bf98f60e3fcf1ae63e60e2da3b992a33becbcc4cbdf30435bff40435bf83b8d83300000000000000000000803f000080bf98f60e3f6c7adf3e40e2da3b992a33be989919bef30435bff40435bf83b8d83300000000000000000000803f000080bf16d2f93e6c7adf3e9811cd3cb9f545be989919bef30435bff40435bf83b8d83300000000000000000000803f000080bf16d2f93ecf1ae63e6d562f3b0ad723becbcc4cbd554d77bf025484be000000000254843e554d77bf00000000000080bfd482d93d693b503f5d562f3b0ad723be999919be554d77bf025484be000000000154843e554d77bf00000000000080bfd482d93df648623f40e2da3b992a33be989919be554d77bf025484be000000000254843e554d77bf00000000000080bf8e20ef3df548623f60e2da3b992a33becbcc4cbd554d77bf025484be000000000154843e554d77bf00000000000080bf8e20ef3d693b503f9999193ecbcc4cbecbcc4cbd00000000554d77bff853843e00000000f853843e564d773f000080bf98f60e3fd39c093f9899193eb9f545bea011cdbc00000000554d77bff853843e00000000f853843e564d773f000080bf7778133fd29c093fcfcc4c3db9f545be9811cdbc00000000554d77bff853843e00000000f853843e564d773f000080bf7778133f8d1eef3ecbcc4c3dcbcc4cbecbcc4cbd00000000554d77bff853843e00000000f853843e564d773f000080bf98f60e3f8c1eef3e9899193eb9f545bea011cdbc00000000f30435bff304353f00000000f204353ff304353f000080bf7778133fd29c093f9899193e992a33be60e2dabb00000000f30435bff304353f00000000f204353ff304353f000080bfa8c8163fd29c093fcfcc4c3d992a33be40e2dabb00000000f30435bff304353f00000000f304353ff304353f000080bfa8c8163f8c1eef3ecfcc4c3db9f545be9811cdbc00000000f30435bff304353f00000000f304353ff304353f000080bf7778133f8d1eef3e9899193e0ad723be6d562fbb00000000fe5384be554d773fad043bbf06e0283fc9b9343e000080bf5eb84c3edf68d63ececc4c3d0ad723be5d562fbb00000000fe5384be554d773fc8043bbfecdf283fabb9343e000080bf5c0d803ea0c5bf3ecfcc4c3d992a33be40e2dabb00000000fe5384be554d773fc6043bbfefdf283fb1b9343e000080bf7a45783e0c05bc3e9899193e992a33be60e2dabb00000000fe5384be554d773faa043bbf0ce0283fceb9343e000080bf20e3443e4ca8d23e9899193ecbcc4cbe999919be00000000000080bf0000000000000000000000000000803f000080bf17d2f93ed39c093f9999193ecbcc4cbecbcc4cbd00000000000080bf0000000000000000000000000000803f000080bf98f60e3fd39c093fcbcc4c3dcbcc4cbecbcc4cbd00000000000080bf0000000000000000000000000000803f000080bf98f60e3f8c1eef3ecbcc4c3dcbcc4cbe989919be00000000000080bf0000000000000000000000000000803f000080bf17d2f93e8d1eef3e - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.19999997, y: 0.19999997, z: 0.19999997} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 3.0308292 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: ---- !u!1 &2121825121 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} - m_PrefabInstance: {fileID: 343040741} - m_PrefabAsset: {fileID: 0} ---- !u!4 &2121825122 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} - m_PrefabInstance: {fileID: 343040741} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4996353036765796752} + - {fileID: 5155727875416655660} + - {fileID: 6436482240471706216} + - {fileID: 4063676189284294459} + m_Father: {fileID: 1008284944111624865} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8660961134141084188 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} ---- !u!64 &2121825125 -MeshCollider: + serializedVersion: 6 + m_Component: + - component: {fileID: 4387283731022205860} + - component: {fileID: 7276770494045272690} + - component: {fileID: 2353950120760105551} + m_Layer: 0 + m_Name: Trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &8661329633579594116 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2121825121} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 564343745990615316} m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: -4437772860958094431, guid: be0e1e3e3f7708e4ca1d7556ae7893bc, type: 3} ---- !u!1 &2131842498 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b19db2de414f1e347bab5bf4426be20d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FallbackIfEyeTrackingUnavailable: 1 +--- !u!1 &8676005946244915226 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -15094,30 +17397,45 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2131842499} + - component: {fileID: 8778797924605353090} + - component: {fileID: 7379832885526606836} + - component: {fileID: 5059913214602055822} m_Layer: 0 - m_Name: Ring_Tip_Left + m_Name: Bumper m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2131842499 -Transform: +--- !u!114 &8695587646629047512 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2131842498} - m_LocalRotation: {x: 0.000000011175867, y: -0.000000022351747, z: -0.00000020395967, w: 1} - m_LocalPosition: {x: -0.020554436, y: 0.000000114440915, z: -0.00000007867813} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1481350550} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2139940512 + m_GameObject: {fileID: 3412231637938515386} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9b3d17eeb2e6bc47ada81d8f7f638d8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_GazeInteractor: {fileID: 8096066991363713888} + m_FallbackDivergence: 60 + m_HideCursorWithNoActiveRays: 1 + m_RayInteractors: + - m_Interactor: {fileID: 0} + m_TeleportRay: 0 + - m_Interactor: {fileID: 0} + m_TeleportRay: 1 + - m_Interactor: {fileID: 0} + m_TeleportRay: 0 + - m_Interactor: {fileID: 0} + m_TeleportRay: 1 + m_AimAssistRequiredAngle: 30 + m_AimAssistRequiredSpeed: 0.25 + m_AimAssistPercent: 0.8 + m_AimAssistMaxSpeedPercent: 10 +--- !u!1 &8721447093911992910 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -15125,31 +17443,81 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2139940513} + - component: {fileID: 4182470257755192204} + - component: {fileID: 1711562312829489948} m_Layer: 0 - m_Name: Middle_Palm_Left + m_Name: Gaze Stabilized m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2139940513 + m_IsActive: 0 +--- !u!4 &8778797924605353090 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2139940512} - m_LocalRotation: {x: 0.99872494, y: -0.046419356, z: -0.015558949, w: -0.012318821} - m_LocalPosition: {x: -0.05391815, y: 0.0050031445, z: 0.0017454529} + m_GameObject: {fileID: 8676005946244915226} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000013985816, y: -0.1305262, z: 0.000000018412676, w: 0.9914449} + m_LocalPosition: {x: -0.012636564, y: -0.028556997, z: 0.027326612} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2030842803} - m_Father: {fileID: 1909973946} - m_RootOrder: 2 + m_Children: [] + m_Father: {fileID: 9191415921813784219} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2140681946 +--- !u!114 &8828401783147873184 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5573389152138464832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractorSource: {fileID: 6133702203495907637} + m_IgnoreHoverEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 1 + m_IgnoreUGUIHover: 0 + m_IgnoreUGUISelect: 0 + m_IgnoreXRInteractionEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!1 &8836885643322015679 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -15157,45 +17525,114 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2140681947} - - component: {fileID: 2140681948} + - component: {fileID: 7726587846299096489} m_Layer: 0 - m_Name: Collider (4) + m_Name: Poke Point Affordances m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2140681947 -Transform: +--- !u!114 &8850411173210485318 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2140681946} - m_LocalRotation: {x: 0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: -0.245, y: 0, z: -0.004} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 660021081} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 90, z: 90} ---- !u!136 &2140681948 -CapsuleCollider: + m_GameObject: {fileID: 1585487133833722341} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496880615cd240be960d436c1c8ae570, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 2401395827670043856} + m_TransformationPriority: 0 + m_ClimbSettings: + m_UseConstant: 1 + m_ConstantValue: + m_AllowFreeXMovement: 1 + m_AllowFreeYMovement: 1 + m_AllowFreeZMovement: 1 + m_Variable: {fileID: 0} +--- !u!23 &8882211879289209445 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2140681946} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 2583086854053857846} m_Enabled: 1 - m_Radius: 0.02 - m_Height: 0.2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &2146657146 + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &8909806846597705552 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 435968174823160039} + m_Layer: 0 + m_Name: Poke Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &9011526009913063836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6359506408514918193} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 435968174823160039} + m_AimTargetObject: {fileID: 764665970482468834} + m_UseLocalSpace: 0 + m_AngleStabilization: 20 + m_PositionStabilization: 0.25 +--- !u!1 &9024350238825505196 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -15203,27 +17640,173 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 2146657147} + - component: {fileID: 4812156106108496837} + - component: {fileID: 7790304902317439964} + - component: {fileID: 2705125127577650707} m_Layer: 0 - m_Name: Ring_1_Left + m_Name: Controller_Base m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2146657147 +--- !u!4 &9061978664655599187 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7193882759593642188} + 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: 5091508808143647695} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &9069410611224085996 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6359506408514918193} + 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: + - {fileID: 2683287926882365439} + m_Father: {fileID: 1008284944111624865} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!4 &9099370170554531971 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5607850261338113084} + 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: + - {fileID: 435968174823160039} + - {fileID: 5948305712812316948} + m_Father: {fileID: 6314179924109280940} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &9107287204640775737 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2798410165253765510} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dca6b5fc8485ffd4c88bf8ae060949bc, 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!114 &9113964301892253528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5573389152138464832} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Renderer: {fileID: 5445689226051439499} + m_MaterialIndex: 0 +--- !u!33 &9187329214229572105 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2927895350547920926} + m_Mesh: {fileID: -2014588322676101042, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!4 &9191415921813784219 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2146657146} - m_LocalRotation: {x: -0.00025817356, y: 0.00035699108, z: -0.14537643, w: 0.9893763} - m_LocalPosition: {x: -0.036576994, y: 0.00000019073485, z: 0.0000001502037} + m_GameObject: {fileID: 8414316994289261601} + 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: - - {fileID: 933831182} - m_Father: {fileID: 695049119} - m_RootOrder: 0 + - {fileID: 8778797924605353090} + - {fileID: 8164615715196189742} + - {fileID: 4812156106108496837} + - {fileID: 7379614265931015409} + - {fileID: 7425273342673865614} + - {fileID: 562656882107642631} + m_Father: {fileID: 4063676189284294459} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9202195206050319326 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6715956624062698777} + m_Mesh: {fileID: 5083779560280695074, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1364604472} + - {fileID: 1815494806} + - {fileID: 6160975337800433054} + - {fileID: 308985786} + - {fileID: 286338418} + - {fileID: 705507995} + - {fileID: 1527860102} + - {fileID: 1756511964} + - {fileID: 33704422} + - {fileID: 813701130} + - {fileID: 1743725476} + - {fileID: 248065651} diff --git a/Demo/Runtime/StaticAssets/Materials/Conveyor.mat b/Demo/Runtime/StaticAssets/Materials/Conveyor.mat index 079f3f952..6f8d9bdfd 100644 --- a/Demo/Runtime/StaticAssets/Materials/Conveyor.mat +++ b/Demo/Runtime/StaticAssets/Materials/Conveyor.mat @@ -2,23 +2,33 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Conveyor - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +65,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +105,34 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &4394630849495558957 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/Runtime/StaticAssets/Materials/Interactable.mat b/Demo/Runtime/StaticAssets/Materials/Interactable.mat index 56fc386c8..2389a1a8e 100644 --- a/Demo/Runtime/StaticAssets/Materials/Interactable.mat +++ b/Demo/Runtime/StaticAssets/Materials/Interactable.mat @@ -1,24 +1,47 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-272127593926176777 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Interactable - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +78,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.815 - _GlossyReflections: 1 @@ -67,12 +118,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.815 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0.7490196, g: 0.7490196, b: 0.7490196, a: 1} - _Color: {r: 0.7490196, g: 0.7490196, b: 0.7490196, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat b/Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat index 1433ebcae..7218b0bca 100644 --- a/Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat +++ b/Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat @@ -1,24 +1,47 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3521980240719700933 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: InteractableTrim - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +78,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.74 - _GlossyReflections: 1 @@ -67,12 +118,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.74 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0.8745098, g: 0, b: 1, a: 1} - _Color: {r: 0.8745098, g: 0, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/Light.mat b/Demo/Runtime/StaticAssets/Materials/Light.mat index 90435035c..5fcfe5641 100644 --- a/Demo/Runtime/StaticAssets/Materials/Light.mat +++ b/Demo/Runtime/StaticAssets/Materials/Light.mat @@ -1,24 +1,48 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4747966712143678865 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Light - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +79,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +119,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 3.9999995, g: 3.9999995, b: 3.9999995, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/MagicLight.mat b/Demo/Runtime/StaticAssets/Materials/MagicLight.mat index b4aa69b39..d1f42322d 100644 --- a/Demo/Runtime/StaticAssets/Materials/MagicLight.mat +++ b/Demo/Runtime/StaticAssets/Materials/MagicLight.mat @@ -2,23 +2,34 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: MagicLight - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +66,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +106,34 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 1.373061, g: 0.38041517, b: 1.5157166, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &8653545428196316565 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/Runtime/StaticAssets/Materials/Panel.mat b/Demo/Runtime/StaticAssets/Materials/Panel.mat index 53d045381..4339a4041 100644 --- a/Demo/Runtime/StaticAssets/Materials/Panel.mat +++ b/Demo/Runtime/StaticAssets/Materials/Panel.mat @@ -1,24 +1,48 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8247554484103522024 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Panel - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +79,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +119,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/Platform.mat b/Demo/Runtime/StaticAssets/Materials/Platform.mat index 8d061d4d3..ebf6dcdb6 100644 --- a/Demo/Runtime/StaticAssets/Materials/Platform.mat +++ b/Demo/Runtime/StaticAssets/Materials/Platform.mat @@ -1,24 +1,47 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3017498046970661717 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Platform - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +78,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +118,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat b/Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat index 6e1f587ed..262f93b5b 100644 --- a/Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat +++ b/Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat @@ -1,24 +1,48 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-159655769012096971 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: PlatformEmissive - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +79,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +119,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0.6554734, g: 1.3041189, b: 1.0856278, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/Shaft.mat b/Demo/Runtime/StaticAssets/Materials/Shaft.mat index 1235ea107..8a391ef96 100644 --- a/Demo/Runtime/StaticAssets/Materials/Shaft.mat +++ b/Demo/Runtime/StaticAssets/Materials/Shaft.mat @@ -1,24 +1,47 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3659172326881133459 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Shaft - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +78,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +118,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0.7490196, g: 0.7490196, b: 0.7490196, a: 1} - _Color: {r: 0.7490196, g: 0.7490196, b: 0.7490196, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Materials/Shield.mat b/Demo/Runtime/StaticAssets/Materials/Shield.mat index 60939f272..2a7fa6bdb 100644 --- a/Demo/Runtime/StaticAssets/Materials/Shield.mat +++ b/Demo/Runtime/StaticAssets/Materials/Shield.mat @@ -2,24 +2,37 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Shield - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -56,11 +69,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 1 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.754 - _GlossyReflections: 1 @@ -68,12 +109,34 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.754 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.90588236, g: 0.2509804, b: 1, a: 0.49411765} + - _BaseColor: {r: 0.90588236, g: 0.25098038, b: 1, a: 0.49411765} + - _Color: {r: 0.90588236, g: 0.25098035, b: 1, a: 0.49411765} - _EmissionColor: {r: 0.4056604, g: 0, b: 0.35430175, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &198190117319477704 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/Runtime/StaticAssets/Materials/Station.mat b/Demo/Runtime/StaticAssets/Materials/Station.mat index ef3c6dc22..a47670463 100644 --- a/Demo/Runtime/StaticAssets/Materials/Station.mat +++ b/Demo/Runtime/StaticAssets/Materials/Station.mat @@ -2,23 +2,33 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Station - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +65,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.836 - _GlossyReflections: 1 @@ -67,12 +105,34 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.836 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: - - _Color: {r: 0.4, g: 0.4, b: 0.4, a: 1} + - _BaseColor: {r: 0.39999998, g: 0.39999998, b: 0.39999998, a: 1} + - _Color: {r: 0.39999995, g: 0.39999995, b: 0.39999995, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &8129293154011459022 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/Runtime/StaticAssets/Materials/StationEmissive.mat b/Demo/Runtime/StaticAssets/Materials/StationEmissive.mat index 1ec2d6ffa..4b888a46d 100644 --- a/Demo/Runtime/StaticAssets/Materials/StationEmissive.mat +++ b/Demo/Runtime/StaticAssets/Materials/StationEmissive.mat @@ -2,23 +2,34 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: StationEmissive - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +66,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +106,34 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - _Color: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0.2883008, g: 0.75678957, b: 1.7207954, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &6680165244515152192 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/Runtime/StaticAssets/Materials/TouchPanel.mat b/Demo/Runtime/StaticAssets/Materials/TouchPanel.mat index f41b1029a..792366c56 100644 --- a/Demo/Runtime/StaticAssets/Materials/TouchPanel.mat +++ b/Demo/Runtime/StaticAssets/Materials/TouchPanel.mat @@ -1,24 +1,48 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8468752464238058353 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: TouchPanel - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _EMISSION + m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -55,11 +79,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -67,12 +119,21 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab b/Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab index 3e4506a42..8a4a577d7 100644 --- a/Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab +++ b/Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab @@ -25,12 +25,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 508684785655102254} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.05} m_LocalScale: {x: 0.04, y: 0.14999999, z: 0.039999995} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &4412953697858053437 MeshFilter: @@ -51,11 +52,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -106,12 +111,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 557979103336592827} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.125} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 12 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &1205978523190690412 MeshFilter: @@ -132,11 +138,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -187,12 +197,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 597354256739779555} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.08} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &6625006998753807739 MeshFilter: @@ -213,11 +224,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -268,12 +283,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 633895321617891016} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.095} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &8530837503839076806 MeshFilter: @@ -294,11 +310,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -349,12 +369,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1742113465145833959} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.02} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &4154014934598821566 MeshFilter: @@ -375,11 +396,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -430,12 +455,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1880691540779218186} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: -0.025} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &3150097402008378882 MeshFilter: @@ -456,11 +482,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -511,12 +541,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2055084202486242084} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.164} m_LocalScale: {x: 0.049999997, y: 0.036, z: 0.050000004} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &4882508451612549256 MeshFilter: @@ -537,11 +568,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -590,12 +625,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2999420513341540999} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: -0, z: -0.05} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6459590485641253054} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!1 &4254628691805927976 GameObject: @@ -622,12 +658,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4254628691805927976} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: -0.064} m_LocalScale: {x: 0.049999997, y: 0.036, z: 0.050000004} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &7168213079512003282 MeshFilter: @@ -648,11 +685,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -694,6 +735,7 @@ GameObject: - component: {fileID: 2999420514030884954} - component: {fileID: 2999420514030884948} - component: {fileID: 916270464340596692} + - component: {fileID: 149081864450982852} m_Layer: 0 m_Name: Laser Sword m_TagString: Untagged @@ -708,15 +750,16 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5562819036174228372} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: -0.25, y: 1.131, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5876255861038804467} - {fileID: 8387229585160524410} - {fileID: 2999420513341540992} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!54 &2999420514030884955 Rigidbody: @@ -725,10 +768,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5562819036174228372} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 0.0000001 m_Drag: 0 m_AngularDrag: 0 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 0 m_IsKinematic: 1 m_Interpolate: 0 @@ -747,6 +801,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: lockOnParentObjectLock: 1 + useStarted: + m_PersistentCalls: + m_Calls: [] + useEnded: + m_PersistentCalls: + m_Calls: [] --- !u!114 &5562819036174228373 MonoBehaviour: m_ObjectHideFlags: 0 @@ -760,10 +820,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: lockOnParentObjectLock: 1 - grabbed: + grabStarted: m_PersistentCalls: m_Calls: [] - ungrabbed: + grabEnded: m_PersistentCalls: m_Calls: [] --- !u!114 &2999420514030884953 @@ -779,10 +839,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: lockOnParentObjectLock: 1 - touched: + touchStarted: m_PersistentCalls: m_Calls: [] - untouched: + touchEnded: m_PersistentCalls: m_Calls: [] --- !u!114 &2999420514030884954 @@ -799,13 +859,11 @@ MonoBehaviour: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_Colliders: [] - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 m_InteractionLayers: m_Bits: 1 m_DistanceCalculationMode: 1 m_SelectMode: 0 + m_FocusMode: 1 m_CustomReticle: {fileID: 0} m_AllowGazeInteraction: 0 m_AllowGazeSelect: 0 @@ -850,6 +908,18 @@ MonoBehaviour: m_SelectExited: m_PersistentCalls: m_Calls: [] + m_FirstFocusEntered: + m_PersistentCalls: + m_Calls: [] + m_LastFocusExited: + m_PersistentCalls: + m_Calls: [] + m_FocusEntered: + m_PersistentCalls: + m_Calls: [] + m_FocusExited: + m_PersistentCalls: + m_Calls: [] m_Activated: m_PersistentCalls: m_Calls: @@ -883,33 +953,6 @@ MonoBehaviour: m_StartingHoverFilters: [] m_StartingSelectFilters: [] m_StartingInteractionStrengthFilters: [] - m_OnFirstHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnLastHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectCanceled: - m_PersistentCalls: - m_Calls: [] - m_OnActivate: - m_PersistentCalls: - m_Calls: [] - m_OnDeactivate: - m_PersistentCalls: - m_Calls: [] m_AttachTransform: {fileID: 2999420513341540992} m_SecondaryAttachTransform: {fileID: 0} m_UseDynamicAttach: 0 @@ -931,6 +974,10 @@ MonoBehaviour: m_SmoothRotation: 0 m_SmoothRotationAmount: 5 m_TightenRotation: 0.5 + m_TrackScale: 1 + m_SmoothScale: 0 + m_SmoothScaleAmount: 8 + m_TightenScale: 0.1 m_ThrowOnDetach: 1 m_ThrowSmoothingDuration: 0.25 m_ThrowSmoothingCurve: @@ -952,10 +999,10 @@ MonoBehaviour: m_ThrowAngularVelocityScale: 1 m_ForceGravityOnDetach: 0 m_RetainTransformParent: 0 - m_AttachPointCompatibilityMode: 0 m_StartingSingleGrabTransformers: [] m_StartingMultipleGrabTransformers: [] m_AddDefaultGrabTransformers: 1 + m_FarAttachMode: 0 isTouchable: 1 isGrabbable: 1 isUsable: 1 @@ -971,7 +1018,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: + serializedGuid: + serializedGuid: uniqueName: LightSabre + guids: [] tags: [] --- !u!136 &916270464340596692 CapsuleCollider: @@ -981,12 +1031,43 @@ CapsuleCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5562819036174228372} 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: 2 m_Radius: 0.025 m_Height: 0.3 m_Direction: 2 m_Center: {x: 0, y: 0, z: -0.025} +--- !u!114 &149081864450982852 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5562819036174228372} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 115f1a2a50d85cd4b9d6dad4c95622be, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Interactable: {fileID: 2999420514030884954} + m_PokeCollider: {fileID: 0} + m_PokeConfiguration: + m_UseConstant: 1 + m_ConstantValue: + m_PokeDirection: 0 + m_InteractionDepthOffset: 0 + m_EnablePokeAngleThreshold: 0 + m_PokeAngleThreshold: 45 + m_Variable: {fileID: 0} --- !u!1 &5732931799074411065 GameObject: m_ObjectHideFlags: 0 @@ -1012,12 +1093,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5732931799074411065} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.05} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &8565178696383672930 MeshFilter: @@ -1038,11 +1120,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1095,12 +1181,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6246853691175774326} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.65} m_LocalScale: {x: 0.03, y: 0.7, z: 0.03} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 6459590485641253054} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &4941949374068478407 MeshFilter: @@ -1121,11 +1208,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1159,9 +1250,8 @@ Light: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6246853691175774326} m_Enabled: 1 - serializedVersion: 10 + serializedVersion: 11 m_Type: 2 - m_Shape: 0 m_Color: {r: 1, g: 0, b: 1, a: 1} m_Intensity: 4 m_Range: 0.5 @@ -1211,8 +1301,12 @@ Light: m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} m_UseBoundingSphereOverride: 0 m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 m_ShadowRadius: 0 m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 --- !u!114 &1978455793 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1225,7 +1319,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 64582d436c5a4e84d89ba2d25709ddca, type: 3} m_Name: m_EditorClassIdentifier: + serializedGuid: + serializedGuid: uniqueName: Light + guids: [] tags: [] --- !u!1 &7125113496480917027 GameObject: @@ -1252,12 +1349,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7125113496480917027} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.065} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &138145172504796051 MeshFilter: @@ -1278,11 +1376,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1333,12 +1435,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7393521196287695171} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.035} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &2234731582968991828 MeshFilter: @@ -1359,11 +1462,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1414,12 +1521,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 7408909325635201331} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.11} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &214078848793112375 MeshFilter: @@ -1440,11 +1548,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1495,12 +1607,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8598360453421667616} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: -0.01} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &8524340244374439755 MeshFilter: @@ -1521,11 +1634,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1576,12 +1693,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8833920525693744542} + serializedVersion: 2 m_LocalRotation: {x: 0.7071068, y: -0, z: -0, w: 0.7071068} m_LocalPosition: {x: 0, y: 0, z: 0.005} m_LocalScale: {x: 0.045, y: 0.0030000003, z: 0.044999998} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5876255861038804467} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} --- !u!33 &4331467306494673270 MeshFilter: @@ -1602,11 +1720,15 @@ MeshRenderer: 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1655,9 +1777,11 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 9211277715948586494} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: -0.075} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 3443294533702717883} - {fileID: 9135070536443539102} @@ -1674,5 +1798,4 @@ Transform: - {fileID: 4065448324798803105} - {fileID: 6518330164100371419} m_Father: {fileID: 6459590485641253054} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat b/Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat index b9ffc2b8a..bb25a7033 100644 --- a/Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat +++ b/Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat @@ -2,24 +2,35 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Magic Cube - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: [] m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -56,11 +67,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 1 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -68,12 +107,34 @@ Material: - _Mode: 3 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.47058827, g: 0.9450981, b: 0.7843138, a: 0.5019608} + - _BaseColor: {r: 0.4705882, g: 0.9450981, b: 0.7843138, a: 0.5019608} + - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &3447926199455230317 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json b/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json index 4f161f812..becbc23b5 100644 --- a/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json +++ b/Demo/StreamingAssets/Processes/Demo - Core Features/Demo - Core Features.json @@ -17,7 +17,7 @@ "$id": "5", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 168.0, + "x": 227.0, "y": 0.0 }, "StepType": "default", @@ -100,6 +100,9 @@ "$id": "20", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "20" + }, "Metadata": { "$id": "21", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", @@ -152,7 +155,7 @@ "AudioData": { "$id": "32", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", - "Text": "Teleport to the first station. Press and hold the trigger button to aim at the blue teleportation spot. Release the trigger button to teleport there." + "Text": "Teleport to the first station. Push the right stick forward and aim at the blue teleportation spot. Release the stick to teleport there." }, "ExecutionStages": 1, "Volume": 1.0, @@ -254,15 +257,15 @@ }, { "$id": "52", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" - }, - { - "$id": "53", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "$id": "53", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, @@ -274,8 +277,8 @@ "$id": "55", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { "$id": "56", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", @@ -312,6 +315,9 @@ "$id": "59", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "59" + }, "Metadata": { "$id": "60", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", @@ -334,7 +340,7 @@ "$id": "64", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 483.2, + "x": 515.3333, "y": 0.0 }, "StepType": "default", @@ -461,28 +467,37 @@ "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "51" + "$id": "90", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "52" + "$id": "91", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "53" + "$id": "92", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "90", + "$id": "93", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "91", + "$id": "94", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "92", + "$id": "95", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -494,7 +509,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "93", + "$id": "96", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -509,22 +524,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "94", + "$id": "97", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "95", + "$id": "98", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "98" + }, "Metadata": { - "$id": "96", + "$id": "99", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "97", + "$id": "100", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "98", + "$id": "101", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -533,10 +551,10 @@ } }, { - "$id": "99", + "$id": "102", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "100", + "$id": "103", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 734.4, @@ -546,28 +564,28 @@ "Guid": "ebd2c872-448d-4952-869c-7ca1983f0ce3" }, "Data": { - "$id": "101", + "$id": "104", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Place Magic Cube", "Description": null, "Behaviors": { - "$id": "102", + "$id": "105", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "103", + "$id": "106", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "104", + "$id": "107", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "105", + "$id": "108", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "106", + "$id": "109", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "107", + "$id": "110", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Now put it on the highlighted spot on the transformer." }, @@ -582,36 +600,36 @@ } }, "Transitions": { - "$id": "108", + "$id": "111", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "109", + "$id": "112", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "110", + "$id": "113", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "111", + "$id": "114", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "112", + "$id": "115", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "113", + "$id": "116", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "114", + "$id": "117", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "115", + "$id": "118", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition+EntityData, VRBuilder.BasicInteraction", "TargetObjects": { - "$id": "116", + "$id": "119", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "117", + "$id": "120", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -619,15 +637,15 @@ } }, "Target": { - "$id": "118", + "$id": "121", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, "TargetSnapZone": { - "$id": "119", + "$id": "122", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "120", + "$id": "123", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "ab9fac41-ee4f-4e23-819d-2b79f916d92a" @@ -635,7 +653,7 @@ } }, "ZoneToSnapInto": { - "$id": "121", + "$id": "124", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube_SnapZone" }, @@ -645,11 +663,11 @@ ] }, "TargetStep": { - "$id": "122", + "$id": "125", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "123", + "$id": "126", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -663,45 +681,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "124", + "$id": "127", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "125", + "$id": "128", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "126", + "$id": "129", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "127", + "$id": "130", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "128", + "$id": "131", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "51" + "$id": "132", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "52" + "$id": "133", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "53" + "$id": "134", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "129", + "$id": "135", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "130", + "$id": "136", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "131", + "$id": "137", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -713,7 +740,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "132", + "$id": "138", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -728,22 +755,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "133", + "$id": "139", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "134", + "$id": "140", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "140" + }, "Metadata": { - "$id": "135", + "$id": "141", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "136", + "$id": "142", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "137", + "$id": "143", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -752,55 +782,55 @@ } }, { - "$id": "138", + "$id": "144", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "139", + "$id": "145", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 1259.2, - "y": 0.0 + "x": 1286.0, + "y": -17.0 }, "StepType": "default", "Guid": "8c6dcfb4-9991-46d0-bede-fe71a0fd89d0" }, "Data": { - "$id": "140", + "$id": "146", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Transform Magic Cube", "Description": null, "Behaviors": { - "$id": "141", + "$id": "147", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "142", + "$id": "148", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "143", + "$id": "149", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "144", + "$id": "150", "$type": "VRBuilder.Core.Behaviors.BehaviorSequence, VRBuilder.Core", "Data": { - "$id": "145", + "$id": "151", "$type": "VRBuilder.Core.Behaviors.BehaviorSequence+EntityData, VRBuilder.Core", "PlaysOnRepeat": false, "Behaviors": { - "$id": "146", + "$id": "152", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "147", + "$id": "153", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior, VRBuilder.Core", "Data": { - "$id": "148", + "$id": "154", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior+EntityData, VRBuilder.Core", "TargetObject": { - "$id": "149", + "$id": "155", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "150", + "$id": "156", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "ab9fac41-ee4f-4e23-819d-2b79f916d92a" @@ -808,15 +838,15 @@ } }, "Target": { - "$id": "151", + "$id": "157", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Magic Cube_SnapZone" }, "FinalPosition": { - "$id": "152", + "$id": "158", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "153", + "$id": "159", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "470ff75f-c8ea-4544-b28f-57b8bc54153e" @@ -824,7 +854,7 @@ } }, "PositionProvider": { - "$id": "154", + "$id": "160", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "TransformerInside" }, @@ -857,16 +887,16 @@ } }, { - "$id": "155", + "$id": "161", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "156", + "$id": "162", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "157", + "$id": "163", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "158", + "$id": "164", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "8025020b-2365-4872-bdd5-86d9a5633b28" @@ -879,16 +909,16 @@ } }, { - "$id": "159", + "$id": "165", "$type": "VRBuilder.Core.Behaviors.ScalingBehavior, VRBuilder.Core", "Data": { - "$id": "160", + "$id": "166", "$type": "VRBuilder.Core.Behaviors.ScalingBehavior+EntityData, VRBuilder.Core", "Targets": { - "$id": "161", + "$id": "167", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "162", + "$id": "168", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "0c718adf-56c6-4c29-8257-c8ace06c735d" @@ -896,7 +926,7 @@ } }, "Target": { - "$id": "163", + "$id": "169", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Cube" }, @@ -934,16 +964,16 @@ } }, { - "$id": "164", + "$id": "170", "$type": "VRBuilder.Core.Behaviors.ScalingBehavior, VRBuilder.Core", "Data": { - "$id": "165", + "$id": "171", "$type": "VRBuilder.Core.Behaviors.ScalingBehavior+EntityData, VRBuilder.Core", "Targets": { - "$id": "166", + "$id": "172", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "167", + "$id": "173", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "fd2078d6-4d90-469f-873f-098e03179ac0" @@ -951,7 +981,7 @@ } }, "Target": { - "$id": "168", + "$id": "174", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Sphere" }, @@ -989,16 +1019,16 @@ } }, { - "$id": "169", + "$id": "175", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "170", + "$id": "176", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "171", + "$id": "177", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "172", + "$id": "178", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "8025020b-2365-4872-bdd5-86d9a5633b28" @@ -1011,16 +1041,16 @@ } }, { - "$id": "173", + "$id": "179", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior, VRBuilder.Core", "Data": { - "$id": "174", + "$id": "180", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior+EntityData, VRBuilder.Core", "TargetObject": { - "$id": "175", + "$id": "181", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "176", + "$id": "182", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "ab9fac41-ee4f-4e23-819d-2b79f916d92a" @@ -1028,15 +1058,15 @@ } }, "Target": { - "$id": "177", + "$id": "183", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Magic Cube_SnapZone" }, "FinalPosition": { - "$id": "178", + "$id": "184", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "179", + "$id": "185", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "80b6aede-4adc-4765-b8ec-1cd1bd3c03ae" @@ -1044,7 +1074,7 @@ } }, "PositionProvider": { - "$id": "180", + "$id": "186", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "TransformerOutside" }, @@ -1086,23 +1116,23 @@ } }, "Transitions": { - "$id": "181", + "$id": "187", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "182", + "$id": "188", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "183", + "$id": "189", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "184", + "$id": "190", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "185", + "$id": "191", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "186", + "$id": "192", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [] }, @@ -1110,50 +1140,50 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "187", + "$id": "193", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "188", + "$id": "194", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "189", + "$id": "195", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "190", + "$id": "196", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "191", + "$id": "197", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "192", + "$id": "198", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "193", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" - }, - { - "$id": "194", + "$id": "199", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "$id": "200", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "195", + "$id": "201", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [] } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "196", + "$id": "202", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -1168,22 +1198,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "197", + "$id": "203", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "198", + "$id": "204", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "204" + }, "Metadata": { - "$id": "199", + "$id": "205", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "200", + "$id": "206", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "201", + "$id": "207", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -1192,41 +1225,41 @@ } }, { - "$id": "202", + "$id": "208", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "203", + "$id": "209", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 973.6, + "x": 1037.0, "y": 0.0 }, "StepType": "default", "Guid": "d77a42a0-ddee-409d-8198-7b6a947b74aa" }, "Data": { - "$id": "204", + "$id": "210", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Activate Transformer", "Description": null, "Behaviors": { - "$id": "205", + "$id": "211", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "206", + "$id": "212", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "207", + "$id": "213", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "208", + "$id": "214", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "209", + "$id": "215", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "210", + "$id": "216", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Touch the panel to activate the transformer." }, @@ -1241,36 +1274,36 @@ } }, "Transitions": { - "$id": "211", + "$id": "217", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "212", + "$id": "218", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "213", + "$id": "219", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "214", + "$id": "220", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "215", + "$id": "221", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "216", + "$id": "222", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "217", + "$id": "223", "$type": "VRBuilder.BasicInteraction.Conditions.TouchedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "218", + "$id": "224", "$type": "VRBuilder.BasicInteraction.Conditions.TouchedCondition+EntityData, VRBuilder.BasicInteraction", "TouchableProperties": { - "$id": "219", + "$id": "225", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITouchableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "220", + "$id": "226", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "f45cbaab-a85e-4f7a-a9ec-d84b156589f3" @@ -1278,7 +1311,7 @@ } }, "TouchableProperty": { - "$id": "221", + "$id": "227", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITouchableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "TouchPanel" }, @@ -1289,11 +1322,11 @@ ] }, "TargetStep": { - "$id": "222", + "$id": "228", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "223", + "$id": "229", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -1307,54 +1340,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "224", + "$id": "230", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "225", + "$id": "231", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "226", + "$id": "232", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "227", + "$id": "233", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "228", + "$id": "234", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "229", + "$id": "235", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "230", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" - }, - { - "$id": "231", + "$id": "236", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "$id": "237", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "232", + "$id": "238", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "233", + "$id": "239", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "234", + "$id": "240", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -1366,7 +1399,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "235", + "$id": "241", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -1381,22 +1414,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "236", + "$id": "242", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "237", + "$id": "243", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "243" + }, "Metadata": { - "$id": "238", + "$id": "244", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "239", + "$id": "245", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "240", + "$id": "246", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -1405,10 +1441,10 @@ } }, { - "$id": "241", + "$id": "247", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "242", + "$id": "248", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 200.0, @@ -1418,31 +1454,31 @@ "Guid": "bda68556-7bc8-4028-8f4d-21347bfdfc96" }, "Data": { - "$id": "243", + "$id": "249", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Grab cube", "Description": null, "Behaviors": { - "$id": "244", + "$id": "250", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "245", + "$id": "251", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "246", + "$id": "252", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "247", + "$id": "253", "$type": "VRBuilder.BasicInteraction.Behaviors.UnsnapBehavior, VRBuilder.BasicInteraction", "Data": { - "$id": "248", + "$id": "254", "$type": "VRBuilder.BasicInteraction.Behaviors.UnsnapBehavior+EntityData, VRBuilder.BasicInteraction", "TargetObject": { - "$id": "249", + "$id": "255", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "250", + "$id": "256", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -1450,21 +1486,21 @@ } }, "SnappedObject": { - "$id": "251", + "$id": "257", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, "TargetSnapZone": { - "$id": "252", + "$id": "258", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "253", + "$id": "259", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [] } }, "SnapZone": { - "$id": "254", + "$id": "260", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "" }, @@ -1472,13 +1508,13 @@ } }, { - "$id": "255", + "$id": "261", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "256", + "$id": "262", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "257", + "$id": "263", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Take the cube and teleport to the next station." }, @@ -1493,37 +1529,37 @@ } }, "Transitions": { - "$id": "258", + "$id": "264", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "259", + "$id": "265", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "260", + "$id": "266", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "261", + "$id": "267", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "262", + "$id": "268", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "263", + "$id": "269", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "264", + "$id": "270", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "265", + "$id": "271", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition+EntityData, VRBuilder.BasicInteraction", "KeepUnlocked": true, "Targets": { - "$id": "266", + "$id": "272", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "267", + "$id": "273", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -1531,7 +1567,7 @@ } }, "GrabbableProperty": { - "$id": "268", + "$id": "274", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, @@ -1542,11 +1578,11 @@ ] }, "TargetStep": { - "$id": "269", + "$id": "275", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "270", + "$id": "276", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -1560,45 +1596,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "271", + "$id": "277", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "272", + "$id": "278", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "273", + "$id": "279", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "274", + "$id": "280", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "275", + "$id": "281", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "51" + "$id": "282", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "52" + "$id": "283", + "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.DeletableAttribute", + "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "53" + "$id": "284", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "276", + "$id": "285", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "277", + "$id": "286", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "278", + "$id": "287", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -1610,7 +1655,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "279", + "$id": "288", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -1625,22 +1670,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "280", + "$id": "289", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "281", + "$id": "290", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "290" + }, "Metadata": { - "$id": "282", + "$id": "291", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "283", + "$id": "292", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "284", + "$id": "293", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -1649,10 +1697,10 @@ } }, { - "$id": "285", + "$id": "294", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "286", + "$id": "295", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 445.6, @@ -1662,54 +1710,54 @@ "Guid": "2728332f-cb82-4f74-bfb1-54c510e27abb" }, "Data": { - "$id": "287", + "$id": "296", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Teleport to slicer", "Description": null, "Behaviors": { - "$id": "288", + "$id": "297", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "289", + "$id": "298", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "290", + "$id": "299", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [] } } }, "Transitions": { - "$id": "291", + "$id": "300", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "292", + "$id": "301", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "293", + "$id": "302", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "294", + "$id": "303", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "295", + "$id": "304", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "296", + "$id": "305", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "297", + "$id": "306", "$type": "VRBuilder.BasicInteraction.Conditions.TeleportCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "298", + "$id": "307", "$type": "VRBuilder.BasicInteraction.Conditions.TeleportCondition+EntityData, VRBuilder.BasicInteraction", "TeleportationPoints": { - "$id": "299", + "$id": "308", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITeleportationProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "300", + "$id": "309", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "7fcf9fbb-9148-4236-9f6c-c417d678a54c" @@ -1717,7 +1765,7 @@ } }, "TeleportationPoint": { - "$id": "301", + "$id": "310", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITeleportationProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Teleportation Spot_1" }, @@ -1727,11 +1775,11 @@ ] }, "TargetStep": { - "$id": "302", + "$id": "311", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "303", + "$id": "312", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -1745,54 +1793,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "304", + "$id": "313", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "305", + "$id": "314", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "306", + "$id": "315", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "307", + "$id": "316", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "308", + "$id": "317", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "309", - "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.FoldableAttribute", - "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + "$ref": "198" }, { - "$id": "310", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + "$ref": "199" }, { - "$id": "311", - "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.HelpAttribute", - "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + "$ref": "200" } ] }, "ChildMetadata": { - "$id": "312", + "$id": "318", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "313", + "$id": "319", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "314", + "$id": "320", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -1804,7 +1843,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "315", + "$id": "321", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -1814,26 +1853,26 @@ } }, { - "$id": "316", + "$id": "322", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "317", + "$id": "323", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "318", + "$id": "324", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "319", + "$id": "325", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "320", + "$id": "326", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition+EntityData, VRBuilder.BasicInteraction", "GrabbableProperties": { - "$id": "321", + "$id": "327", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "322", + "$id": "328", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -1841,7 +1880,7 @@ } }, "GrabbableProperty": { - "$id": "323", + "$id": "329", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, @@ -1852,11 +1891,11 @@ ] }, "TargetStep": { - "$id": "324", + "$id": "330", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "325", + "$id": "331", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -1870,45 +1909,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "326", + "$id": "332", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "327", + "$id": "333", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "328", + "$id": "334", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "329", + "$id": "335", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "330", + "$id": "336", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "309" + "$ref": "198" }, { - "$ref": "310" + "$ref": "199" }, { - "$ref": "311" + "$ref": "200" } ] }, "ChildMetadata": { - "$id": "331", + "$id": "337", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "332", + "$id": "338", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "333", + "$id": "339", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -1920,7 +1959,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "334", + "$id": "340", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -1935,22 +1974,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "335", + "$id": "341", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "336", + "$id": "342", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "342" + }, "Metadata": { - "$id": "337", + "$id": "343", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "338", + "$id": "344", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "339", + "$id": "345", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 1 } @@ -1959,10 +2001,10 @@ } }, { - "$id": "340", + "$id": "346", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "341", + "$id": "347", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 763.2, @@ -1972,28 +2014,28 @@ "Guid": "8fe7ae3d-3888-44ac-86f3-dd68b59b844d" }, "Data": { - "$id": "342", + "$id": "348", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Place cube in working area", "Description": null, "Behaviors": { - "$id": "343", + "$id": "349", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "344", + "$id": "350", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "345", + "$id": "351", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "346", + "$id": "352", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "347", + "$id": "353", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "348", + "$id": "354", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Place the cube on the table." }, @@ -2008,36 +2050,36 @@ } }, "Transitions": { - "$id": "349", + "$id": "355", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "350", + "$id": "356", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "351", + "$id": "357", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "352", + "$id": "358", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "353", + "$id": "359", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "354", + "$id": "360", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "355", + "$id": "361", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "356", + "$id": "362", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition+EntityData, VRBuilder.BasicInteraction", "TargetObjects": { - "$id": "357", + "$id": "363", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "358", + "$id": "364", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -2045,15 +2087,15 @@ } }, "Target": { - "$id": "359", + "$id": "365", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, "TargetSnapZone": { - "$id": "360", + "$id": "366", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "361", + "$id": "367", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "063b8249-497d-475c-aac9-8eb841ddc61e" @@ -2061,7 +2103,7 @@ } }, "ZoneToSnapInto": { - "$id": "362", + "$id": "368", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube_SnapZone_1" }, @@ -2071,11 +2113,11 @@ ] }, "TargetStep": { - "$id": "363", + "$id": "369", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "364", + "$id": "370", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -2089,54 +2131,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "365", + "$id": "371", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "366", + "$id": "372", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "367", + "$id": "373", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "368", + "$id": "374", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "369", + "$id": "375", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "370", + "$id": "376", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "371", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" - }, - { - "$id": "372", + "$id": "377", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "$id": "378", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "373", + "$id": "379", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "374", + "$id": "380", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "375", + "$id": "381", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -2148,7 +2190,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "376", + "$id": "382", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -2158,26 +2200,26 @@ } }, { - "$id": "377", + "$id": "383", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "378", + "$id": "384", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "379", + "$id": "385", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "380", + "$id": "386", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "381", + "$id": "387", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition+EntityData, VRBuilder.BasicInteraction", "GrabbableProperties": { - "$id": "382", + "$id": "388", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "383", + "$id": "389", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -2185,7 +2227,7 @@ } }, "GrabbableProperty": { - "$id": "384", + "$id": "390", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, @@ -2196,11 +2238,11 @@ ] }, "TargetStep": { - "$id": "385", + "$id": "391", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "386", + "$id": "392", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -2214,45 +2256,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "387", + "$id": "393", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "388", + "$id": "394", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "389", + "$id": "395", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "390", + "$id": "396", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "391", + "$id": "397", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "370" + "$ref": "376" }, { - "$ref": "371" + "$ref": "377" }, { - "$ref": "372" + "$ref": "378" } ] }, "ChildMetadata": { - "$id": "392", + "$id": "398", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "393", + "$id": "399", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "394", + "$id": "400", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -2264,7 +2306,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "395", + "$id": "401", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -2279,22 +2321,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "396", + "$id": "402", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "397", + "$id": "403", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "403" + }, "Metadata": { - "$id": "398", + "$id": "404", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "399", + "$id": "405", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "400", + "$id": "406", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -2303,10 +2348,10 @@ } }, { - "$id": "401", + "$id": "407", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "402", + "$id": "408", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 1058.4, @@ -2316,28 +2361,28 @@ "Guid": "7d10b876-f270-4757-9d10-0e76528c64db" }, "Data": { - "$id": "403", + "$id": "409", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Pick up tool", "Description": null, "Behaviors": { - "$id": "404", + "$id": "410", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "405", + "$id": "411", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "406", + "$id": "412", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "407", + "$id": "413", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "408", + "$id": "414", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "409", + "$id": "415", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Now you need to cut this cube in two pieces. First, pick up the tool to your right." }, @@ -2352,37 +2397,37 @@ } }, "Transitions": { - "$id": "410", + "$id": "416", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "411", + "$id": "417", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "412", + "$id": "418", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "413", + "$id": "419", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "414", + "$id": "420", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "415", + "$id": "421", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "416", + "$id": "422", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "417", + "$id": "423", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition+EntityData, VRBuilder.BasicInteraction", "KeepUnlocked": true, "Targets": { - "$id": "418", + "$id": "424", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "419", + "$id": "425", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -2390,7 +2435,7 @@ } }, "GrabbableProperty": { - "$id": "420", + "$id": "426", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "LightSabre" }, @@ -2401,11 +2446,11 @@ ] }, "TargetStep": { - "$id": "421", + "$id": "427", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "422", + "$id": "428", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -2419,45 +2464,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "423", + "$id": "429", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "424", + "$id": "430", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "425", + "$id": "431", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "426", + "$id": "432", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "427", + "$id": "433", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "370" + "$ref": "376" }, { - "$ref": "371" + "$ref": "377" }, { - "$ref": "372" + "$ref": "378" } ] }, "ChildMetadata": { - "$id": "428", + "$id": "434", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "429", + "$id": "435", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "430", + "$id": "436", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -2469,7 +2514,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "431", + "$id": "437", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -2484,22 +2529,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "432", + "$id": "438", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "433", + "$id": "439", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "439" + }, "Metadata": { - "$id": "434", + "$id": "440", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "435", + "$id": "441", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "436", + "$id": "442", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -2508,10 +2556,10 @@ } }, { - "$id": "437", + "$id": "443", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "438", + "$id": "444", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 763.2, @@ -2521,28 +2569,28 @@ "Guid": "67e68ce4-5a29-48b8-b412-678a602975dc" }, "Data": { - "$id": "439", + "$id": "445", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Misplaced magic cube", "Description": null, "Behaviors": { - "$id": "440", + "$id": "446", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "441", + "$id": "447", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "442", + "$id": "448", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "443", + "$id": "449", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "444", + "$id": "450", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "445", + "$id": "451", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Pick up the cube again and place it on the table." }, @@ -2557,37 +2605,37 @@ } }, "Transitions": { - "$id": "446", + "$id": "452", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "447", + "$id": "453", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "448", + "$id": "454", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "449", + "$id": "455", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "450", + "$id": "456", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "451", + "$id": "457", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "452", + "$id": "458", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "453", + "$id": "459", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition+EntityData, VRBuilder.BasicInteraction", "KeepUnlocked": true, "Targets": { - "$id": "454", + "$id": "460", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "455", + "$id": "461", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -2595,7 +2643,7 @@ } }, "GrabbableProperty": { - "$id": "456", + "$id": "462", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Magic Cube" }, @@ -2606,11 +2654,11 @@ ] }, "TargetStep": { - "$id": "457", + "$id": "463", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "458", + "$id": "464", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -2624,45 +2672,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "459", + "$id": "465", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "460", + "$id": "466", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "461", + "$id": "467", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "462", + "$id": "468", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "463", + "$id": "469", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "370" + "$id": "470", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "371" + "$id": "471", + "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.DeletableAttribute", + "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "372" + "$id": "472", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "464", + "$id": "473", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "465", + "$id": "474", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "466", + "$id": "475", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -2674,7 +2731,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "467", + "$id": "476", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -2689,22 +2746,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "468", + "$id": "477", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "469", + "$id": "478", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "478" + }, "Metadata": { - "$id": "470", + "$id": "479", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "471", + "$id": "480", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "472", + "$id": "481", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -2713,10 +2773,10 @@ } }, { - "$id": "473", + "$id": "482", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "474", + "$id": "483", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 1291.2, @@ -2726,28 +2786,28 @@ "Guid": "da8e6b38-2e19-4c3e-befd-5b0bd2f6b4d1" }, "Data": { - "$id": "475", + "$id": "484", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Use tool", "Description": null, "Behaviors": { - "$id": "476", + "$id": "485", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "477", + "$id": "486", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "478", + "$id": "487", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "479", + "$id": "488", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "480", + "$id": "489", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "481", + "$id": "490", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "While holding the tool, you can use it by pressing the trigger button." }, @@ -2762,36 +2822,36 @@ } }, "Transitions": { - "$id": "482", + "$id": "491", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "483", + "$id": "492", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "484", + "$id": "493", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "485", + "$id": "494", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "486", + "$id": "495", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "487", + "$id": "496", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "488", + "$id": "497", "$type": "VRBuilder.BasicInteraction.Conditions.UsedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "489", + "$id": "498", "$type": "VRBuilder.BasicInteraction.Conditions.UsedCondition+EntityData, VRBuilder.BasicInteraction", "UsableObjects": { - "$id": "490", + "$id": "499", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IUsableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "491", + "$id": "500", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -2799,7 +2859,7 @@ } }, "UsableProperty": { - "$id": "492", + "$id": "501", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IUsableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "LightSabre" }, @@ -2810,11 +2870,11 @@ ] }, "TargetStep": { - "$id": "493", + "$id": "502", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "494", + "$id": "503", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -2828,45 +2888,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "495", + "$id": "504", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "496", + "$id": "505", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "497", + "$id": "506", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "498", + "$id": "507", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "499", + "$id": "508", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "370" + "$id": "509", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "371" + "$id": "510", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "372" + "$id": "511", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "500", + "$id": "512", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "501", + "$id": "513", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "502", + "$id": "514", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -2878,7 +2947,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "503", + "$id": "515", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -2893,22 +2962,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "504", + "$id": "516", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "505", + "$id": "517", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "517" + }, "Metadata": { - "$id": "506", + "$id": "518", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "507", + "$id": "519", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "508", + "$id": "520", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 1 } @@ -2917,10 +2989,10 @@ } }, { - "$id": "509", + "$id": "521", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "510", + "$id": "522", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 1605.6, @@ -2930,31 +3002,31 @@ "Guid": "06275921-c4b2-4381-8631-283277ce0811" }, "Data": { - "$id": "511", + "$id": "523", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Slice along the red highlight", "Description": null, "Behaviors": { - "$id": "512", + "$id": "524", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "513", + "$id": "525", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "514", + "$id": "526", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "515", + "$id": "527", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "516", + "$id": "528", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "517", + "$id": "529", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "518", + "$id": "530", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d7dd3185-de39-4915-8651-d945a022a74e" @@ -2967,13 +3039,13 @@ } }, { - "$id": "519", + "$id": "531", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "520", + "$id": "532", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "521", + "$id": "533", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Well done! Now slice the cube by moving the blade in the highlighted area." }, @@ -2988,36 +3060,36 @@ } }, "Transitions": { - "$id": "522", + "$id": "534", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "523", + "$id": "535", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "524", + "$id": "536", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "525", + "$id": "537", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "526", + "$id": "538", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "527", + "$id": "539", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "528", + "$id": "540", "$type": "VRBuilder.Core.Conditions.ObjectInColliderCondition, VRBuilder.Core", "Data": { - "$id": "529", + "$id": "541", "$type": "VRBuilder.Core.Conditions.ObjectInColliderCondition+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "530", + "$id": "542", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "531", + "$id": "543", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "90815042-3e05-4f7e-8be3-8761d17a0b03" @@ -3025,15 +3097,15 @@ } }, "TargetObject": { - "$id": "532", + "$id": "544", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Light" }, "TriggerObject": { - "$id": "533", + "$id": "545", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.Core.Properties.ColliderWithTriggerProperty, VRBuilder.Core]], VRBuilder.Core", "guids": { - "$id": "534", + "$id": "546", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d7dd3185-de39-4915-8651-d945a022a74e" @@ -3041,22 +3113,23 @@ } }, "TriggerProperty": { - "$id": "535", + "$id": "547", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.Core.Properties.ColliderWithTriggerProperty, VRBuilder.Core]], VRBuilder.Core", "UniqueName": "Slicing highlight" }, "RequiredTimeInside": 0.1, + "ObjectsRequiredInTrigger": 1.0, "Metadata": null } } ] }, "TargetStep": { - "$id": "536", + "$id": "548", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "537", + "$id": "549", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -3070,45 +3143,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "538", + "$id": "550", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "539", + "$id": "551", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "540", + "$id": "552", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "541", + "$id": "553", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "542", + "$id": "554", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "370" + "$ref": "509" }, { - "$ref": "371" + "$ref": "510" }, { - "$ref": "372" + "$ref": "511" } ] }, "ChildMetadata": { - "$id": "543", + "$id": "555", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "544", + "$id": "556", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "545", + "$id": "557", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -3120,7 +3193,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "546", + "$id": "558", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -3130,26 +3203,26 @@ } }, { - "$id": "547", + "$id": "559", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "548", + "$id": "560", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "549", + "$id": "561", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "550", + "$id": "562", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "551", + "$id": "563", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition+EntityData, VRBuilder.BasicInteraction", "GrabbableProperties": { - "$id": "552", + "$id": "564", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "553", + "$id": "565", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3157,7 +3230,7 @@ } }, "GrabbableProperty": { - "$id": "554", + "$id": "566", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "LightSabre" }, @@ -3168,11 +3241,11 @@ ] }, "TargetStep": { - "$id": "555", + "$id": "567", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "556", + "$id": "568", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -3186,54 +3259,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "557", + "$id": "569", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "558", + "$id": "570", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "559", + "$id": "571", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "560", + "$id": "572", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "561", + "$id": "573", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "562", - "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.FoldableAttribute", - "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + "$ref": "509" }, { - "$id": "563", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + "$ref": "510" }, { - "$id": "564", - "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.HelpAttribute", - "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + "$ref": "511" } ] }, "ChildMetadata": { - "$id": "565", + "$id": "574", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "566", + "$id": "575", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "567", + "$id": "576", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -3245,7 +3309,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "568", + "$id": "577", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -3260,22 +3324,22 @@ }, "Mode": null, "ToUnlock": { - "$id": "569", + "$id": "578", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "570", + "$id": "579", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "571", + "$id": "580", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "TargetObject": { - "$id": "572", + "$id": "581", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "573", + "$id": "582", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3285,18 +3349,18 @@ "Type": "VRBuilder.XRInteraction.Properties.UsableProperty, VRBuilder.XRInteraction, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "574", + "$id": "583", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "575", + "$id": "584", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "TargetObject": { - "$id": "576", + "$id": "585", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "577", + "$id": "586", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3306,18 +3370,18 @@ "Type": "VRBuilder.XRInteraction.Properties.GrabbableProperty, VRBuilder.XRInteraction, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "578", + "$id": "587", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "579", + "$id": "588", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "TargetObject": { - "$id": "580", + "$id": "589", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "581", + "$id": "590", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3327,18 +3391,18 @@ "Type": "VRBuilder.XRInteraction.Properties.TouchableProperty, VRBuilder.XRInteraction, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "582", + "$id": "591", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "583", + "$id": "592", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Magic Cube" }, "TargetObject": { - "$id": "584", + "$id": "593", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "585", + "$id": "594", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -3348,18 +3412,18 @@ "Type": "VRBuilder.XRInteraction.Properties.GrabbableProperty, VRBuilder.XRInteraction, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "586", + "$id": "595", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "587", + "$id": "596", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Magic Cube" }, "TargetObject": { - "$id": "588", + "$id": "597", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "589", + "$id": "598", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -3371,17 +3435,20 @@ ] }, "TagsToUnlock": { - "$id": "590", + "$id": "599", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "599" + }, "Metadata": { - "$id": "591", + "$id": "600", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "592", + "$id": "601", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "593", + "$id": "602", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -3390,10 +3457,10 @@ } }, { - "$id": "594", + "$id": "603", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "595", + "$id": "604", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 1874.4, @@ -3403,31 +3470,31 @@ "Guid": "0777fb7c-03de-4ad1-a567-8590b431203f" }, "Data": { - "$id": "596", + "$id": "605", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Cube is sliced", "Description": null, "Behaviors": { - "$id": "597", + "$id": "606", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "598", + "$id": "607", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "599", + "$id": "608", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "600", + "$id": "609", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "601", + "$id": "610", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "602", + "$id": "611", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "603", + "$id": "612", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d7dd3185-de39-4915-8651-d945a022a74e" @@ -3440,16 +3507,16 @@ } }, { - "$id": "604", + "$id": "613", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "605", + "$id": "614", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "606", + "$id": "615", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "607", + "$id": "616", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "d2b11da8-a3fa-4de3-a620-e6951c2b6be7" @@ -3462,16 +3529,16 @@ } }, { - "$id": "608", + "$id": "617", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "609", + "$id": "618", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "610", + "$id": "619", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "611", + "$id": "620", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "dadfd54b-6114-46c5-b1ce-ff6d13ef92cb" @@ -3484,16 +3551,16 @@ } }, { - "$id": "612", + "$id": "621", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "613", + "$id": "622", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "614", + "$id": "623", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "615", + "$id": "624", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "f2830878-3f69-4ee4-98bc-a9b93f030cb7" @@ -3506,13 +3573,13 @@ } }, { - "$id": "616", + "$id": "625", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "617", + "$id": "626", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "618", + "$id": "627", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Great. Release the tool and it will go back to its original position." }, @@ -3527,36 +3594,36 @@ } }, "Transitions": { - "$id": "619", + "$id": "628", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "620", + "$id": "629", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "621", + "$id": "630", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "622", + "$id": "631", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "623", + "$id": "632", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "624", + "$id": "633", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "625", + "$id": "634", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "626", + "$id": "635", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition+EntityData, VRBuilder.BasicInteraction", "GrabbableProperties": { - "$id": "627", + "$id": "636", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "628", + "$id": "637", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3564,7 +3631,7 @@ } }, "GrabbableProperty": { - "$id": "629", + "$id": "638", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "LightSabre" }, @@ -3575,11 +3642,11 @@ ] }, "TargetStep": { - "$id": "630", + "$id": "639", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "631", + "$id": "640", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -3593,36 +3660,36 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "632", + "$id": "641", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "633", + "$id": "642", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "634", + "$id": "643", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "635", + "$id": "644", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "636", + "$id": "645", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "637", + "$id": "646", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "638", + "$id": "647", "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.DeletableAttribute", "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "639", + "$id": "648", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" @@ -3630,17 +3697,17 @@ ] }, "ChildMetadata": { - "$id": "640", + "$id": "649", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "641", + "$id": "650", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "642", + "$id": "651", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -3652,7 +3719,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "643", + "$id": "652", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -3667,22 +3734,22 @@ }, "Mode": null, "ToUnlock": { - "$id": "644", + "$id": "653", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "645", + "$id": "654", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "646", + "$id": "655", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "TargetObject": { - "$id": "647", + "$id": "656", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "648", + "$id": "657", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3692,18 +3759,18 @@ "Type": "VRBuilder.XRInteraction.Properties.GrabbableProperty, VRBuilder.XRInteraction, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "649", + "$id": "658", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "650", + "$id": "659", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "TargetObject": { - "$id": "651", + "$id": "660", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "652", + "$id": "661", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3713,18 +3780,18 @@ "Type": "VRBuilder.XRInteraction.Properties.UsableProperty, VRBuilder.XRInteraction, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "653", + "$id": "662", "$type": "VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core", "Target": { - "$id": "654", + "$id": "663", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "TargetObject": { - "$id": "655", + "$id": "664", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "656", + "$id": "665", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3736,17 +3803,20 @@ ] }, "TagsToUnlock": { - "$id": "657", + "$id": "666", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "666" + }, "Metadata": { - "$id": "658", + "$id": "667", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "659", + "$id": "668", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "660", + "$id": "669", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -3755,10 +3825,10 @@ } }, { - "$id": "661", + "$id": "670", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "662", + "$id": "671", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 2105.6, @@ -3768,31 +3838,31 @@ "Guid": "6e61534a-ba60-4b28-a181-29c9f66b6cbc" }, "Data": { - "$id": "663", + "$id": "672", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Move tool", "Description": null, "Behaviors": { - "$id": "664", + "$id": "673", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "665", + "$id": "674", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "666", + "$id": "675", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "667", + "$id": "676", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior, VRBuilder.Core", "Data": { - "$id": "668", + "$id": "677", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior+EntityData, VRBuilder.Core", "TargetObject": { - "$id": "669", + "$id": "678", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "670", + "$id": "679", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "aac0efd9-1949-4ec3-9807-2df899788116" @@ -3800,15 +3870,15 @@ } }, "Target": { - "$id": "671", + "$id": "680", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre" }, "FinalPosition": { - "$id": "672", + "$id": "681", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "673", + "$id": "682", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "4c9ba9c4-a90c-45cb-a73a-8f0d59cbc130" @@ -3816,7 +3886,7 @@ } }, "PositionProvider": { - "$id": "674", + "$id": "683", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "LightSabre Origin" }, @@ -3853,23 +3923,23 @@ } }, "Transitions": { - "$id": "675", + "$id": "684", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "676", + "$id": "685", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "677", + "$id": "686", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "678", + "$id": "687", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "679", + "$id": "688", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "680", + "$id": "689", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [] }, @@ -3877,36 +3947,36 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "681", + "$id": "690", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "682", + "$id": "691", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "683", + "$id": "692", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "684", + "$id": "693", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "685", + "$id": "694", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "686", + "$id": "695", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "687", + "$id": "696", "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.DeletableAttribute", "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "688", + "$id": "697", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" @@ -3914,13 +3984,13 @@ ] }, "ChildMetadata": { - "$id": "689", + "$id": "698", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [] } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "690", + "$id": "699", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -3935,22 +4005,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "691", + "$id": "700", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "692", + "$id": "701", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "701" + }, "Metadata": { - "$id": "693", + "$id": "702", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "694", + "$id": "703", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "695", + "$id": "704", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -3959,41 +4032,41 @@ } }, { - "$id": "696", + "$id": "705", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "697", + "$id": "706", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 544.0, + "x": 508.666656, "y": 0.0 }, "StepType": "default", "Guid": "3fe9edc1-423e-4c5d-a7f7-66244577a007" }, "Data": { - "$id": "698", + "$id": "707", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Place 1st step", "Description": null, "Behaviors": { - "$id": "699", + "$id": "708", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "700", + "$id": "709", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "701", + "$id": "710", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "702", + "$id": "711", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "703", + "$id": "712", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "704", + "$id": "713", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Now use the 2 pieces to build a staircase. Pick one of them up and teleport to the large podium. Notice that you can now freely teleport around the area." }, @@ -4008,36 +4081,36 @@ } }, "Transitions": { - "$id": "705", + "$id": "714", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "706", + "$id": "715", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "707", + "$id": "716", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "708", + "$id": "717", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "709", + "$id": "718", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "710", + "$id": "719", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "711", + "$id": "720", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "712", + "$id": "721", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition+EntityData, VRBuilder.BasicInteraction", "TargetObjects": { - "$id": "713", + "$id": "722", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "714", + "$id": "723", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "dadfd54b-6114-46c5-b1ce-ff6d13ef92cb" @@ -4045,15 +4118,15 @@ } }, "Target": { - "$id": "715", + "$id": "724", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (1)" }, "TargetSnapZone": { - "$id": "716", + "$id": "725", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "717", + "$id": "726", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "79ce37fe-e994-4ebd-9141-5ae124ae8aea" @@ -4061,7 +4134,7 @@ } }, "ZoneToSnapInto": { - "$id": "718", + "$id": "727", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (1)_SnapZone" }, @@ -4071,11 +4144,11 @@ ] }, "TargetStep": { - "$id": "719", + "$id": "728", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "720", + "$id": "729", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -4089,36 +4162,36 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "721", + "$id": "730", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "722", + "$id": "731", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "723", + "$id": "732", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "724", + "$id": "733", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "725", + "$id": "734", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "726", + "$id": "735", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "727", + "$id": "736", "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.DeletableAttribute", "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "728", + "$id": "737", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" @@ -4126,17 +4199,17 @@ ] }, "ChildMetadata": { - "$id": "729", + "$id": "738", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "730", + "$id": "739", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "731", + "$id": "740", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -4148,7 +4221,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "732", + "$id": "741", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -4158,26 +4231,26 @@ } }, { - "$id": "733", + "$id": "742", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "734", + "$id": "743", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "735", + "$id": "744", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "736", + "$id": "745", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "737", + "$id": "746", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition+EntityData, VRBuilder.BasicInteraction", "TargetObjects": { - "$id": "738", + "$id": "747", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "739", + "$id": "748", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "f2830878-3f69-4ee4-98bc-a9b93f030cb7" @@ -4185,15 +4258,15 @@ } }, "Target": { - "$id": "740", + "$id": "749", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (2)" }, "TargetSnapZone": { - "$id": "741", + "$id": "750", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "742", + "$id": "751", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "79ce37fe-e994-4ebd-9141-5ae124ae8aea" @@ -4201,7 +4274,7 @@ } }, "ZoneToSnapInto": { - "$id": "743", + "$id": "752", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (1)_SnapZone" }, @@ -4211,11 +4284,11 @@ ] }, "TargetStep": { - "$id": "744", + "$id": "753", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "745", + "$id": "754", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -4229,45 +4302,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "746", + "$id": "755", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "747", + "$id": "756", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "748", + "$id": "757", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "749", + "$id": "758", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "750", + "$id": "759", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "726" + "$ref": "735" }, { - "$ref": "727" + "$ref": "736" }, { - "$ref": "728" + "$ref": "737" } ] }, "ChildMetadata": { - "$id": "751", + "$id": "760", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "752", + "$id": "761", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "753", + "$id": "762", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -4279,7 +4352,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "754", + "$id": "763", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -4294,22 +4367,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "755", + "$id": "764", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "756", + "$id": "765", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "765" + }, "Metadata": { - "$id": "757", + "$id": "766", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "758", + "$id": "767", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "759", + "$id": "768", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -4318,10 +4394,10 @@ } }, { - "$id": "760", + "$id": "769", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "761", + "$id": "770", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 272.0, @@ -4331,31 +4407,31 @@ "Guid": "f8e637e3-8434-4f39-a8c5-428022d1b0e2" }, "Data": { - "$id": "762", + "$id": "771", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Activate teleportation area", "Description": null, "Behaviors": { - "$id": "763", + "$id": "772", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "764", + "$id": "773", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "765", + "$id": "774", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "766", + "$id": "775", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "767", + "$id": "776", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "768", + "$id": "777", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "769", + "$id": "778", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c9d13eb8-87b1-466e-820d-20bbcae66652" @@ -4372,32 +4448,32 @@ } }, "Transitions": { - "$id": "770", + "$id": "779", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "771", + "$id": "780", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "772", + "$id": "781", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "773", + "$id": "782", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "774", + "$id": "783", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "775", + "$id": "784", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [] }, "TargetStep": { - "$id": "776", + "$id": "785", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "777", + "$id": "786", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -4411,41 +4487,50 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "778", + "$id": "787", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "779", + "$id": "788", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "780", + "$id": "789", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "781", + "$id": "790", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "782", + "$id": "791", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "686" + "$id": "792", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "687" + "$id": "793", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "688" + "$id": "794", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "783", + "$id": "795", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [] } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "784", + "$id": "796", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -4460,22 +4545,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "785", + "$id": "797", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "786", + "$id": "798", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "798" + }, "Metadata": { - "$id": "787", + "$id": "799", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "788", + "$id": "800", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "789", + "$id": "801", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -4484,10 +4572,10 @@ } }, { - "$id": "790", + "$id": "802", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "791", + "$id": "803", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 792.8, @@ -4497,31 +4585,31 @@ "Guid": "a221ece1-d35c-4767-b617-3bd5b3b36fe1" }, "Data": { - "$id": "792", + "$id": "804", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Place 2nd step", "Description": null, "Behaviors": { - "$id": "793", + "$id": "805", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "794", + "$id": "806", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "795", + "$id": "807", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "796", + "$id": "808", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "797", + "$id": "809", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "798", + "$id": "810", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "799", + "$id": "811", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "07a0b4da-52ae-470c-af91-17adf3fb3c6f" @@ -4538,36 +4626,36 @@ } }, "Transitions": { - "$id": "800", + "$id": "812", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "801", + "$id": "813", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "802", + "$id": "814", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "803", + "$id": "815", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "804", + "$id": "816", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "805", + "$id": "817", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "806", + "$id": "818", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "807", + "$id": "819", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition+EntityData, VRBuilder.BasicInteraction", "TargetObjects": { - "$id": "808", + "$id": "820", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "809", + "$id": "821", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "dadfd54b-6114-46c5-b1ce-ff6d13ef92cb" @@ -4575,15 +4663,15 @@ } }, "Target": { - "$id": "810", + "$id": "822", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (1)" }, "TargetSnapZone": { - "$id": "811", + "$id": "823", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "812", + "$id": "824", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "7a2d666e-97a2-4898-9718-d4a6a25ea1d9" @@ -4591,7 +4679,7 @@ } }, "ZoneToSnapInto": { - "$id": "813", + "$id": "825", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (1)_SnapZone_1" }, @@ -4601,11 +4689,11 @@ ] }, "TargetStep": { - "$id": "814", + "$id": "826", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "815", + "$id": "827", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -4619,36 +4707,36 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "816", + "$id": "828", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "817", + "$id": "829", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "818", + "$id": "830", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "819", + "$id": "831", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "820", + "$id": "832", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "821", + "$id": "833", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "822", + "$id": "834", "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.DeletableAttribute", "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "823", + "$id": "835", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" @@ -4656,17 +4744,17 @@ ] }, "ChildMetadata": { - "$id": "824", + "$id": "836", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "825", + "$id": "837", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "826", + "$id": "838", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -4678,7 +4766,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "827", + "$id": "839", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -4688,26 +4776,26 @@ } }, { - "$id": "828", + "$id": "840", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "829", + "$id": "841", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "830", + "$id": "842", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "831", + "$id": "843", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "832", + "$id": "844", "$type": "VRBuilder.BasicInteraction.Conditions.SnappedCondition+EntityData, VRBuilder.BasicInteraction", "TargetObjects": { - "$id": "833", + "$id": "845", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "834", + "$id": "846", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "f2830878-3f69-4ee4-98bc-a9b93f030cb7" @@ -4715,15 +4803,15 @@ } }, "Target": { - "$id": "835", + "$id": "847", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnappableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (2)" }, "TargetSnapZone": { - "$id": "836", + "$id": "848", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "837", + "$id": "849", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "7a2d666e-97a2-4898-9718-d4a6a25ea1d9" @@ -4731,7 +4819,7 @@ } }, "ZoneToSnapInto": { - "$id": "838", + "$id": "850", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ISnapZoneProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Sliced Cube (1)_SnapZone_1" }, @@ -4741,11 +4829,11 @@ ] }, "TargetStep": { - "$id": "839", + "$id": "851", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "840", + "$id": "852", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -4759,45 +4847,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "841", + "$id": "853", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "842", + "$id": "854", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "843", + "$id": "855", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "844", + "$id": "856", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "845", + "$id": "857", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "821" + "$ref": "833" }, { - "$ref": "822" + "$ref": "834" }, { - "$ref": "823" + "$ref": "835" } ] }, "ChildMetadata": { - "$id": "846", + "$id": "858", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "847", + "$id": "859", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "848", + "$id": "860", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -4809,7 +4897,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "849", + "$id": "861", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -4824,22 +4912,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "850", + "$id": "862", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "851", + "$id": "863", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "863" + }, "Metadata": { - "$id": "852", + "$id": "864", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "853", + "$id": "865", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "854", + "$id": "866", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -4848,10 +4939,10 @@ } }, { - "$id": "855", + "$id": "867", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "856", + "$id": "868", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 1161.6, @@ -4861,31 +4952,31 @@ "Guid": "83f4e8e2-0d56-40e9-9b36-c4a3b62c9da2" }, "Data": { - "$id": "857", + "$id": "869", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Enable teleportation on the stairs", "Description": null, "Behaviors": { - "$id": "858", + "$id": "870", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "859", + "$id": "871", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "860", + "$id": "872", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "861", + "$id": "873", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "862", + "$id": "874", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "863", + "$id": "875", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "864", + "$id": "876", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "be51c34c-c375-465a-af43-ba76169788b7" @@ -4902,23 +4993,23 @@ } }, "Transitions": { - "$id": "865", + "$id": "877", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "866", + "$id": "878", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "867", + "$id": "879", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "868", + "$id": "880", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "869", + "$id": "881", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "870", + "$id": "882", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [] }, @@ -4926,41 +5017,41 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "871", + "$id": "883", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "872", + "$id": "884", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "873", + "$id": "885", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "874", + "$id": "886", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "875", + "$id": "887", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "686" + "$ref": "695" }, { - "$ref": "687" + "$ref": "696" }, { - "$ref": "688" + "$ref": "697" } ] }, "ChildMetadata": { - "$id": "876", + "$id": "888", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [] } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "877", + "$id": "889", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -4975,22 +5066,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "878", + "$id": "890", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "879", + "$id": "891", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "891" + }, "Metadata": { - "$id": "880", + "$id": "892", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "881", + "$id": "893", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "882", + "$id": "894", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -4999,10 +5093,10 @@ } }, { - "$id": "883", + "$id": "895", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "884", + "$id": "896", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 170.4, @@ -5012,28 +5106,28 @@ "Guid": "3b8d99f7-d100-4053-9db5-ecdeb3ec911f" }, "Data": { - "$id": "885", + "$id": "897", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Climb steps", "Description": null, "Behaviors": { - "$id": "886", + "$id": "898", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "887", + "$id": "899", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "888", + "$id": "900", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "889", + "$id": "901", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "890", + "$id": "902", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "891", + "$id": "903", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Well done! You can now climb the steps!" }, @@ -5048,36 +5142,36 @@ } }, "Transitions": { - "$id": "892", + "$id": "904", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "893", + "$id": "905", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "894", + "$id": "906", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "895", + "$id": "907", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "896", + "$id": "908", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "897", + "$id": "909", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "898", + "$id": "910", "$type": "VRBuilder.BasicInteraction.Conditions.TeleportCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "899", + "$id": "911", "$type": "VRBuilder.BasicInteraction.Conditions.TeleportCondition+EntityData, VRBuilder.BasicInteraction", "TeleportationPoints": { - "$id": "900", + "$id": "912", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITeleportationProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "901", + "$id": "913", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c68eebf5-ffcd-4a77-8227-4c2396bc2513" @@ -5085,7 +5179,7 @@ } }, "TeleportationPoint": { - "$id": "902", + "$id": "914", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITeleportationProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Teleportation Spot_2" }, @@ -5095,11 +5189,11 @@ ] }, "TargetStep": { - "$id": "903", + "$id": "915", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "904", + "$id": "916", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -5113,45 +5207,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "905", + "$id": "917", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "906", + "$id": "918", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "907", + "$id": "919", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "908", + "$id": "920", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "909", + "$id": "921", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "562" + "$id": "922", + "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.FoldableAttribute", + "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "563" + "$id": "923", + "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.DeletableAttribute", + "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$ref": "564" + "$id": "924", + "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.HelpAttribute", + "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "910", + "$id": "925", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "911", + "$id": "926", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "912", + "$id": "927", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -5163,7 +5266,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "913", + "$id": "928", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -5178,22 +5281,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "914", + "$id": "929", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "915", + "$id": "930", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "930" + }, "Metadata": { - "$id": "916", + "$id": "931", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "917", + "$id": "932", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "918", + "$id": "933", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 1 } @@ -5202,44 +5308,44 @@ } }, { - "$id": "919", + "$id": "934", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "920", + "$id": "935", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 609.6, + "x": 674.0, "y": 0.0 }, "StepType": "default", "Guid": "7910e584-deff-4a68-b248-e4ed4872f84b" }, "Data": { - "$id": "921", + "$id": "936", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Take ball", "Description": null, "Behaviors": { - "$id": "922", + "$id": "937", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "923", + "$id": "938", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "924", + "$id": "939", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "925", + "$id": "940", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "926", + "$id": "941", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "927", + "$id": "942", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "928", + "$id": "943", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c0da1293-2f93-4588-8222-78eeaf6370d4" @@ -5252,13 +5358,13 @@ } }, { - "$id": "929", + "$id": "944", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "930", + "$id": "945", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "931", + "$id": "946", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Now the shield has been disabled, you can grab the ball. To finish this course, you must shoot it through the ring. It will return to the initial position if you miss." }, @@ -5273,37 +5379,37 @@ } }, "Transitions": { - "$id": "932", + "$id": "947", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "933", + "$id": "948", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "934", + "$id": "949", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "935", + "$id": "950", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "936", + "$id": "951", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "937", + "$id": "952", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "938", + "$id": "953", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "939", + "$id": "954", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition+EntityData, VRBuilder.BasicInteraction", "KeepUnlocked": true, "Targets": { - "$id": "940", + "$id": "955", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "941", + "$id": "956", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c069190e-dc9c-46d1-a3bb-a4ccd6b6b3bd" @@ -5311,7 +5417,7 @@ } }, "GrabbableProperty": { - "$id": "942", + "$id": "957", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Ball" }, @@ -5325,36 +5431,36 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "943", + "$id": "958", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "944", + "$id": "959", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "945", + "$id": "960", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "946", + "$id": "961", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "947", + "$id": "962", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "948", + "$id": "963", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "949", + "$id": "964", "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.DeletableAttribute", "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "950", + "$id": "965", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" @@ -5362,17 +5468,17 @@ ] }, "ChildMetadata": { - "$id": "951", + "$id": "966", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "952", + "$id": "967", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "953", + "$id": "968", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -5384,7 +5490,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "954", + "$id": "969", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -5399,22 +5505,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "955", + "$id": "970", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "956", + "$id": "971", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "971" + }, "Metadata": { - "$id": "957", + "$id": "972", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "958", + "$id": "973", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "959", + "$id": "974", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -5423,44 +5532,44 @@ } }, { - "$id": "960", + "$id": "975", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "961", + "$id": "976", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { - "x": 403.2, + "x": 468.0, "y": 0.0 }, "StepType": "default", "Guid": "131b33a7-02f8-4e03-9e13-9475f6a369af" }, "Data": { - "$id": "962", + "$id": "977", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Disable shield", "Description": null, "Behaviors": { - "$id": "963", + "$id": "978", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "964", + "$id": "979", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "965", + "$id": "980", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "966", + "$id": "981", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior, VRBuilder.Core", "Data": { - "$id": "967", + "$id": "982", "$type": "VRBuilder.Core.Behaviors.SetObjectsEnabledBehavior+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "968", + "$id": "983", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "969", + "$id": "984", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "9dd1b2b1-f799-4ac7-9759-a753b5c92766" @@ -5473,13 +5582,13 @@ } }, { - "$id": "970", + "$id": "985", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "971", + "$id": "986", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "972", + "$id": "987", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "You cannot take the ball while the shield is active. Touch the panel to disable the shield." }, @@ -5494,44 +5603,44 @@ } }, "Transitions": { - "$id": "973", + "$id": "988", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "974", + "$id": "989", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "975", + "$id": "990", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "976", + "$id": "991", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "977", + "$id": "992", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "978", + "$id": "993", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "979", + "$id": "994", "$type": "VRBuilder.BasicInteraction.Conditions.TouchedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "980", + "$id": "995", "$type": "VRBuilder.BasicInteraction.Conditions.TouchedCondition+EntityData, VRBuilder.BasicInteraction", "TouchableProperties": { - "$id": "981", + "$id": "996", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITouchableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "982", + "$id": "997", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ - "b1a0dd87-02c1-4354-8e10-fb84f67942a6" + "432e7264-1063-458c-b662-b394c36ccaa4" ] } }, "TouchableProperty": { - "$id": "983", + "$id": "998", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.ITouchableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "TouchPanel_1" }, @@ -5542,11 +5651,11 @@ ] }, "TargetStep": { - "$id": "984", + "$id": "999", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "985", + "$id": "1000", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -5560,54 +5669,54 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "986", + "$id": "1001", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "987", + "$id": "1002", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "988", + "$id": "1003", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "989", + "$id": "1004", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "990", + "$id": "1005", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "991", + "$id": "1006", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "992", - "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", - "Name": "VRBuilder.Core.Attributes.DeletableAttribute", - "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" - }, - { - "$id": "993", + "$id": "1007", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" + }, + { + "$id": "1008", + "$type": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core", + "Name": "VRBuilder.Core.Attributes.MenuAttribute", + "TypeId": "VRBuilder.Core.Attributes.MenuAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } ] }, "ChildMetadata": { - "$id": "994", + "$id": "1009", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "995", + "$id": "1010", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, - "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, + "VRBuilder.Core.Attributes.MenuAttribute": null, "ReorderableElement": { - "$id": "996", + "$id": "1011", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -5619,7 +5728,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "997", + "$id": "1012", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -5634,22 +5743,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "998", + "$id": "1013", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "999", + "$id": "1014", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "1014" + }, "Metadata": { - "$id": "1000", + "$id": "1015", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1001", + "$id": "1016", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "1002", + "$id": "1017", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -5658,10 +5770,10 @@ } }, { - "$id": "1003", + "$id": "1018", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "1004", + "$id": "1019", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 164.0, @@ -5671,28 +5783,28 @@ "Guid": "945f7ad3-556e-4b26-8e1d-59f3ead17a07" }, "Data": { - "$id": "1005", + "$id": "1020", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Throw ball", "Description": null, "Behaviors": { - "$id": "1006", + "$id": "1021", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "1007", + "$id": "1022", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "1008", + "$id": "1023", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1009", + "$id": "1024", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "1010", + "$id": "1025", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "1011", + "$id": "1026", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Shoot!" }, @@ -5707,36 +5819,36 @@ } }, "Transitions": { - "$id": "1012", + "$id": "1027", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "1013", + "$id": "1028", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "1014", + "$id": "1029", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1015", + "$id": "1030", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "1016", + "$id": "1031", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "1017", + "$id": "1032", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1018", + "$id": "1033", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "1019", + "$id": "1034", "$type": "VRBuilder.BasicInteraction.Conditions.ReleasedCondition+EntityData, VRBuilder.BasicInteraction", "GrabbableProperties": { - "$id": "1020", + "$id": "1035", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "1021", + "$id": "1036", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c069190e-dc9c-46d1-a3bb-a4ccd6b6b3bd" @@ -5744,7 +5856,7 @@ } }, "GrabbableProperty": { - "$id": "1022", + "$id": "1037", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Ball" }, @@ -5755,11 +5867,11 @@ ] }, "TargetStep": { - "$id": "1023", + "$id": "1038", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "1024", + "$id": "1039", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -5773,36 +5885,36 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "1025", + "$id": "1040", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1026", + "$id": "1041", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "1027", + "$id": "1042", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "1028", + "$id": "1043", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "1029", + "$id": "1044", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1030", + "$id": "1045", "$type": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.FoldableAttribute", "TypeId": "VRBuilder.Core.Attributes.FoldableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "1031", + "$id": "1046", "$type": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.DeletableAttribute", "TypeId": "VRBuilder.Core.Attributes.DeletableAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" }, { - "$id": "1032", + "$id": "1047", "$type": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core", "Name": "VRBuilder.Core.Attributes.HelpAttribute", "TypeId": "VRBuilder.Core.Attributes.HelpAttribute, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" @@ -5810,17 +5922,17 @@ ] }, "ChildMetadata": { - "$id": "1033", + "$id": "1048", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "1034", + "$id": "1049", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "1035", + "$id": "1050", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -5832,7 +5944,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "1036", + "$id": "1051", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -5847,22 +5959,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "1037", + "$id": "1052", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "1038", + "$id": "1053", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "1053" + }, "Metadata": { - "$id": "1039", + "$id": "1054", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1040", + "$id": "1055", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "1041", + "$id": "1056", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -5871,10 +5986,10 @@ } }, { - "$id": "1042", + "$id": "1057", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "1043", + "$id": "1058", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 436.0, @@ -5884,54 +5999,54 @@ "Guid": "e00cfd2a-4626-4b44-af38-db704d251db9" }, "Data": { - "$id": "1044", + "$id": "1059", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Check Throw", "Description": null, "Behaviors": { - "$id": "1045", + "$id": "1060", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "1046", + "$id": "1061", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "1047", + "$id": "1062", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [] } } }, "Transitions": { - "$id": "1048", + "$id": "1063", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "1049", + "$id": "1064", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "1050", + "$id": "1065", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1051", + "$id": "1066", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "1052", + "$id": "1067", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "1053", + "$id": "1068", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1054", + "$id": "1069", "$type": "VRBuilder.Core.Conditions.ObjectInColliderCondition, VRBuilder.Core", "Data": { - "$id": "1055", + "$id": "1070", "$type": "VRBuilder.Core.Conditions.ObjectInColliderCondition+EntityData, VRBuilder.Core", "TargetObjects": { - "$id": "1056", + "$id": "1071", "$type": "VRBuilder.Core.SceneObjects.MultipleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "1057", + "$id": "1072", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c069190e-dc9c-46d1-a3bb-a4ccd6b6b3bd" @@ -5939,15 +6054,15 @@ } }, "TargetObject": { - "$id": "1058", + "$id": "1073", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Ball" }, "TriggerObject": { - "$id": "1059", + "$id": "1074", "$type": "VRBuilder.Core.SceneObjects.SingleScenePropertyReference`1[[VRBuilder.Core.Properties.ColliderWithTriggerProperty, VRBuilder.Core]], VRBuilder.Core", "guids": { - "$id": "1060", + "$id": "1075", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "2713c270-94b8-46cc-82ee-aaad4a2ccbf0" @@ -5955,11 +6070,12 @@ } }, "TriggerProperty": { - "$id": "1061", + "$id": "1076", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.Core.Properties.ColliderWithTriggerProperty, VRBuilder.Core]], VRBuilder.Core", "UniqueName": "TargetCollider" }, "RequiredTimeInside": 0.0, + "ObjectsRequiredInTrigger": 1.0, "Metadata": null } } @@ -5969,45 +6085,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "1062", + "$id": "1077", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1063", + "$id": "1078", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "1064", + "$id": "1079", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "1065", + "$id": "1080", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "1066", + "$id": "1081", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "1030" + "$ref": "1045" }, { - "$ref": "1031" + "$ref": "1046" }, { - "$ref": "1032" + "$ref": "1047" } ] }, "ChildMetadata": { - "$id": "1067", + "$id": "1082", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "1068", + "$id": "1083", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "1069", + "$id": "1084", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -6019,7 +6135,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "1070", + "$id": "1085", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -6029,20 +6145,20 @@ } }, { - "$id": "1071", + "$id": "1086", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "1072", + "$id": "1087", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "1073", + "$id": "1088", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1074", + "$id": "1089", "$type": "VRBuilder.Core.Conditions.TimeoutCondition, VRBuilder.Core", "Data": { - "$id": "1075", + "$id": "1090", "$type": "VRBuilder.Core.Conditions.TimeoutCondition+EntityData, VRBuilder.Core", "Timeout": 4.0, "IsCompleted": false, @@ -6052,11 +6168,11 @@ ] }, "TargetStep": { - "$id": "1076", + "$id": "1091", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "1077", + "$id": "1092", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -6070,45 +6186,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "1078", + "$id": "1093", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1079", + "$id": "1094", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "1080", + "$id": "1095", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "1081", + "$id": "1096", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "1082", + "$id": "1097", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "1030" + "$ref": "1045" }, { - "$ref": "1031" + "$ref": "1046" }, { - "$ref": "1032" + "$ref": "1047" } ] }, "ChildMetadata": { - "$id": "1083", + "$id": "1098", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "1084", + "$id": "1099", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "1085", + "$id": "1100", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -6120,7 +6236,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "1086", + "$id": "1101", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -6135,22 +6251,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "1087", + "$id": "1102", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "1088", + "$id": "1103", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "1103" + }, "Metadata": { - "$id": "1089", + "$id": "1104", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1090", + "$id": "1105", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "1091", + "$id": "1106", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 1 } @@ -6159,10 +6278,10 @@ } }, { - "$id": "1092", + "$id": "1107", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "1093", + "$id": "1108", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 288.0, @@ -6172,28 +6291,28 @@ "Guid": "16958c78-ea08-416b-b04e-d669ada7cf71" }, "Data": { - "$id": "1094", + "$id": "1109", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Reset", "Description": null, "Behaviors": { - "$id": "1095", + "$id": "1110", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "1096", + "$id": "1111", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "1097", + "$id": "1112", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1098", + "$id": "1113", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "1099", + "$id": "1114", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "1100", + "$id": "1115", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Try again!" }, @@ -6204,27 +6323,27 @@ } }, { - "$id": "1101", + "$id": "1116", "$type": "VRBuilder.Core.Behaviors.BehaviorSequence, VRBuilder.Core", "Data": { - "$id": "1102", + "$id": "1117", "$type": "VRBuilder.Core.Behaviors.BehaviorSequence+EntityData, VRBuilder.Core", "PlaysOnRepeat": false, "Behaviors": { - "$id": "1103", + "$id": "1118", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1104", + "$id": "1119", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior, VRBuilder.Core", "Data": { - "$id": "1105", + "$id": "1120", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior+EntityData, VRBuilder.Core", "TargetObject": { - "$id": "1106", + "$id": "1121", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "1107", + "$id": "1122", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c069190e-dc9c-46d1-a3bb-a4ccd6b6b3bd" @@ -6232,15 +6351,15 @@ } }, "Target": { - "$id": "1108", + "$id": "1123", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Ball" }, "FinalPosition": { - "$id": "1109", + "$id": "1124", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "1110", + "$id": "1125", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "ec4fe471-3ad6-4307-bae1-b797028b6424" @@ -6248,7 +6367,7 @@ } }, "PositionProvider": { - "$id": "1111", + "$id": "1126", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Ball origin" }, @@ -6281,16 +6400,16 @@ } }, { - "$id": "1112", + "$id": "1127", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior, VRBuilder.Core", "Data": { - "$id": "1113", + "$id": "1128", "$type": "VRBuilder.Core.Behaviors.MoveObjectBehavior+EntityData, VRBuilder.Core", "TargetObject": { - "$id": "1114", + "$id": "1129", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "1115", + "$id": "1130", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c069190e-dc9c-46d1-a3bb-a4ccd6b6b3bd" @@ -6298,15 +6417,15 @@ } }, "Target": { - "$id": "1116", + "$id": "1131", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Ball" }, "FinalPosition": { - "$id": "1117", + "$id": "1132", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "1118", + "$id": "1133", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "ec4fe471-3ad6-4307-bae1-b797028b6424" @@ -6314,7 +6433,7 @@ } }, "PositionProvider": { - "$id": "1119", + "$id": "1134", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "Ball origin" }, @@ -6356,37 +6475,37 @@ } }, "Transitions": { - "$id": "1120", + "$id": "1135", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "1121", + "$id": "1136", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "1122", + "$id": "1137", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1123", + "$id": "1138", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "1124", + "$id": "1139", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "1125", + "$id": "1140", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1126", + "$id": "1141", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition, VRBuilder.BasicInteraction", "Data": { - "$id": "1127", + "$id": "1142", "$type": "VRBuilder.BasicInteraction.Conditions.GrabbedCondition+EntityData, VRBuilder.BasicInteraction", "KeepUnlocked": true, "Targets": { - "$id": "1128", + "$id": "1143", "$type": "VRBuilder.Core.SceneObjects.MultipleScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "guids": { - "$id": "1129", + "$id": "1144", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [ "c069190e-dc9c-46d1-a3bb-a4ccd6b6b3bd" @@ -6394,7 +6513,7 @@ } }, "GrabbableProperty": { - "$id": "1130", + "$id": "1145", "$type": "VRBuilder.Core.SceneObjects.ScenePropertyReference`1[[VRBuilder.BasicInteraction.Properties.IGrabbableProperty, VRBuilder.BasicInteraction]], VRBuilder.Core", "UniqueName": "Ball" }, @@ -6405,11 +6524,11 @@ ] }, "TargetStep": { - "$id": "1131", + "$id": "1146", "$type": "VRBuilder.Core.Serialization.NewtonsoftJsonProcessSerializerV4+Wrapper+StepRef, VRBuilder.Core", "LifeCycle": null, "StepMetadata": { - "$id": "1132", + "$id": "1147", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 0.0, @@ -6423,45 +6542,45 @@ "Mode": null, "IsCompleted": false, "Metadata": { - "$id": "1133", + "$id": "1148", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1134", + "$id": "1149", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "Conditions": { - "$id": "1135", + "$id": "1150", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.ReorderableListOfAttribute": { - "$id": "1136", + "$id": "1151", "$type": "VRBuilder.Core.Attributes.ListOfAttribute+Metadata, VRBuilder.Core", "ChildAttributes": { - "$id": "1137", + "$id": "1152", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Attributes.MetadataAttribute, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "1030" + "$ref": "1045" }, { - "$ref": "1031" + "$ref": "1046" }, { - "$ref": "1032" + "$ref": "1047" } ] }, "ChildMetadata": { - "$id": "1138", + "$id": "1153", "$type": "System.Collections.Generic.List`1[[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "$values": [ { - "$id": "1139", + "$id": "1154", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "VRBuilder.Core.Attributes.FoldableAttribute": true, "VRBuilder.Core.Attributes.DeletableAttribute": null, "VRBuilder.Core.Attributes.HelpAttribute": null, "ReorderableElement": { - "$id": "1140", + "$id": "1155", "$type": "VRBuilder.Core.UI.Drawers.Metadata.ReorderableElementMetadata, VRBuilder.Core", "MoveUp": false, "MoveDown": false, @@ -6473,7 +6592,7 @@ } }, "VRBuilder.Core.Attributes.ExtendableListAttribute": { - "$id": "1141", + "$id": "1156", "$type": "VRBuilder.Core.Attributes.ExtendableListAttribute+SerializedTypeWrapper, VRBuilder.Core", "Type": "VRBuilder.Core.Conditions.ICondition, VRBuilder.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" } @@ -6488,22 +6607,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "1142", + "$id": "1157", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "1143", + "$id": "1158", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "1158" + }, "Metadata": { - "$id": "1144", + "$id": "1159", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1145", + "$id": "1160", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "1146", + "$id": "1161", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -6512,10 +6634,10 @@ } }, { - "$id": "1147", + "$id": "1162", "$type": "VRBuilder.Core.Step, VRBuilder.Core", "StepMetadata": { - "$id": "1148", + "$id": "1163", "$type": "VRBuilder.Core.StepMetadata, VRBuilder.Core", "Position": { "x": 177.6, @@ -6525,28 +6647,28 @@ "Guid": "020003d6-1d00-4fc2-884a-2983a08d03f5" }, "Data": { - "$id": "1149", + "$id": "1164", "$type": "VRBuilder.Core.Step+EntityData, VRBuilder.Core", "Name": "Confetti!", "Description": null, "Behaviors": { - "$id": "1150", + "$id": "1165", "$type": "VRBuilder.Core.BehaviorCollection, VRBuilder.Core", "Data": { - "$id": "1151", + "$id": "1166", "$type": "VRBuilder.Core.BehaviorCollection+EntityData, VRBuilder.Core", "Behaviors": { - "$id": "1152", + "$id": "1167", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.IBehavior, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1153", + "$id": "1168", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior, VRBuilder.Core", "Data": { - "$id": "1154", + "$id": "1169", "$type": "VRBuilder.Core.Behaviors.PlayAudioBehavior+EntityData, VRBuilder.Core", "AudioData": { - "$id": "1155", + "$id": "1170", "$type": "VRBuilder.TextToSpeech.Audio.TextToSpeechAudio, VRBuilder.TextToSpeech", "Text": "Great shot! This concludes the demo process. If you like VR Builder, please make sure to leave a review on the Unity Asset store. We would be grateful!" }, @@ -6557,23 +6679,23 @@ } }, { - "$id": "1156", + "$id": "1171", "$type": "VRBuilder.Core.Behaviors.ConfettiBehavior, VRBuilder.Core", "Data": { - "$id": "1157", + "$id": "1172", "$type": "VRBuilder.Core.Behaviors.ConfettiBehavior+EntityData, VRBuilder.Core", "IsAboveUser": true, "ConfettiPosition": { - "$id": "1158", + "$id": "1173", "$type": "VRBuilder.Core.SceneObjects.SingleSceneObjectReference, VRBuilder.Core", "guids": { - "$id": "1159", + "$id": "1174", "$type": "System.Collections.Generic.List`1[[System.Guid, mscorlib]], mscorlib", "$values": [] } }, "PositionProvider": { - "$id": "1160", + "$id": "1175", "$type": "VRBuilder.Core.SceneObjects.SceneObjectReference, VRBuilder.Core", "UniqueName": "" }, @@ -6589,23 +6711,23 @@ } }, "Transitions": { - "$id": "1161", + "$id": "1176", "$type": "VRBuilder.Core.TransitionCollection, VRBuilder.Core", "Data": { - "$id": "1162", + "$id": "1177", "$type": "VRBuilder.Core.TransitionCollection+EntityData, VRBuilder.Core", "Transitions": { - "$id": "1163", + "$id": "1178", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.ITransition, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1164", + "$id": "1179", "$type": "VRBuilder.Core.Transition, VRBuilder.Core", "Data": { - "$id": "1165", + "$id": "1180", "$type": "VRBuilder.Core.Transition+EntityData, VRBuilder.Core", "Conditions": { - "$id": "1166", + "$id": "1181", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Conditions.ICondition, VRBuilder.Core]], mscorlib", "$values": [] }, @@ -6621,22 +6743,25 @@ }, "Mode": null, "ToUnlock": { - "$id": "1167", + "$id": "1182", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.Behaviors.LockablePropertyReference, VRBuilder.Core]], mscorlib", "$values": [] }, "TagsToUnlock": { - "$id": "1168", + "$id": "1183", "$type": "System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[System.Collections.Generic.IEnumerable`1[[System.Type, mscorlib]], mscorlib]], mscorlib" }, + "GroupsToUnlock": { + "$ref": "1183" + }, "Metadata": { - "$id": "1169", + "$id": "1184", "$type": "VRBuilder.Core.Metadata, VRBuilder.Core", "values": { - "$id": "1170", + "$id": "1185", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib]], mscorlib", "TabsGroup": { - "$id": "1171", + "$id": "1186", "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib", "selected": 0 } @@ -6647,44 +6772,58 @@ ] }, "Process": { - "$id": "1172", + "$id": "1187", "$type": "VRBuilder.Core.Process, VRBuilder.Core", "CurrentStep": null, "ProcessMetadata": { - "$id": "1173", + "$id": "1188", "$type": "VRBuilder.Core.ProcessMetadata, VRBuilder.Core", "StringLocalizationTable": null, "Guid": "30bb3047-44ad-4af1-a744-9102beeff0c9" }, "Data": { - "$id": "1174", + "$id": "1189", "$type": "VRBuilder.Core.Process+EntityData, VRBuilder.Core", "Chapters": { - "$id": "1175", + "$id": "1190", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IChapter, VRBuilder.Core]], mscorlib", "$values": [ { - "$id": "1176", + "$id": "1191", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1177", + "$id": "1192", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": 0.0, "y": 0.0 }, - "Guid": "5fc899d8-cb5c-4a38-8ccf-5bc170a5b831" + "Guid": "5fc899d8-cb5c-4a38-8ccf-5bc170a5b831", + "ViewTransform": { + "$id": "1193", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": 908.0, + "y": 530.4, + "z": 0.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + } + } }, "Data": { - "$id": "1178", + "$id": "1194", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "Introduction", "FirstStep": { "$ref": "4" }, "Steps": { - "$id": "1179", + "$id": "1195", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { @@ -6695,27 +6834,41 @@ } }, { - "$id": "1180", + "$id": "1196", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1181", + "$id": "1197", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": 0.0, "y": 0.0 }, - "Guid": "53cd98f5-7288-4cd6-aac1-d6f9d42662f9" + "Guid": "53cd98f5-7288-4cd6-aac1-d6f9d42662f9", + "ViewTransform": { + "$id": "1198", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": 594.4, + "y": 629.6, + "z": 0.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + } + } }, "Data": { - "$id": "1182", + "$id": "1199", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "The magic cube", "FirstStep": { "$ref": "24" }, "Steps": { - "$id": "1183", + "$id": "1200", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { @@ -6725,213 +6878,283 @@ "$ref": "63" }, { - "$ref": "99" + "$ref": "102" }, { - "$ref": "138" + "$ref": "144" }, { - "$ref": "202" + "$ref": "208" } ] } } }, { - "$id": "1184", + "$id": "1201", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1185", + "$id": "1202", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": 0.0, "y": 0.0 }, - "Guid": "1eb3fcef-7d88-4639-ae1f-26b83f68c1dc" + "Guid": "1eb3fcef-7d88-4639-ae1f-26b83f68c1dc", + "ViewTransform": { + "$id": "1203", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": -266.666656, + "y": 106.666664, + "z": 0.0 + }, + "Scale": { + "x": 0.8695652, + "y": 0.8695652, + "z": 1.0 + } + } }, "Data": { - "$id": "1186", + "$id": "1204", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "Slice the magic cube", "FirstStep": { - "$ref": "241" + "$ref": "247" }, "Steps": { - "$id": "1187", + "$id": "1205", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "241" + "$ref": "247" }, { - "$ref": "285" + "$ref": "294" }, { - "$ref": "340" + "$ref": "346" }, { - "$ref": "401" + "$ref": "407" }, { - "$ref": "437" + "$ref": "443" }, { - "$ref": "473" + "$ref": "482" }, { - "$ref": "509" + "$ref": "521" }, { - "$ref": "594" + "$ref": "603" }, { - "$ref": "661" + "$ref": "670" } ] } } }, { - "$id": "1188", + "$id": "1206", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1189", + "$id": "1207", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": -35.2, "y": 0.0 }, - "Guid": "fa66dc89-dbc6-47ec-88cb-534ec7ce0580" + "Guid": "fa66dc89-dbc6-47ec-88cb-534ec7ce0580", + "ViewTransform": { + "$id": "1208", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": -227.333328, + "y": 111.333336, + "z": 0.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + } + } }, "Data": { - "$id": "1190", + "$id": "1209", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "Assemble stairs", "FirstStep": { - "$ref": "760" + "$ref": "769" }, "Steps": { - "$id": "1191", + "$id": "1210", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "696" + "$ref": "705" }, { - "$ref": "760" + "$ref": "769" }, { - "$ref": "790" + "$ref": "802" }, { - "$ref": "855" + "$ref": "867" } ] } } }, { - "$id": "1192", + "$id": "1211", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1193", + "$id": "1212", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": 0.0, "y": 0.0 }, - "Guid": "6caae853-2510-42fe-947b-4e44a41aaf26" + "Guid": "6caae853-2510-42fe-947b-4e44a41aaf26", + "ViewTransform": { + "$id": "1213", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": 400.0, + "y": 431.0, + "z": 0.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + } + } }, "Data": { - "$id": "1194", + "$id": "1214", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "Disable shield", "FirstStep": { - "$ref": "883" + "$ref": "895" }, "Steps": { - "$id": "1195", + "$id": "1215", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "883" + "$ref": "895" }, { - "$ref": "919" + "$ref": "934" }, { - "$ref": "960" + "$ref": "975" } ] } } }, { - "$id": "1196", + "$id": "1216", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1197", + "$id": "1217", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": -21.6, "y": 0.0 }, - "Guid": "82c893d1-f030-4716-bea7-16cdbb5b27b5" + "Guid": "82c893d1-f030-4716-bea7-16cdbb5b27b5", + "ViewTransform": { + "$id": "1218", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": 421.6, + "y": 431.0, + "z": 0.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + } + } }, "Data": { - "$id": "1198", + "$id": "1219", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "Throw ball", "FirstStep": { - "$ref": "1003" + "$ref": "1018" }, "Steps": { - "$id": "1199", + "$id": "1220", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "1003" + "$ref": "1018" }, { - "$ref": "1042" + "$ref": "1057" }, { - "$ref": "1092" + "$ref": "1107" } ] } } }, { - "$id": "1200", + "$id": "1221", "$type": "VRBuilder.Core.Chapter, VRBuilder.Core", "ChapterMetadata": { - "$id": "1201", + "$id": "1222", "$type": "VRBuilder.Core.ChapterMetadata, VRBuilder.Core", "LastSelectedStep": null, "EntryNodePosition": { "x": 0.0, "y": 0.0 }, - "Guid": "815698a8-1cb5-48c1-8ab4-303ea405fd3e" + "Guid": "815698a8-1cb5-48c1-8ab4-303ea405fd3e", + "ViewTransform": { + "$id": "1223", + "$type": "VRBuilder.Core.ViewTransform, VRBuilder.Core", + "Position": { + "x": 400.0, + "y": 431.0, + "z": 0.0 + }, + "Scale": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + } + } }, "Data": { - "$id": "1202", + "$id": "1224", "$type": "VRBuilder.Core.Chapter+EntityData, VRBuilder.Core", "Name": "Outro", "FirstStep": { - "$ref": "1147" + "$ref": "1162" }, "Steps": { - "$id": "1203", + "$id": "1225", "$type": "System.Collections.Generic.List`1[[VRBuilder.Core.IStep, VRBuilder.Core]], mscorlib", "$values": [ { - "$ref": "1147" + "$ref": "1162" } ] } @@ -6940,7 +7163,7 @@ ] }, "FirstChapter": { - "$ref": "1176" + "$ref": "1191" }, "Name": "Demo - Core Features", "Mode": null, diff --git a/NOTICE.txt b/NOTICE.txt index 23746d81c..20ba0f6d4 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -17,6 +17,6 @@ This product contains parts of UltimateXR (https://github.com/VRMADA/ultimatexr- This product contains software Microsoft Speech Library developed by Microsoft, license is unknown as of 2019-12-20. -This product includes software Licensed under the Unity Companion License for Unity-dependent projects--see Unity Companion License http://www.unity3d.com/legal/licenses/Unity_Companion_License. +This product includes software and assets Licensed under the Unity Companion License for Unity-dependent projects--see Unity Companion License http://www.unity3d.com/legal/licenses/Unity_Companion_License Modifications copyright 2021-2024 MindPort GmbH \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Blue.mat b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Blue.mat index 39210d111..c764518d9 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Blue.mat +++ b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Blue.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5521126976827729674 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -8,21 +21,29 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Blue - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: 0406db5a14f94604a8c57ccfbc9f3b46, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _ALPHATEST_ON - m_InvalidKeywords: [] + - _EMISSION + m_InvalidKeywords: + - _FLIPBOOKBLENDING_OFF m_LightmapFlags: 0 m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: -1 stringTagMap: - RenderType: TransparentCutout + RenderType: Opaque disabledShaderPasses: - GRABPASS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -61,6 +82,9 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AlphaClip: 1 + - _AlphaToMask: 0 + - _Blend: 0 - _BlendOp: 0 - _BumpScale: 1 - _CameraFadingEnabled: 0 @@ -75,7 +99,9 @@ Material: - _DistortionStrength: 1 - _DistortionStrengthScaled: 0 - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EmissionEnabled: 0 + - _FlipbookBlending: 0 - _FlipbookMode: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 @@ -86,20 +112,26 @@ Material: - _Mode: 1 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 - _SmoothnessTextureChannel: 0 - _SoftParticlesEnabled: 1 - _SoftParticlesFarFadeDistance: 1 - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0.16470584, g: 0.4313725, b: 1, a: 1} + - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0.16470589, g: 0.43137255, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} - _ColorAddSubDiff: {r: -1, g: 0, b: 0, a: 0} - _EmisColor: {r: 0, g: 0, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - _TintColor: {r: 1, g: 1, b: 0, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Green.mat b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Green.mat index 7aa5a7050..2e5f6c90a 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Green.mat +++ b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Green.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8883278002151847894 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -8,21 +21,29 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Green - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: 0406db5a14f94604a8c57ccfbc9f3b46, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _ALPHATEST_ON - m_InvalidKeywords: [] + - _EMISSION + m_InvalidKeywords: + - _FLIPBOOKBLENDING_OFF m_LightmapFlags: 0 m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: -1 stringTagMap: - RenderType: TransparentCutout + RenderType: Opaque disabledShaderPasses: - GRABPASS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -61,6 +82,9 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AlphaClip: 1 + - _AlphaToMask: 0 + - _Blend: 0 - _BlendOp: 0 - _BumpScale: 1 - _CameraFadingEnabled: 0 @@ -75,7 +99,9 @@ Material: - _DistortionStrength: 1 - _DistortionStrengthScaled: 0 - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EmissionEnabled: 0 + - _FlipbookBlending: 0 - _FlipbookMode: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 @@ -86,20 +112,26 @@ Material: - _Mode: 1 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 - _SmoothnessTextureChannel: 0 - _SoftParticlesEnabled: 1 - _SoftParticlesFarFadeDistance: 1 - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 0.47058815, g: 0.945098, b: 0.78431374, a: 1} + - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} - _ColorAddSubDiff: {r: -1, g: 0, b: 0, a: 0} - _EmisColor: {r: 0, g: 0, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - _TintColor: {r: 1, g: 1, b: 0, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Red.mat b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Red.mat index cbec1570d..393dfcf64 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Red.mat +++ b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Red.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3116325498020322705 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -8,21 +21,29 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Red - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: 0406db5a14f94604a8c57ccfbc9f3b46, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _ALPHATEST_ON - m_InvalidKeywords: [] + - _EMISSION + m_InvalidKeywords: + - _FLIPBOOKBLENDING_OFF m_LightmapFlags: 0 m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: -1 stringTagMap: - RenderType: TransparentCutout + RenderType: Opaque disabledShaderPasses: - GRABPASS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -61,6 +82,9 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AlphaClip: 1 + - _AlphaToMask: 0 + - _Blend: 0 - _BlendOp: 0 - _BumpScale: 1 - _CameraFadingEnabled: 0 @@ -75,7 +99,9 @@ Material: - _DistortionStrength: 1 - _DistortionStrengthScaled: 0 - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EmissionEnabled: 0 + - _FlipbookBlending: 0 - _FlipbookMode: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 @@ -86,20 +112,26 @@ Material: - _Mode: 1 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 - _SmoothnessTextureChannel: 0 - _SoftParticlesEnabled: 1 - _SoftParticlesFarFadeDistance: 1 - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 1, g: 0.39215684, b: 0.18431368, a: 1} + - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} - _ColorAddSubDiff: {r: -1, g: 0, b: 0, a: 0} - _EmisColor: {r: 0, g: 0, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - _TintColor: {r: 1, g: 1, b: 0, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Yellow.mat b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Yellow.mat index a6e96e380..0dd9d5483 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Yellow.mat +++ b/Source/Basic-Conditions-And-Behaviors/Runtime/Resources/Confetti/Materials/Yellow.mat @@ -1,5 +1,18 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3693058436215852883 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 --- !u!21 &2100000 Material: serializedVersion: 8 @@ -8,21 +21,29 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Yellow - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: 0406db5a14f94604a8c57ccfbc9f3b46, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _ALPHATEST_ON - m_InvalidKeywords: [] + - _EMISSION + m_InvalidKeywords: + - _FLIPBOOKBLENDING_OFF m_LightmapFlags: 0 m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: -1 stringTagMap: - RenderType: TransparentCutout + RenderType: Opaque disabledShaderPasses: - GRABPASS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -61,6 +82,9 @@ Material: m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AlphaClip: 1 + - _AlphaToMask: 0 + - _Blend: 0 - _BlendOp: 0 - _BumpScale: 1 - _CameraFadingEnabled: 0 @@ -75,7 +99,9 @@ Material: - _DistortionStrength: 1 - _DistortionStrengthScaled: 0 - _DstBlend: 0 + - _DstBlendAlpha: 0 - _EmissionEnabled: 0 + - _FlipbookBlending: 0 - _FlipbookMode: 0 - _GlossMapScale: 1 - _Glossiness: 0.5 @@ -86,20 +112,26 @@ Material: - _Mode: 1 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 - _SmoothnessTextureChannel: 0 - _SoftParticlesEnabled: 1 - _SoftParticlesFarFadeDistance: 1 - _SoftParticlesNearFadeDistance: 0 - _SpecularHighlights: 1 - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 - _UVSec: 0 - _ZWrite: 1 m_Colors: + - _BaseColor: {r: 1, g: 0.93333334, b: 0.29019606, a: 1} + - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 0.93333334, b: 0.2901961, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} - _ColorAddSubDiff: {r: -1, g: 0, b: 0, a: 0} - _EmisColor: {r: 0, g: 0, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} + - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - _TintColor: {r: 1, g: 1, b: 0, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs b/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs index 6336fd0c6..edac8362a 100644 --- a/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs +++ b/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs @@ -21,15 +21,15 @@ public override void Setup(ISceneSetupConfiguration configuration) { RemoveMainCamera(); - InteractionRigSetup setup = Object.FindObjectOfType(); + InteractionRigSetup setup = Object.FindFirstObjectByType(); if (setup == null) { SetupPrefab("INTERACTION_RIG_LOADER"); - setup = Object.FindObjectOfType(); + setup = Object.FindFirstObjectByType(); setup.UpdateRigList(); } - UserSceneObject user = Object.FindObjectOfType(); + UserSceneObject user = Object.FindFirstObjectByType(); if (user == null) { SetupPrefab("USER_DUMMY"); diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat b/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat index 9ccc234aa..0ccab8877 100644 --- a/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat +++ b/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat @@ -25,6 +25,7 @@ Material: disabledShaderPasses: - DepthOnly - SHADOWCASTER + - MOTIONVECTORS m_LockedProperties: m_SavedProperties: serializedVersion: 3 @@ -125,6 +126,7 @@ Material: - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 --- !u!114 &2651022132593954100 MonoBehaviour: m_ObjectHideFlags: 11 @@ -137,4 +139,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 7 + version: 9 diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab b/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab index d2b293447..2081f1165 100644 --- a/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab +++ b/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab @@ -58,6 +58,9 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -142,10 +145,13 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 5984489a6c8753743953c8d64d3265fb, type: 2} + - {fileID: 2100000, guid: ab885650ca87af54d8a0e2e50e88b644, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat b/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat deleted file mode 100644 index 19da09927..000000000 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: ControllerMaterial - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - m_LightmapFlags: 4 - 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: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - 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: 0.517 - - _Glossiness: 0.641 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 1 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx b/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx deleted file mode 100644 index 69b11e3dd..000000000 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:871567ffbad3056b03a3247f479e982bbe16c5436982850f3d7886b5c7288b79 -size 89920 diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies.meta b/Source/XR-Interaction-Component/PackageManager.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/PackageDependencies.meta rename to Source/XR-Interaction-Component/PackageManager.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/VRBuilder.Editor.PackageManager.XRInteraction.asmdef b/Source/XR-Interaction-Component/PackageManager/VRBuilder.Editor.PackageManager.XRInteraction.asmdef similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/PackageDependencies/VRBuilder.Editor.PackageManager.XRInteraction.asmdef rename to Source/XR-Interaction-Component/PackageManager/VRBuilder.Editor.PackageManager.XRInteraction.asmdef diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/VRBuilder.Editor.PackageManager.XRInteraction.asmdef.meta b/Source/XR-Interaction-Component/PackageManager/VRBuilder.Editor.PackageManager.XRInteraction.asmdef.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/PackageDependencies/VRBuilder.Editor.PackageManager.XRInteraction.asmdef.meta rename to Source/XR-Interaction-Component/PackageManager/VRBuilder.Editor.PackageManager.XRInteraction.asmdef.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRInteractionPackageEnabler.cs b/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs similarity index 73% rename from Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRInteractionPackageEnabler.cs rename to Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs index 54a743d9f..763913421 100644 --- a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRInteractionPackageEnabler.cs +++ b/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs @@ -9,10 +9,7 @@ public class XRInteractionPackageEnabler : Dependency public override string Package { get; } = "com.unity.xr.interaction.toolkit"; /// - public override string Version { get; set; } = "2.5.2"; - - /// - public override string[] Samples { get; } = { "XR Device Simulator", "Hands Interaction Demo", "Starter Assets" }; + public override string Version { get; set; } = "3.0.5"; /// public override int Priority { get; } = 4; diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRInteractionPackageEnabler.cs.meta b/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRInteractionPackageEnabler.cs.meta rename to Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs b/Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs deleted file mode 100644 index d67ed64e4..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs +++ /dev/null @@ -1,430 +0,0 @@ -using UnityEditor; -using UnityEngine; -using VRBuilder.XRInteraction; -using UnityEngine.XR.Interaction.Toolkit; - -namespace VRBuilder.Editor.XRInteraction -{ - /// - /// Drawer class for . - /// - [CustomEditor(typeof(RayInteractor))] - [CanEditMultipleObjects] - internal class RayInteractorEditor : UnityEditor.Editor - { - private SerializedProperty interactionManager; - private SerializedProperty interactionLayerMask; - private SerializedProperty attachTransform; - private SerializedProperty startingSelectedInteractable; - private SerializedProperty selectActionTrigger; - private SerializedProperty hideControllerOnSelect; - - private SerializedProperty playAudioClipOnSelectEntered; - private SerializedProperty audioClipForOnSelectEntered; - private SerializedProperty playAudioClipOnSelectExited; - private SerializedProperty audioClipForOnSelectExited; - private SerializedProperty playAudioClipOnHoverEntered; - private SerializedProperty audioClipForOnHoverEntered; - private SerializedProperty playAudioClipOnHoverExited; - private SerializedProperty audioClipForOnHoverExited; - - private SerializedProperty playHapticsOnSelectEntered; - private SerializedProperty hapticSelectEnterIntensity; - private SerializedProperty hapticSelectEnterDuration; - private SerializedProperty playHapticsOnHoverEntered; - private SerializedProperty hapticHoverEnterIntensity; - private SerializedProperty hapticHoverEnterDuration; - private SerializedProperty playHapticsOnSelectExited; - private SerializedProperty hapticSelectExitIntensity; - private SerializedProperty hapticSelectExitDuration; - private SerializedProperty playHapticsOnHoverExited; - private SerializedProperty hapticHoverExitIntensity; - private SerializedProperty hapticHoverExitDuration; - - private SerializedProperty maxRaycastDistance; - private SerializedProperty hitDetectionType; - private SerializedProperty sphereCastRadius; - private SerializedProperty raycastMask; - private SerializedProperty raycastTriggerInteraction; - private SerializedProperty hoverToSelect; - private SerializedProperty hoverTimeToSelect; - private SerializedProperty enableUIInteraction; - - private SerializedProperty lineType; - private SerializedProperty endPointDistance; - private SerializedProperty endPointHeight; - private SerializedProperty controlPointDistance; - private SerializedProperty controlPointHeight; - private SerializedProperty sampleFrequency; - - private SerializedProperty velocity; - private SerializedProperty acceleration; - private SerializedProperty additionalFlightTime; - private SerializedProperty referenceFrame; - - private SerializedProperty onHoverEntered; - private SerializedProperty onHoverExited; - private SerializedProperty onSelectEntered; - private SerializedProperty onSelectExited; - - private SerializedProperty keepSelectedTargetValid; - private SerializedProperty allowAnchorControl; - private SerializedProperty useForceGrab; - private SerializedProperty anchorRotateSpeed; - private SerializedProperty anchorTranslateSpeed; - - private static class Tooltips - { - public static readonly GUIContent InteractionManager = new GUIContent("Interaction Manager", "Manager to handle all interaction management (will find one if empty)."); - public static readonly GUIContent InteractionLayerMask = new GUIContent("Interaction Layer Mask", "Only interactables with this Layer Mask will respond to this interactor."); - public static readonly GUIContent AttachTransform = new GUIContent("Attach Transform", "Attach Transform to use for this Interactor. Will create empty GameObject if none set."); - public static readonly GUIContent StartingSelectedInteractable = new GUIContent("Starting Selected Interactable", "Interactable that will be selected upon start."); - public static readonly GUIContent SelectActionTrigger = new GUIContent("Select Action Trigger", "Choose how the select action is triggered by current state, state transitions, toggle when the select button is pressed, or [Sticky] toggle on when the select button is pressed and off the second time the select button is depressed."); - public static readonly GUIContent HideControllerOnSelect = new GUIContent("Hide Controller On Select", "Hide controller on select."); - - public static readonly GUIContent PlayAudioClipOnSelectEntered = new GUIContent("On Select Entered", "Play an audio clip when the Select state is entered."); - public static readonly GUIContent AudioClipForOnSelectEntered = new GUIContent("AudioClip To Play", "The audio clip to play when the Select state is entered."); - public static readonly GUIContent PlayAudioClipOnSelectExited = new GUIContent("On Select Exited", "Play an audio clip when the Select state is exited."); - public static readonly GUIContent AudioClipForOnSelectExited = new GUIContent("AudioClip To Play", "The audio clip to play when the Select state is exited."); - public static readonly GUIContent PlayAudioClipOnHoverEntered = new GUIContent("On Hover Entered", "Play an audio clip when the Hover state is entered."); - public static readonly GUIContent AudioClipForOnHoverEntered = new GUIContent("AudioClip To Play", "The audio clip to play when the Hover state is entered."); - public static readonly GUIContent PlayAudioClipOnHoverExited = new GUIContent("On Hover Exited", "Play an audio clip when the Hover state is exited."); - public static readonly GUIContent AudioClipForOnHoverExited = new GUIContent("AudioClip To Play", "The audio clip to play when the Hover state is exited."); - - public static readonly GUIContent PlayHapticsOnSelectEntered = new GUIContent("On Select Entered", "Play haptics when the Select state is entered."); - public static readonly GUIContent HapticSelectEnterIntensity = new GUIContent("Haptic Intensity", "Haptics intensity to play when the Select state is entered."); - public static readonly GUIContent HapticSelectEnterDuration = new GUIContent("Duration", "Haptics duration (in seconds) to play when the Select state is entered."); - public static readonly GUIContent PlayHapticsOnHoverEntered = new GUIContent("On Hover Entered", "Play haptics when the Hover State is entered."); - public static readonly GUIContent HapticHoverEnterIntensity = new GUIContent("Haptic Intensity", "Haptics intensity to play when the Hover state is entered."); - public static readonly GUIContent HapticHoverEnterDuration = new GUIContent("Duration", "Haptics duration (in seconds) to play when the Hover state is entered."); - public static readonly GUIContent PlayHapticsOnSelectExited = new GUIContent("On Select Exited", "Play haptics when the Select state is exited."); - public static readonly GUIContent HapticSelectExitIntensity = new GUIContent("Haptic Intensity", "Haptics intensity to play when the Select state is exited."); - public static readonly GUIContent HapticSelectExitDuration = new GUIContent("Duration", "Haptics duration (in seconds) to play when the Select state is exited."); - public static readonly GUIContent PlayHapticsOnHoverExited = new GUIContent("On Hover Exited", "Play haptics when the Hover state is exited."); - public static readonly GUIContent HapticHoverExitIntensity = new GUIContent("Haptic Intensity", "Haptics intensity to play when the Hover state is exited."); - public static readonly GUIContent HapticHoverExitDuration = new GUIContent("Duration", "Haptics duration (in seconds) to play when the Hover state is exited."); - - public static readonly GUIContent MaxRaycastDistance = new GUIContent("Max Raycast Distance", "Max distance of ray cast. Increase this value will let you reach further."); - public static readonly GUIContent SphereCastRadius = new GUIContent("Sphere Cast Radius", "Radius of this Interactor's ray, used for sphere casting."); - public static readonly GUIContent RaycastMask = new GUIContent("Raycast Mask", "Layer mask used for limiting raycast targets."); - public static readonly GUIContent RaycastTriggerInteraction = new GUIContent("Raycast Trigger Interaction", "Type of interaction with trigger colliders via raycast."); - public static readonly GUIContent HoverToSelect = new GUIContent("Hover To Select", "If true, this interactor will simulate a Select event if hovered over an Interactable for some amount of time. Selection will be exited when the Interactor is no longer hovering over the Interactable."); - public static readonly GUIContent EoverTimeToSelect = new GUIContent("Hover Time To Select", "Number of seconds for which this interactor must hover over an object to select it."); - public static readonly GUIContent EnableUIInteraction = new GUIContent("Enable Interaction with UI GameObjects", "If checked, this interactor will be able to affect UI."); - public static readonly GUIContent LineType = new GUIContent("Line Type", "Line type of the ray cast."); - public static readonly GUIContent EndPointDistance = new GUIContent("End Point Distance", "Increase this value distance will make the end of curve further from the start point."); - public static readonly GUIContent ControlPointDistance = new GUIContent("Control Point Distance", "Increase this value will make the peak of the curve further from the start point."); - public static readonly GUIContent EndPointHeight = new GUIContent("End Point Height", "Decrease this value will make the end of the curve drop lower relative to the start point."); - public static readonly GUIContent ControlPointHeight = new GUIContent("Control Point Height", "Increase this value will make the peak of the curve higher relative to the start point."); - public static readonly GUIContent SampleFrequency = new GUIContent("Sample Frequency", "Gets or sets the number of sample points of the curve, should be at least 3, the higher the better quality."); - public static readonly GUIContent Velocity = new GUIContent("Velocity", "Initial velocity of the projectile. Increase this value will make the curve reach further."); - public static readonly GUIContent Acceleration = new GUIContent("Acceleration", "Gravity of the projectile in the reference frame."); - public static readonly GUIContent AdditionalFlightTime = new GUIContent("Additional Flight Time", "Additional flight time after the projectile lands at the same height of the start point in the tracking space. Increase this value will make the end point drop lower in height."); - public static readonly GUIContent ReferenceFrame = new GUIContent("Reference Frame", "The reference frame of the projectile. If not set it will try to find the XRRig GameObject, and if that does not exist it will use its own Transform."); - public static readonly GUIContent HitDetectionType = new GUIContent("Hit Detection Type", "The type of hit detection used to hit interactable objects."); - - public static readonly GUIContent KeepSelectedTargetValid = new GUIContent("Keep Selected Target Valid", "Keep selecting the target when not pointing to it after initially selecting it. It is recommended to set this value to true for grabbing objects, false for teleportation interactables."); - public static readonly GUIContent AllowAnchorControl = new GUIContent("Anchor Control", "Allows the user to move the attach anchor point using the joystick."); - public static readonly GUIContent ForceGrab = new GUIContent("Force Grab", "Force grab moves the object to your hand rather than interacting with it at a distance."); - public static readonly GUIContent AnchorRotateSpeed = new GUIContent("Rotate Speed", "Speed that the anchor is rotated."); - public static readonly GUIContent AnchorTranslateSpeed = new GUIContent("Translate Speed", "Speed that the anchor is translated."); - - public static readonly string StartingInteractableWarning = "A Starting Selected Interactable will be instantly deselected unless the Interactor's Toggle Select Mode is set to 'Toggle' or 'Sticky'."; - public static readonly string MissingRequiredController = "XR Ray Interactor requires the GameObject to have an XR Controller component. Add one to ensure this component can respond to user input."; - } - - private void OnEnable() - { - interactionManager = serializedObject.FindProperty("m_InteractionManager"); - interactionLayerMask = serializedObject.FindProperty("m_InteractionLayers"); - attachTransform = serializedObject.FindProperty("m_AttachTransform"); - startingSelectedInteractable = serializedObject.FindProperty("m_StartingSelectedInteractable"); - selectActionTrigger = serializedObject.FindProperty("m_SelectActionTrigger"); - hideControllerOnSelect = serializedObject.FindProperty("m_HideControllerOnSelect"); - - maxRaycastDistance = serializedObject.FindProperty("m_MaxRaycastDistance"); - sphereCastRadius = serializedObject.FindProperty("m_SphereCastRadius"); - hitDetectionType = serializedObject.FindProperty("m_HitDetectionType"); - raycastMask = serializedObject.FindProperty("m_RaycastMask"); - raycastTriggerInteraction = serializedObject.FindProperty("m_RaycastTriggerInteraction"); - hoverToSelect = serializedObject.FindProperty("m_HoverToSelect"); - hoverTimeToSelect = serializedObject.FindProperty("m_HoverTimeToSelect"); - enableUIInteraction = serializedObject.FindProperty("m_EnableUIInteraction"); - - lineType = serializedObject.FindProperty("m_LineType"); - endPointDistance = serializedObject.FindProperty("m_EndPointDistance"); - endPointHeight = serializedObject.FindProperty("m_EndPointHeight"); - controlPointDistance = serializedObject.FindProperty("m_ControlPointDistance"); - controlPointHeight = serializedObject.FindProperty("m_ControlPointHeight"); - sampleFrequency = serializedObject.FindProperty("m_SampleFrequency"); - - referenceFrame = serializedObject.FindProperty("m_ReferenceFrame"); - velocity = serializedObject.FindProperty("m_Velocity"); - acceleration = serializedObject.FindProperty("m_Acceleration"); - additionalFlightTime = serializedObject.FindProperty("m_AdditionalFlightTime"); - - keepSelectedTargetValid = serializedObject.FindProperty("m_KeepSelectedTargetValid"); - allowAnchorControl = serializedObject.FindProperty("m_AllowAnchorControl"); - useForceGrab = serializedObject.FindProperty("m_UseForceGrab"); - anchorRotateSpeed = serializedObject.FindProperty("m_RotateSpeed"); - anchorTranslateSpeed = serializedObject.FindProperty("m_TranslateSpeed"); - - playAudioClipOnSelectEntered = serializedObject.FindProperty("m_PlayAudioClipOnSelectEntered"); - audioClipForOnSelectEntered = serializedObject.FindProperty("m_AudioClipForOnSelectEntered"); - playAudioClipOnSelectExited = serializedObject.FindProperty("m_PlayAudioClipOnSelectExited"); - audioClipForOnSelectExited = serializedObject.FindProperty("m_AudioClipForOnSelectExited"); - playAudioClipOnHoverEntered = serializedObject.FindProperty("m_PlayAudioClipOnHoverEntered"); - audioClipForOnHoverEntered = serializedObject.FindProperty("m_AudioClipForOnHoverEntered"); - playAudioClipOnHoverExited = serializedObject.FindProperty("m_PlayAudioClipOnHoverExited"); - audioClipForOnHoverExited = serializedObject.FindProperty("m_AudioClipForOnHoverExited"); - - playHapticsOnSelectEntered = serializedObject.FindProperty("m_PlayHapticsOnSelectEntered"); - hapticSelectEnterIntensity = serializedObject.FindProperty("m_HapticSelectEnterIntensity"); - hapticSelectEnterDuration = serializedObject.FindProperty("m_HapticSelectEnterDuration"); - playHapticsOnHoverEntered = serializedObject.FindProperty("m_PlayHapticsOnHoverEntered"); - hapticHoverEnterIntensity = serializedObject.FindProperty("m_HapticHoverEnterIntensity"); - hapticHoverEnterDuration = serializedObject.FindProperty("m_HapticHoverEnterDuration"); - playHapticsOnSelectExited = serializedObject.FindProperty("m_PlayHapticsOnSelectExited"); - hapticSelectExitIntensity = serializedObject.FindProperty("m_HapticSelectExitIntensity"); - hapticSelectExitDuration = serializedObject.FindProperty("m_HapticSelectExitDuration"); - playHapticsOnHoverExited = serializedObject.FindProperty("m_PlayHapticsOnHoverExited"); - hapticHoverExitIntensity = serializedObject.FindProperty("m_HapticHoverExitIntensity"); - hapticHoverExitDuration = serializedObject.FindProperty("m_HapticHoverExitDuration"); - - onHoverEntered = serializedObject.FindProperty("m_OnHoverEntered"); - onHoverExited = serializedObject.FindProperty("m_OnHoverExited"); - onSelectEntered = serializedObject.FindProperty("m_OnSelectEntered"); - onSelectExited = serializedObject.FindProperty("m_OnSelectExited"); - } - - public override void OnInspectorGUI() - { - serializedObject.Update(); - - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.ObjectField(EditorGUIUtility.TrTempContent("Script"), MonoScript.FromMonoBehaviour((RayInteractor)target), typeof(RayInteractor), false); - EditorGUI.EndDisabledGroup(); - - foreach (Object targetObject in serializedObject.targetObjects) - { - RayInteractor interactor = (RayInteractor)targetObject; - - if (interactor.GetComponent() == null && interactor.GetComponent() == null) - { - EditorGUILayout.HelpBox(Tooltips.MissingRequiredController, MessageType.Warning, true); - break; - } - } - - EditorGUILayout.PropertyField(interactionManager, Tooltips.InteractionManager); - EditorGUILayout.PropertyField(interactionLayerMask, Tooltips.InteractionLayerMask); - - EditorGUILayout.Space(); - - EditorGUILayout.PropertyField(enableUIInteraction, Tooltips.EnableUIInteraction); - - EditorGUILayout.PropertyField(useForceGrab, Tooltips.ForceGrab); - EditorGUILayout.PropertyField(allowAnchorControl, Tooltips.AllowAnchorControl); - - if (allowAnchorControl.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(anchorRotateSpeed, Tooltips.AnchorRotateSpeed); - EditorGUILayout.PropertyField(anchorTranslateSpeed, Tooltips.AnchorTranslateSpeed); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(attachTransform, Tooltips.AttachTransform); - - EditorGUILayout.Space(); - - lineType.isExpanded = EditorGUILayout.Foldout(lineType.isExpanded, EditorGUIUtility.TrTempContent("Raycast Configuration"), true); - - if (lineType.isExpanded) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(lineType, Tooltips.LineType); - EditorGUI.indentLevel++; - - switch (lineType.enumValueIndex) - { - case (int)XRRayInteractor.LineType.StraightLine: - EditorGUILayout.PropertyField(maxRaycastDistance, Tooltips.MaxRaycastDistance); - break; - case (int)XRRayInteractor.LineType.ProjectileCurve: - EditorGUILayout.PropertyField(referenceFrame, Tooltips.ReferenceFrame); - EditorGUILayout.PropertyField(velocity, Tooltips.Velocity); - EditorGUILayout.PropertyField(acceleration, Tooltips.Acceleration); - EditorGUILayout.PropertyField(additionalFlightTime, Tooltips.AdditionalFlightTime); - EditorGUILayout.PropertyField(sampleFrequency, Tooltips.SampleFrequency); - break; - case (int)XRRayInteractor.LineType.BezierCurve: - EditorGUILayout.PropertyField(endPointDistance, Tooltips.EndPointDistance); - EditorGUILayout.PropertyField(endPointHeight, Tooltips.EndPointHeight); - EditorGUILayout.PropertyField(controlPointDistance, Tooltips.ControlPointDistance); - EditorGUILayout.PropertyField(controlPointHeight, Tooltips.ControlPointHeight); - EditorGUILayout.PropertyField(sampleFrequency, Tooltips.SampleFrequency); - break; - } - EditorGUI.indentLevel--; - - EditorGUILayout.Space(); - - EditorGUILayout.PropertyField(raycastMask, Tooltips.RaycastMask); - EditorGUILayout.PropertyField(raycastTriggerInteraction, Tooltips.RaycastTriggerInteraction); - EditorGUILayout.PropertyField(hitDetectionType, Tooltips.HitDetectionType); - - if (hitDetectionType.enumValueIndex == (int)XRRayInteractor.HitDetectionType.SphereCast) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(sphereCastRadius, Tooltips.SphereCastRadius); - EditorGUI.indentLevel--; - } - - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - selectActionTrigger.isExpanded = EditorGUILayout.Foldout(selectActionTrigger.isExpanded, EditorGUIUtility.TrTempContent("Selection Configuration"), true); - - if (selectActionTrigger.isExpanded) - { - EditorGUI.indentLevel++; - - EditorGUILayout.PropertyField(selectActionTrigger, Tooltips.SelectActionTrigger); - if (startingSelectedInteractable.objectReferenceValue != null && (selectActionTrigger.enumValueIndex == 2 || selectActionTrigger.enumValueIndex == 3)) - { - EditorGUILayout.HelpBox(Tooltips.StartingInteractableWarning, MessageType.Warning, true); - } - - EditorGUILayout.PropertyField(keepSelectedTargetValid, Tooltips.KeepSelectedTargetValid); - EditorGUILayout.PropertyField(hideControllerOnSelect, Tooltips.HideControllerOnSelect); - EditorGUILayout.PropertyField(hoverToSelect, Tooltips.HoverToSelect); - - if (hoverToSelect.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(hoverTimeToSelect, Tooltips.EoverTimeToSelect); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(startingSelectedInteractable, Tooltips.StartingSelectedInteractable); - - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - playAudioClipOnSelectEntered.isExpanded = EditorGUILayout.Foldout(playAudioClipOnSelectEntered.isExpanded, EditorGUIUtility.TrTempContent("Audio Events"), true); - - if (playAudioClipOnSelectEntered.isExpanded) - { - EditorGUI.indentLevel++; - - EditorGUILayout.PropertyField(playAudioClipOnSelectEntered, Tooltips.PlayAudioClipOnSelectEntered); - - if (playAudioClipOnSelectEntered.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(audioClipForOnSelectEntered, Tooltips.AudioClipForOnSelectEntered); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(playAudioClipOnSelectExited, Tooltips.PlayAudioClipOnSelectExited); - - if (playAudioClipOnSelectExited.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(audioClipForOnSelectExited, Tooltips.AudioClipForOnSelectExited); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(playAudioClipOnHoverEntered, Tooltips.PlayAudioClipOnHoverEntered); - - if (playAudioClipOnHoverEntered.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(audioClipForOnHoverEntered, Tooltips.AudioClipForOnHoverEntered); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(playAudioClipOnHoverExited, Tooltips.PlayAudioClipOnHoverExited); - - if (playAudioClipOnHoverExited.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(audioClipForOnHoverExited, Tooltips.AudioClipForOnHoverExited); - EditorGUI.indentLevel--; - } - - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - playHapticsOnSelectEntered.isExpanded = EditorGUILayout.Foldout(playHapticsOnSelectEntered.isExpanded, EditorGUIUtility.TrTempContent("Haptic Events"), true); - - if (playHapticsOnSelectEntered.isExpanded) - { - EditorGUI.indentLevel++; - - EditorGUILayout.PropertyField(playHapticsOnSelectEntered, Tooltips.PlayHapticsOnSelectEntered); - - if (playHapticsOnSelectEntered.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(hapticSelectEnterIntensity, Tooltips.HapticSelectEnterIntensity); - EditorGUILayout.PropertyField(hapticSelectEnterDuration, Tooltips.HapticSelectEnterDuration); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(playHapticsOnSelectExited, Tooltips.PlayHapticsOnSelectExited); - - if (playHapticsOnSelectExited.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(hapticSelectExitIntensity, Tooltips.HapticSelectExitIntensity); - EditorGUILayout.PropertyField(hapticSelectExitDuration, Tooltips.HapticSelectExitDuration); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(playHapticsOnHoverEntered, Tooltips.PlayHapticsOnHoverEntered); - - if (playHapticsOnHoverEntered.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(hapticHoverEnterIntensity, Tooltips.HapticHoverEnterIntensity); - EditorGUILayout.PropertyField(hapticHoverEnterDuration, Tooltips.HapticHoverEnterDuration); - EditorGUI.indentLevel--; - } - - EditorGUILayout.PropertyField(playHapticsOnHoverExited, Tooltips.PlayHapticsOnHoverExited); - - if (playHapticsOnHoverExited.boolValue) - { - EditorGUI.indentLevel++; - EditorGUILayout.PropertyField(hapticHoverExitIntensity, Tooltips.HapticHoverExitIntensity); - EditorGUILayout.PropertyField(hapticHoverExitDuration, Tooltips.HapticHoverExitDuration); - EditorGUI.indentLevel--; - } - - EditorGUI.indentLevel--; - } - - EditorGUILayout.Space(); - - onHoverEntered.isExpanded = EditorGUILayout.Foldout(onHoverEntered.isExpanded, EditorGUIUtility.TrTempContent("Interactor Events"), true); - - if (onHoverEntered.isExpanded) - { - EditorGUILayout.PropertyField(onHoverEntered); - EditorGUILayout.PropertyField(onHoverExited); - EditorGUILayout.PropertyField(onSelectEntered); - EditorGUILayout.PropertyField(onSelectExited); - } - - serializedObject.ApplyModifiedProperties(); - } - } -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs.meta b/Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs.meta deleted file mode 100644 index 81b4ef3cc..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/RayInteractorEditor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 126509855fc75434f9ce872e8d635dad -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs b/Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs deleted file mode 100644 index 57515e5fb..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs +++ /dev/null @@ -1,128 +0,0 @@ -using VRBuilder.XRInteraction; -using UnityEditor; -using UnityEngine; - -namespace VRBuilder.Editor.XRInteraction -{ - /// - /// Drawer class for . - /// - [CustomEditor(typeof(SnapZone)), CanEditMultipleObjects] - internal class SnapZoneEditor : UnityEditor.Editor - { - private SerializedProperty socketActive; - private SerializedProperty showHighlightInEditor; - private SerializedProperty shownHighlightObject; - - private SerializedProperty interactionManager; - private SerializedProperty interactionLayerMask; - private SerializedProperty attachTransform; - private SerializedProperty startingSelectedInteractable; - - private SerializedProperty highlightMeshMaterial; - private SerializedProperty interactableHoverMeshValidMaterial; - private SerializedProperty interactableHoverMeshInvalidMaterial; - - private SerializedProperty onHoverEntered; - private SerializedProperty onHoverExited; - private SerializedProperty onSelectEntered; - private SerializedProperty onSelectExited; - - private static class Tooltips - { - public static readonly GUIContent SocketActive = new GUIContent("Snap Zone Active", "Turn snap zone interaction on/off."); - public static readonly GUIContent InteractionManager = new GUIContent("Interaction Manager", "Manager to handle all interaction management (will find one if empty)."); - public static readonly GUIContent InteractionLayerMask = new GUIContent("Interaction Layer Mask", "Only interactables with this Layer Mask will respond to this interactor."); - public static readonly GUIContent AttachTransform = new GUIContent("Attach Transform", "Attach Transform to use for this Interactor. Will create empty GameObject if none set."); - public static readonly GUIContent StartingSelectedInteractable = new GUIContent("Starting Selected Interactable", "Interactable that will be selected upon start."); - - public static readonly GUIContent ShowHighlightInEditor = new GUIContent("Show Highlight in Editor", "Enable this to show how the object will be positioned later on."); - public static readonly GUIContent ShownHighlightObject = new GUIContent("Shown Highlight Object", "The game object whose mesh is drawn to emphasize the position of the snap zone. If none is supplied, no highlight object is shown."); - public static readonly GUIContent ShownHighlightObjectColor = new GUIContent("Shown Highlight Object Color", "The color of the material used to draw the \"Shown Highlight Object\". Use the alpha value to specify the degree of transparency."); - public static readonly GUIContent HighlightMeshMaterial = new GUIContent("Highlight Material", "Material used for the snap zone highlight (a default material will be created if none is supplied)."); - public static readonly GUIContent InteractableHoverMeshMaterial = new GUIContent("Valid Hover Material", "Material used for rendering interactable meshes on hover (a default material will be created if none is supplied)."); - public static readonly GUIContent InteractableHoverMeshInvalidMaterial = new GUIContent("Invalid Hover Material", "Material used for rendering interactable meshes on hover, when invalid (a default material will be created if none is supplied)."); - } - - private void OnEnable() - { - socketActive = serializedObject.FindProperty("m_SocketActive"); - showHighlightInEditor = serializedObject.FindProperty("ShowHighlightInEditor"); - shownHighlightObject = serializedObject.FindProperty("shownHighlightObject"); - - interactionManager = serializedObject.FindProperty("m_InteractionManager"); - interactionLayerMask = serializedObject.FindProperty("m_InteractionLayers"); - attachTransform = serializedObject.FindProperty("m_AttachTransform"); - startingSelectedInteractable = serializedObject.FindProperty("m_StartingSelectedInteractable"); - - interactableHoverMeshValidMaterial = serializedObject.FindProperty("validationMaterial"); - interactableHoverMeshInvalidMaterial = serializedObject.FindProperty("invalidMaterial"); - highlightMeshMaterial = serializedObject.FindProperty("highlightMeshMaterial"); - - onHoverEntered = serializedObject.FindProperty("m_OnHoverEntered"); - onHoverExited = serializedObject.FindProperty("m_OnHoverExited"); - onSelectEntered = serializedObject.FindProperty("m_OnSelectEntered"); - onSelectExited = serializedObject.FindProperty("m_OnSelectExited"); - } - - public override void OnInspectorGUI() - { - serializedObject.Update(); - - EditorGUI.BeginDisabledGroup(true); - EditorGUILayout.ObjectField(EditorGUIUtility.TrTempContent("Script"), MonoScript.FromMonoBehaviour((SnapZone)target), typeof(SnapZone), false); - EditorGUI.EndDisabledGroup(); - - EditorGUILayout.PropertyField(interactionManager, Tooltips.InteractionManager); - EditorGUILayout.PropertyField(interactionLayerMask, Tooltips.InteractionLayerMask); - EditorGUILayout.PropertyField(attachTransform, Tooltips.AttachTransform); - EditorGUILayout.PropertyField(startingSelectedInteractable, Tooltips.StartingSelectedInteractable); - - EditorGUILayout.Space(); - EditorGUILayout.LabelField(EditorGUIUtility.TrTempContent("Snap Zone"), EditorStyles.boldLabel); - - EditorGUILayout.PropertyField(showHighlightInEditor, Tooltips.ShowHighlightInEditor); - - EditorGUI.indentLevel++; - EditorGUI.BeginChangeCheck(); - EditorGUILayout.PropertyField(shownHighlightObject, Tooltips.ShownHighlightObject); - EditorGUILayout.PropertyField(highlightMeshMaterial, Tooltips.HighlightMeshMaterial); - bool isPreviewMeshChanged = EditorGUI.EndChangeCheck(); - - EditorGUILayout.PropertyField(interactableHoverMeshValidMaterial, Tooltips.InteractableHoverMeshMaterial); - EditorGUILayout.PropertyField(interactableHoverMeshInvalidMaterial, Tooltips.InteractableHoverMeshInvalidMaterial); - - EditorGUI.indentLevel--; - - EditorGUILayout.PropertyField(socketActive, Tooltips.SocketActive); - - EditorGUILayout.Space(); - - onHoverEntered.isExpanded = EditorGUILayout.Foldout(onHoverEntered.isExpanded, EditorGUIUtility.TrTempContent("Interactor Events"), true); - - if (onHoverEntered.isExpanded) - { - // UnityEvents have not yet supported Tooltips - EditorGUILayout.PropertyField(onHoverEntered); - EditorGUILayout.PropertyField(onHoverExited); - EditorGUILayout.PropertyField(onSelectEntered); - EditorGUILayout.PropertyField(onSelectExited); - } - - serializedObject.ApplyModifiedProperties(); - - if (isPreviewMeshChanged) - { - SnapZone snapZone = (SnapZone)target; - snapZone.PreviewMesh = null; - - SnapZonePreviewDrawer preview = snapZone.attachTransform.gameObject.GetComponent(); - - if (preview != null) - { - preview.UpdateMesh(); - } - } - } - } -} diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs.meta b/Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs.meta deleted file mode 100644 index ce2dd2da9..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/SnapZoneEditor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: eb23191a0b49966438297fe135310643 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs index c595e99c0..76b9b8f4f 100644 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs +++ b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs @@ -1,9 +1,11 @@ using System; using UnityEditor; -using UnityEditor.XR.Interaction.Toolkit; +using UnityEditor.XR.Interaction.Toolkit.Locomotion.Teleportation; using UnityEngine; using UnityEngine.Rendering; -using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.AffordanceSystem.State; +using UnityEngine.XR.Interaction.Toolkit.Interactables; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using VRBuilder.Core.Utils; using VRBuilder.XRInteraction; @@ -19,42 +21,33 @@ public class TeleportationAnchorVRBuilderEditor : TeleportationAnchorEditor private const string srpMaterialPath = "Materials/AnchorMaterialSRP"; private const string urpMaterialPath = "Materials/AnchorMaterialURP"; private const string anchorPlaneObjectName = "Plane"; - private const string proximityEntryPrefabName = "VRBuilderTeleportationAnchorProximityEntryPrefab"; + private const string snapVolumePrefabName = "Interactables/VRBuilderTeleportationSnapVolumePrefab"; + private const string snapVolumeSceneName = "Snap Volume"; + private const string interactionAffordancePrefabName = "Interactables/VRBuilderTeleportInteractionAffordancePrefab"; + private const string interactionAffordanceSceneName = "Interaction Affordance"; + private const string proximityEntryPrefabName = "Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab"; private const string proximityEntrySceneName = "Proximity Entry"; public override void OnInspectorGUI() { base.OnInspectorGUI(); - if (GUILayout.Button("Configure VR Builder Defaults")) - { - foreach (UnityEngine.Object targetObject in serializedObject.targetObjects) - { - if (targetObject is TeleportationAnchorVRBuilder teleportationAnchor) - { - ConfigureVRBuilderDefaults(teleportationAnchor); - } - } - } - - if (GUILayout.Button("Set Default Teleportation Anchor")) - { - foreach (UnityEngine.Object targetObject in serializedObject.targetObjects) - { - if (targetObject is TeleportationAnchorVRBuilder teleportationAnchor) - { - ConfigureDefaultTeleportationAnchor(teleportationAnchor); - } - } - } + HandleButtonClick("Configure VR Builder Defaults", ConfigureVRBuilderDefaults); + HandleButtonClick("Set Default Teleportation Anchor", ConfigureDefaultTeleportationAnchor); + HandleButtonClick($"Add {snapVolumeSceneName}", CreateSnapVolume); + HandleButtonClick($"Add {interactionAffordanceSceneName}", CreateInteractionAffordance); + HandleButtonClick($"Add {proximityEntrySceneName}", ConfigureTeleportationProximityEntry); + } - if (GUILayout.Button("Add Teleportation Proximity Entry")) + private void HandleButtonClick(string buttonLabel, Action action) + { + if (GUILayout.Button(buttonLabel)) { foreach (UnityEngine.Object targetObject in serializedObject.targetObjects) { if (targetObject is TeleportationAnchorVRBuilder teleportationAnchor) { - ConfigureTeleportationProximityEntry(teleportationAnchor); + action(teleportationAnchor); } } } @@ -62,7 +55,7 @@ public override void OnInspectorGUI() protected virtual void ConfigureVRBuilderDefaults(TeleportationAnchorVRBuilder teleportationAnchor) { - teleportationAnchor.teleportTrigger = BaseTeleportationInteractable.TeleportTrigger.OnDeactivated; + teleportationAnchor.teleportTrigger = BaseTeleportationInteractable.TeleportTrigger.OnSelectExited; teleportationAnchor.ConfigureLayers(teleportLayerName, teleportLayerName); @@ -86,23 +79,46 @@ protected void ConfigureDefaultTeleportationAnchor(TeleportationAnchorVRBuilder } } + protected virtual void CreateSnapVolume(TeleportationAnchorVRBuilder teleportationAnchor) + { + CreateChildObject(teleportationAnchor, snapVolumePrefabName, snapVolumeSceneName, (affordancePrefab) => + { + affordancePrefab.GetComponent().interactableObject = teleportationAnchor; + }); + } + + protected virtual void CreateInteractionAffordance(TeleportationAnchorVRBuilder teleportationAnchor) + { + CreateChildObject(teleportationAnchor, interactionAffordancePrefabName, interactionAffordanceSceneName, (affordancePrefab) => + { + affordancePrefab.GetComponent().interactableSource = teleportationAnchor; + }); + } + protected virtual void ConfigureTeleportationProximityEntry(TeleportationAnchorVRBuilder teleportationAnchor) + { + CreateChildObject(teleportationAnchor, proximityEntryPrefabName, proximityEntrySceneName, null); + } + + private void CreateChildObject(TeleportationAnchorVRBuilder teleportationAnchor, string prefabName, string sceneName, Action additionalSetup) { try { - teleportationAnchor.gameObject.RemoveChildWithNameImmediate(proximityEntrySceneName); + teleportationAnchor.gameObject.RemoveChildWithNameImmediate(sceneName); - GameObject anchorPrefab = Instantiate(Resources.Load(proximityEntryPrefabName)); - anchorPrefab.name = proximityEntrySceneName; + GameObject affordancePrefab = Instantiate(Resources.Load(prefabName)); + affordancePrefab.name = sceneName; Transform anchorTransform = teleportationAnchor.transform; - anchorPrefab.SetLayer(anchorTransform.gameObject.layer, true); - anchorPrefab.transform.SetPositionAndRotation(anchorTransform.position, anchorTransform.rotation); - anchorPrefab.transform.SetParent(anchorTransform); + affordancePrefab.SetLayer(anchorTransform.gameObject.layer, true); + affordancePrefab.transform.SetPositionAndRotation(anchorTransform.position, anchorTransform.rotation); + affordancePrefab.transform.SetParent(anchorTransform); + + additionalSetup?.Invoke(affordancePrefab); } catch (Exception e) { - Debug.LogError($"There was an exception of type '{e.GetType()}' when trying to setup {name} as default Teleportation Anchor\n{e.Message}", teleportationAnchor.gameObject); + Debug.LogError($"There was an exception of type '{e.GetType()}' when trying to setup {name} with {sceneName} \n{e.Message}", teleportationAnchor.gameObject); } } diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs index 3230abab8..4a19ca4cc 100644 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs +++ b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs @@ -1,7 +1,7 @@ using UnityEditor; -using UnityEditor.XR.Interaction.Toolkit; +using UnityEditor.XR.Interaction.Toolkit.Locomotion.Teleportation; using UnityEngine; -using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using VRBuilder.XRInteraction; namespace VRBuilder.Editor.XRInteraction @@ -30,7 +30,7 @@ public override void OnInspectorGUI() protected virtual void ConfigureVRBuilderDefaults(TeleportationAreaVRBuilder teleportationArea) { - teleportationArea.teleportTrigger = BaseTeleportationInteractable.TeleportTrigger.OnDeactivated; + teleportationArea.teleportTrigger = BaseTeleportationInteractable.TeleportTrigger.OnSelectExited; teleportationArea.ConfigureLayers(teleportLayerName, teleportLayerName); diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs b/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs deleted file mode 100644 index 841e8a5d7..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace VRBuilder.Editor.PackageManager.XRInteraction -{ - /// - /// Adds Unity's XR Hands package as a dependency and sets specified symbol for script compilation. - /// - public class XRHandsPackageEnabler : Dependency - { - /// - public override string Package { get; } = "com.unity.xr.hands"; - - /// - public override string Version { get; set; } = "1.3.0"; - - /// - public override string[] Samples { get; } = { "HandVisualizer" }; - - /// - //public override int Priority { get; } = 4; - } -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs.meta b/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs.meta deleted file mode 100644 index d431ba33d..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/PackageDependencies/XRHandsPackageEnabler.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ad02772c7367d764191c4f5fcdea3b75 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Editor/SceneSetup/XRInteractionSceneSetup.cs b/Source/XR-Interaction-Component/Source/Editor/SceneSetup/XRInteractionSceneSetup.cs index 8665be1d7..21af2dedb 100644 --- a/Source/XR-Interaction-Component/Source/Editor/SceneSetup/XRInteractionSceneSetup.cs +++ b/Source/XR-Interaction-Component/Source/Editor/SceneSetup/XRInteractionSceneSetup.cs @@ -1,48 +1,48 @@ -using UnityEditor; -using UnityEngine; -using VRBuilder.Editor.BasicInteraction; -using VRBuilder.Editor.PackageManager.XRInteraction; -using VRBuilder.Editor.Setup; - -namespace VRBuilder.Editor.XRInteraction -{ - /// - /// Scene setup for XR-Interaction. - /// - public class XRInteractionSceneSetup : InteractionFrameworkSceneSetup - { - private const string Title = "Obsolete XR Rig detected"; - - /// - public override string Key { get; } = "XRInteractionSetup"; - - /// - public override void Setup(ISceneSetupConfiguration configuration) - { - DeleteStaticObject("[XR_Setup]"); - - XRSimulatorImporter simulatorImporter = new XRSimulatorImporter(); - - if (string.IsNullOrEmpty(simulatorImporter.SimulatorRigPath) || AssetDatabase.GetMainAssetTypeAtPath(simulatorImporter.SimulatorRigPath) == null) - { - simulatorImporter.ImportSimulatorRig(); - } - } - - private void DeleteStaticObject(string objectName) - { - GameObject objectToDelete = GameObject.Find(objectName); - - if (objectToDelete != null) - { - string message = $"VR Builder changed the XR Rig loading to a new dynamic system, you have a static {objectName} in the current scene, do you want to delete it?"; - - if (EditorUtility.DisplayDialog(Title, message, "Delete", "Skip")) - { - EditorUtility.SetDirty(objectToDelete); - Object.DestroyImmediate(objectToDelete); - } - } - } - } -} +// using UnityEditor; +// using UnityEngine; +// using VRBuilder.Editor.BasicInteraction; +// using VRBuilder.Editor.PackageManager.XRInteraction; +// using VRBuilder.Editor.Setup; + +// namespace VRBuilder.Editor.XRInteraction +// { +// /// +// /// Scene setup for XR-Interaction. +// /// +// public class XRInteractionSceneSetup : InteractionFrameworkSceneSetup +// { +// private const string Title = "Obsolete XR Rig detected"; + +// /// +// public override string Key { get; } = "XRInteractionSetup"; + +// /// +// public override void Setup(ISceneSetupConfiguration configuration) +// { +// DeleteStaticObject("[XR_Setup]"); + +// XRSimulatorImporter simulatorImporter = new XRSimulatorImporter(); + +// if (string.IsNullOrEmpty(simulatorImporter.SimulatorRigPath) || AssetDatabase.GetMainAssetTypeAtPath(simulatorImporter.SimulatorRigPath) == null) +// { +// simulatorImporter.ImportSimulatorRig(); +// } +// } + +// private void DeleteStaticObject(string objectName) +// { +// GameObject objectToDelete = GameObject.Find(objectName); + +// if (objectToDelete != null) +// { +// string message = $"VR Builder changed the XR Rig loading to a new dynamic system, you have a static {objectName} in the current scene, do you want to delete it?"; + +// if (EditorUtility.DisplayDialog(Title, message, "Delete", "Skip")) +// { +// EditorUtility.SetDirty(objectToDelete); +// Object.DestroyImmediate(objectToDelete); +// } +// } +// } +// } +// } diff --git a/Source/XR-Interaction-Component/Source/Editor/SnapZone.meta b/Source/XR-Interaction-Component/Source/Editor/SnapZone.meta deleted file mode 100644 index 765b6de4f..000000000 --- a/Source/XR-Interaction-Component/Source/Editor/SnapZone.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: aab1aaa9ecda4e5c8021fbf7d4f86031 -timeCreated: 1594821320 \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions.meta b/Source/XR-Interaction-Component/Source/Editor/UI.meta similarity index 77% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions.meta rename to Source/XR-Interaction-Component/Source/Editor/UI.meta index f0b10748d..0255f8476 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions.meta +++ b/Source/XR-Interaction-Component/Source/Editor/UI.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2b6461d40e82ecb4894acc4251be34ed +guid: 75e0bb8424708ac4c8375bf92097f7d9 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/XR-Interaction-Component/Source/Editor/Properties.meta b/Source/XR-Interaction-Component/Source/Editor/UI/Inspector.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/Properties.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/Inspector.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/Properties/SnappablePropertyEditor.cs b/Source/XR-Interaction-Component/Source/Editor/UI/Inspector/SnappablePropertyEditor.cs similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/Properties/SnappablePropertyEditor.cs rename to Source/XR-Interaction-Component/Source/Editor/UI/Inspector/SnappablePropertyEditor.cs diff --git a/Source/XR-Interaction-Component/Source/Editor/Properties/SnappablePropertyEditor.cs.meta b/Source/XR-Interaction-Component/Source/Editor/UI/Inspector/SnappablePropertyEditor.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/Properties/SnappablePropertyEditor.cs.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/Inspector/SnappablePropertyEditor.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/Menu.meta b/Source/XR-Interaction-Component/Source/Editor/UI/Menu.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/Menu.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/Menu.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/Menu/ConfigureInteractionLayersMenuEntry.cs b/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs similarity index 95% rename from Source/XR-Interaction-Component/Source/Editor/Menu/ConfigureInteractionLayersMenuEntry.cs rename to Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs index 7b1493c13..b534ef367 100644 --- a/Source/XR-Interaction-Component/Source/Editor/Menu/ConfigureInteractionLayersMenuEntry.cs +++ b/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs @@ -17,7 +17,7 @@ internal static class ConfigureInteractionLayersMenuEntry [MenuItem("Tools/VR Builder/Developer/Configure Teleportation Layers", false, 80)] private static void ConfigureTeleportationLayers() { - IEnumerable configuratorGameObjects = GameObject.FindObjectsOfType(true). + IEnumerable configuratorGameObjects = GameObject.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None). Where(go => go.GetComponent() != null); if (configuratorGameObjects.Count() == 0) diff --git a/Source/XR-Interaction-Component/Source/Editor/Menu/ConfigureInteractionLayersMenuEntry.cs.meta b/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/Menu/ConfigureInteractionLayersMenuEntry.cs.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/ProjectSettings.meta b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/ProjectSettings.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/ProjectSettings/CreateDefaultInteractionLayers.cs b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/ProjectSettings/CreateDefaultInteractionLayers.cs rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs diff --git a/Source/XR-Interaction-Component/Source/Editor/ProjectSettings/CreateDefaultInteractionLayers.cs.meta b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/ProjectSettings/CreateDefaultInteractionLayers.cs.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/SnapZone/SnapZoneSettings.cs b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettings.cs similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/SnapZone/SnapZoneSettings.cs rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettings.cs diff --git a/Source/XR-Interaction-Component/Source/Editor/SnapZone/SnapZoneSettings.cs.meta b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettings.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/SnapZone/SnapZoneSettings.cs.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettings.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Editor/ProjectSettings/SnapZoneSettingsSection.cs b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettingsSection.cs similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/ProjectSettings/SnapZoneSettingsSection.cs rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettingsSection.cs diff --git a/Source/XR-Interaction-Component/Source/Editor/ProjectSettings/SnapZoneSettingsSection.cs.meta b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettingsSection.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Editor/ProjectSettings/SnapZoneSettingsSection.cs.meta rename to Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/SnapZoneSettingsSection.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab b/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab deleted file mode 100644 index d32a13cf6..000000000 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab +++ /dev/null @@ -1,4445 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &254950453971294206 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1153462130033586318} - - component: {fileID: 5971662401887914685} - m_Layer: 0 - m_Name: XR_Setup_Action_Based - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1153462130033586318 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254950453971294206} - 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: 8096380263314292854} - - {fileID: 8232398725257180522} - - {fileID: 1870254907970836580} - - {fileID: 6094425812966656012} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5971662401887914685 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254950453971294206} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} - m_Name: - m_EditorClassIdentifier: - head: {fileID: 7469053385970781433} - leftHand: {fileID: 7978014071979369435} - rightHand: {fileID: 7978014071415895673} - rigBase: {fileID: 8096380263314292854} ---- !u!1 &2551566514137826033 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2670089473688130368} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2670089473688130368 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2551566514137826033} - 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: 4226580937276373881} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2859314466244083351 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6094425812966656012} - - component: {fileID: 7978373750211809889} - - component: {fileID: 4694192666642071984} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6094425812966656012 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2859314466244083351} - 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: 1153462130033586318} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7978373750211809889 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2859314466244083351} - 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!114 &4694192666642071984 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2859314466244083351} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SendPointerHoverToParent: 1 - m_ClickSpeed: 0.3 - m_MoveDeadzone: 0.6 - m_RepeatDelay: 0.5 - m_RepeatRate: 0.1 - m_TrackedDeviceDragThresholdMultiplier: 2 - m_TrackedScrollDeltaMultiplier: 5 - m_ActiveInputMode: 0 - m_MaxTrackedDeviceRaycastDistance: 1000 - m_EnableXRInput: 1 - m_EnableMouseInput: 1 - m_EnableTouchInput: 1 - m_PointAction: {fileID: 0} - m_LeftClickAction: {fileID: 0} - m_MiddleClickAction: {fileID: 0} - m_RightClickAction: {fileID: 0} - m_ScrollWheelAction: {fileID: 0} - m_NavigateAction: {fileID: 0} - m_SubmitAction: {fileID: 0} - m_CancelAction: {fileID: 0} - m_EnableBuiltinActionsAsFallback: 1 - m_EnableGamepadInput: 1 - m_EnableJoystickInput: 1 - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel ---- !u!1 &3001068243009787468 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8828615551242472943} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8828615551242472943 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3001068243009787468} - 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: 4640717108899920631} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4535902918034316275 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8232398725257180522} - - component: {fileID: 3211701847606808562} - m_Layer: 0 - m_Name: XR Interaction Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8232398725257180522 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4535902918034316275} - 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: 1153462130033586318} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3211701847606808562 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4535902918034316275} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] ---- !u!1 &6068746411996636421 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4640717108899920631} - - component: {fileID: 7747180985291243575} - - component: {fileID: 7151388554539386832} - - component: {fileID: 4401965616013762662} - - component: {fileID: 3385063281379677918} - m_Layer: 0 - m_Name: Left UI Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4640717108899920631 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6068746411996636421} - 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: 8828615551242472943} - m_Father: {fileID: 9052434312264737045} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7747180985291243575 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6068746411996636421} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: ee2b90af-cb76-4d31-80a6-06fad8ac806a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 4c57fe61-e6e1-4df3-bff3-6c688f6f9e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 869302d5-d3c7-4c1b-a962-a7e033b42a15 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SelectActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 4aec5842-effb-4789-a584-e3222db901f4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ActivateActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: e65a640e-2a41-422f-82dd-ebfb73c6c378 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 80072ca0-f27a-4040-8ae9-a0fa7a761bbc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 13f6cacf-e639-4a90-864c-abb89495ad0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 6713f8f9-89a2-46da-aad5-ae077ac477ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 70e6ddba-3f4d-4426-adf0-8e696375216e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: fd842369-b8db-4ac6-b060-6ce9696a9c4b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &7151388554539386832 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6068746411996636421} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 - m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &4401965616013762662 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6068746411996636421} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &3385063281379677918 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6068746411996636421} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &6217365492625017833 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1870254907970836580} - - component: {fileID: 1642914142028344390} - m_Layer: 0 - m_Name: Input Action Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1870254907970836580 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6217365492625017833} - 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: 1153462130033586318} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1642914142028344390 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6217365492625017833} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ActionAssets: - - {fileID: -944628639613478452, guid: c348712bda248c246b8c49b3db54643f, type: 3} ---- !u!1 &6603483820383241204 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7469053385970781433} - - component: {fileID: 3361453039085913529} - - component: {fileID: 8063632501519474248} - - component: {fileID: 1791239607881723393} - - component: {fileID: 3161419117596926856} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7469053385970781433 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - 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: 7978014070532965596} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &3361453039085913529 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - 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.01 - 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!124 &8063632501519474248 -Behaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - m_Enabled: 1 ---- !u!81 &1791239607881723393 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - m_Enabled: 1 ---- !u!114 &3161419117596926856 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackingType: 0 - m_UpdateType: 0 - m_IgnoreTrackingState: 0 - m_PositionInput: - m_UseReference: 0 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotationInput: - m_UseReference: 0 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 - m_Reference: {fileID: 0} - m_TrackingStateInput: - m_UseReference: 0 - m_Action: - m_Name: Tracking State Input - m_Type: 0 - m_ExpectedControlType: - m_Id: 7421705e-b17a-4cd9-9f93-e8744bed20cb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_PositionAction: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_RotationAction: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 ---- !u!1 &7485168110108878041 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8096380263314292854} - - component: {fileID: 4386522067011015508} - - component: {fileID: 3161419117596926862} - - component: {fileID: 7401476500642806535} - - component: {fileID: 3471543858207503529} - - component: {fileID: 3161419117596926850} - - component: {fileID: 3161419117596926848} - - component: {fileID: 3161419117596926849} - - component: {fileID: 3161419117596926852} - - component: {fileID: 3161419117596926853} - m_Layer: 0 - m_Name: XR Rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8096380263314292854 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - 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: 7978014070532965596} - m_Father: {fileID: 1153462130033586318} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4386522067011015508 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Camera: {fileID: 3361453039085913529} - m_OriginBaseGameObject: {fileID: 7485168110108878041} - m_CameraFloorOffsetObject: {fileID: 7978014070532965571} - m_RequestedTrackingOriginMode: 0 - m_CameraYOffset: 1.36144 ---- !u!114 &3161419117596926862 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2213c36610e3b1c4bbf886810ed9db12, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 7401476500642806535} - m_TurnAmount: 45 - m_DebounceTime: 0.5 - m_EnableTurnLeftRight: 1 - m_EnableTurnAround: 1 - m_DelayTime: 0 - m_LeftHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: bcae984e-e222-4aec-9899-6a2de88a7166 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RightHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: ef35997d-2cb6-4340-9edd-1239db5332f0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: c348712bda248c246b8c49b3db54643f, type: 3} ---- !u!114 &7401476500642806535 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 03a5df2202a8b96488c744be3bd0c33e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Timeout: 10 - m_XROrigin: {fileID: 4386522067011015508} ---- !u!114 &3471543858207503529 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 7401476500642806535} - m_DelayTime: 0 ---- !u!114 &3161419117596926850 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 919e39492806b334982b6b84c90dd927, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 7401476500642806535} - m_TurnSpeed: 60 - m_LeftHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: d065cb11-e9f6-4747-a3d4-1c032fc345a0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RightHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: e043a43a-0352-4ee2-ab81-9dafdfb41dc2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: c348712bda248c246b8c49b3db54643f, type: 3} ---- !u!114 &3161419117596926848 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bf296fc962d7184ab14ad1841598d5f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 7401476500642806535} - m_MoveSpeed: 1 - m_EnableStrafe: 1 - m_EnableFly: 0 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_ForwardSource: {fileID: 7469053385970781433} - m_LeftHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 6da12c60-ad99-45b3-a0b1-a4ee1d30ddcc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6972639530819350904, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RightHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 77f364a5-e031-452a-af50-144d41955e70 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8198699208435500284, guid: c348712bda248c246b8c49b3db54643f, type: 3} ---- !u!143 &3161419117596926849 -CharacterController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Height: 1.36144 - m_Radius: 0.1 - m_SlopeLimit: 45 - m_StepOffset: 0.3 - m_SkinWidth: 0.08 - m_MinMoveDistance: 0.001 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &3161419117596926852 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: af6bf904e410ee8479f9093d8830d1f8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LocomotionProvider: {fileID: 3161419117596926862} - m_MinHeight: 0 - m_MaxHeight: Infinity ---- !u!114 &3161419117596926853 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 58a9a7b4435e36f4fbc7000edd687974, type: 3} - m_Name: - m_EditorClassIdentifier: - moveScheme: 0 - turnStyle: 0 - moveForwardSource: 0 - actionAssets: - - {fileID: -944628639613478452, guid: c348712bda248c246b8c49b3db54643f, type: 3} - actionMaps: [] - actions: [] - baseControlScheme: Generic XR Controller - noncontinuousControlScheme: Noncontinuous Move - continuousControlScheme: Continuous Move - continuousMoveProvider: {fileID: 3161419117596926848} - continuousTurnProvider: {fileID: 3161419117596926850} - snapTurnProvider: {fileID: 3161419117596926862} - headForwardSource: {fileID: 7469053385970781433} - leftHandForwardSource: {fileID: 7978014071979369435} - rightHandForwardSource: {fileID: 7978014071415895673} ---- !u!1 &7783503986401448237 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7783503986401448238} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7783503986401448238 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7783503986401448237} - 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: 7978014071979369435} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7978014070459812431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014070459812424} - - component: {fileID: 9052434312838395562} - - component: {fileID: 7978014070459812427} - - component: {fileID: 7978014070459812426} - - component: {fileID: 7978014070459812425} - m_Layer: 0 - m_Name: Left Teleport Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014070459812424 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - 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: 9052434312753700112} - m_Father: {fileID: 9052434312264737045} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9052434312838395562 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: ee2b90af-cb76-4d31-80a6-06fad8ac806a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 4c57fe61-e6e1-4df3-bff3-6c688f6f9e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: df150c59-acdb-4a44-ae0d-6b7b17b9125b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 869302d5-d3c7-4c1b-a962-a7e033b42a15 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4084014799535200556, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SelectActionValue: - m_UseReference: 0 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: b1d7c618-2863-40eb-94b0-bc55c977ad1f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 4aec5842-effb-4789-a584-e3222db901f4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ActivateActionValue: - m_UseReference: 0 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 6a145112-f236-49b9-9463-5bc169d5d003 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: e65a640e-2a41-422f-82dd-ebfb73c6c378 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 4936da6e-2314-466c-ac19-aa23d9db394b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 80072ca0-f27a-4040-8ae9-a0fa7a761bbc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 13f6cacf-e639-4a90-864c-abb89495ad0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 6713f8f9-89a2-46da-aad5-ae077ac477ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 886c868b-0658-4cb7-901d-ea3df914adc2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: deeb8aee-a73f-45d3-80dc-34d365c0d985 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &7978014070459812427 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 256 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &7978014070459812426 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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: 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 - m_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &7978014070459812425 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &7978014070532965571 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014070532965596} - m_Layer: 0 - m_Name: CameraOffset - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014070532965596 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070532965571} - 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: 7469053385970781433} - - {fileID: 9052434312264737045} - - {fileID: 9052434312966663560} - m_Father: {fileID: 8096380263314292854} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7978014071415895672 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014071415895673} - - component: {fileID: 9052434313195313391} - - component: {fileID: 8424491340227888840} - - component: {fileID: 7978014071415895675} - m_Layer: 0 - m_Name: Right Base Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014071415895673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - 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: 9052434313405598513} - m_Father: {fileID: 9052434312966663560} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9052434313195313391 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SelectActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ActivateActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 59ea1b94-e9f8-4049-ab97-5920b11143a5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 02820269-c422-456b-9050-c8549c5d87b1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 6d43fe91-6a2a-4859-a82f-35d91f4e85ca - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &8424491340227888840 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!135 &7978014071415895675 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &7978014071796457453 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014071796457454} - - component: {fileID: 9052434313818666002} - - component: {fileID: 7978014071796457455} - - component: {fileID: 7978014071796457450} - - component: {fileID: 7978014071796457449} - m_Layer: 0 - m_Name: Right Teleport Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014071796457454 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - 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: 9052434314099892218} - m_Father: {fileID: 9052434312966663560} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9052434313818666002 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: cc4e2ef5-ea43-46d3-b5d9-bb0fd6cf288f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8270564778575511633, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SelectActionValue: - m_UseReference: 0 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 056d5a5d-5859-40a6-9c77-a8c50f2557c3 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ActivateActionValue: - m_UseReference: 0 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 0c708103-b771-4cf9-a58f-f4cd7216526c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 820dd6dd-cf7f-42f3-bfef-c218ea683709 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 9ad5ff42-2240-49bb-89c4-c981d3c023eb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 130b4baa-c4d3-43d4-9375-ba42cbc78551 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: fa152e14-1195-4f22-a449-76525edd13f2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &7978014071796457455 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 256 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &7978014071796457450 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 0 - numCapVertices: 0 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &7978014071796457449 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &7978014071979369434 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014071979369435} - - component: {fileID: 9052434312700467215} - - component: {fileID: 3983429610902661409} - - component: {fileID: 1992221866384065395} - m_Layer: 0 - m_Name: Left Base Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014071979369435 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - 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: 7783503986401448238} - m_Father: {fileID: 9052434312264737045} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9052434312700467215 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 8b170a9b-132e-486d-947e-6a244d4362ea - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 080819c2-8547-4beb-8522-e6356be16fb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: bff3ff54-e432-4205-8a89-770a756a58f8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 8e000d1c-13a4-4cc0-ad37-f2e125874399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SelectActionValue: - m_UseReference: 0 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: f93fa1a2-101a-4938-b3bf-d4156f43e4e4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 3995f9f4-6aa7-409a-80d2-5f7ea1464fde - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ActivateActionValue: - m_UseReference: 0 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 0dee0d87-a49c-4317-9281-019ed020b1ce - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: db89d01c-df6f-4954-b868-103dd5bdb514 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: c4f9d43a-7eb7-410a-a5ee-80994233e6e4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 3e09b626-c80d-40ec-9592-eb3fe89c2038 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 3dca8766-e652-4e78-8406-420aa73ba338 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: e873605e-6a95-4389-8fbe-39069340ba92 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 0575f569-8335-4fa6-a853-f7f04b1da2c8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: b4d22712-601a-4542-bfda-bff78399d193 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &3983429610902661409 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!135 &1992221866384065395 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &8617341708517649692 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4226580937276373881} - - component: {fileID: 6091198425661947378} - - component: {fileID: 8070011684469424022} - - component: {fileID: 8657554238946022645} - - component: {fileID: 1762117387947050719} - m_Layer: 0 - m_Name: Right UI Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4226580937276373881 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8617341708517649692} - 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: 2670089473688130368} - m_Father: {fileID: 9052434312966663560} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6091198425661947378 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8617341708517649692} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SelectActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ActivateActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 9ad5ff42-2240-49bb-89c4-c981d3c023eb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 04e506d2-729f-4771-bf00-a07e902435a8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 7488543f-f658-4e18-9c24-d708fba6fafe - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &8070011684469424022 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8617341708517649692} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 - m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &8657554238946022645 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8617341708517649692} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &1762117387947050719 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8617341708517649692} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &9052434312264737046 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9052434312264737045} - - component: {fileID: 9052434312264737044} - m_Layer: 0 - m_Name: LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9052434312264737045 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434312264737046} - 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: 7978014071979369435} - - {fileID: 7978014070459812424} - - {fileID: 4640717108899920631} - m_Father: {fileID: 7978014070532965596} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9052434312264737044 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434312264737046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41cc12ba1114e4f46929730a9389cb74, type: 3} - m_Name: - m_EditorClassIdentifier: - baseController: {fileID: 7978014071979369434} - teleportController: {fileID: 7978014070459812431} - uiController: {fileID: 6068746411996636421} - teleportModeActivate: {fileID: 1263111715868034790, guid: c348712bda248c246b8c49b3db54643f, type: 3} - teleportModeCancel: {fileID: 737890489006591557, guid: c348712bda248c246b8c49b3db54643f, type: 3} - uiModeActivate: {fileID: 1201092935185683357, guid: c348712bda248c246b8c49b3db54643f, type: 3} - turn: {fileID: 1010738217276881514, guid: c348712bda248c246b8c49b3db54643f, type: 3} - move: {fileID: 6972639530819350904, guid: c348712bda248c246b8c49b3db54643f, type: 3} - translateAnchor: {fileID: 7779212132400271959, guid: c348712bda248c246b8c49b3db54643f, type: 3} - rotateAnchor: {fileID: -7363382999065477798, guid: c348712bda248c246b8c49b3db54643f, type: 3} - selectState: - enabled: 0 - m_ID: 1 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - teleportState: - enabled: 0 - m_ID: 2 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - interactState: - enabled: 0 - m_ID: 3 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - uiState: - enabled: 0 - m_ID: 4 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &9052434312753700113 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9052434312753700112} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9052434312753700112 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434312753700113} - 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: 7978014070459812424} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9052434312966663561 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9052434312966663560} - - component: {fileID: 9052434312966663567} - m_Layer: 0 - m_Name: RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9052434312966663560 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434312966663561} - 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: 7978014071415895673} - - {fileID: 7978014071796457454} - - {fileID: 4226580937276373881} - m_Father: {fileID: 7978014070532965596} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9052434312966663567 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434312966663561} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41cc12ba1114e4f46929730a9389cb74, type: 3} - m_Name: - m_EditorClassIdentifier: - baseController: {fileID: 7978014071415895672} - teleportController: {fileID: 7978014071796457453} - uiController: {fileID: 8617341708517649692} - teleportModeActivate: {fileID: -8061240218431744966, guid: c348712bda248c246b8c49b3db54643f, type: 3} - teleportModeCancel: {fileID: 2307464322626738743, guid: c348712bda248c246b8c49b3db54643f, type: 3} - uiModeActivate: {fileID: -4794670585942407507, guid: c348712bda248c246b8c49b3db54643f, type: 3} - turn: {fileID: -6493913391331992944, guid: c348712bda248c246b8c49b3db54643f, type: 3} - move: {fileID: -8198699208435500284, guid: c348712bda248c246b8c49b3db54643f, type: 3} - translateAnchor: {fileID: 875253871413052681, guid: c348712bda248c246b8c49b3db54643f, type: 3} - rotateAnchor: {fileID: -5913262927076077117, guid: c348712bda248c246b8c49b3db54643f, type: 3} - selectState: - enabled: 0 - m_ID: 1 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - teleportState: - enabled: 0 - m_ID: 2 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - interactState: - enabled: 0 - m_ID: 3 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - uiState: - enabled: 0 - m_ID: 4 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &9052434313405598514 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9052434313405598513} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9052434313405598513 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434313405598514} - 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: 7978014071415895673} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9052434314099892219 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9052434314099892218} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9052434314099892218 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9052434314099892219} - 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: 7978014071796457454} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab b/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab deleted file mode 100644 index ca16eca13..000000000 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab +++ /dev/null @@ -1,11104 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &355150829 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 355150830} - m_Layer: 0 - m_Name: ModelAttach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &355150830 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 355150829} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: 0.02, y: -0.02, z: -0.15} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6402786116742138543} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!1 &1697662088 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1697662089} - m_Layer: 0 - m_Name: ModelAttach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1697662089 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1697662088} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: -0.02, y: -0.02, z: -0.15} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6402786117102733902} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!1 &29575510701969086 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4530772326112196357} - - component: {fileID: 3758564548637280735} - m_Layer: 0 - m_Name: Ray Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4530772326112196357 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 29575510701969086} - 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: 7117647868437094547} - m_Father: {fileID: 22821683770525740} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3758564548637280735 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 29575510701969086} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 3099456756686607947} - m_AimTargetObject: {fileID: 2101803313044915156} - m_UseLocalSpace: 1 - m_AngleStabilization: 20 - m_PositionStabilization: 0.25 ---- !u!1 &47996398585833999 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3880393819045836975} - m_Layer: 0 - m_Name: R_LittleTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3880393819045836975 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 47996398585833999} - m_LocalRotation: {x: -2.7755576e-17, y: -2.7755576e-17, z: 1.3877788e-17, w: 1} - m_LocalPosition: {x: -0.00024632577, y: 0.0012151983, z: 0.021923328} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4259404976063232259} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &131387420635586019 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4724445456448047939} - - component: {fileID: 8409270940407464512} - - component: {fileID: 1846918611659778077} - m_Layer: 0 - m_Name: Pinch Point Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4724445456448047939 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 131387420635586019} - 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: 1 - m_Children: [] - m_Father: {fileID: 22821683770525740} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8409270940407464512 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 131387420635586019} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8693657abb5062a40a80ba3cb86ef181, type: 3} - m_Name: - m_EditorClassIdentifier: - m_XRHandTrackingEvents: {fileID: 375035666} - m_TargetRotation: {fileID: 4530772326112196357} - m_RayInteractor: {fileID: 2101803313044915156} - m_RotationSmoothingSpeed: 12 ---- !u!114 &1846918611659778077 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 131387420635586019} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TransitionDuration: 0.125 - m_InteractorSource: {fileID: 2101803313044915156} - m_IgnoreHoverEvents: 0 - m_IgnoreSelectEvents: 0 - m_IgnoreActivateEvents: 1 - m_IgnoreUGUIHover: 0 - m_IgnoreUGUISelect: 0 - m_IgnoreXRInteractionEvents: 0 - m_SelectClickAnimationMode: 0 - m_ActivateClickAnimationMode: 0 - m_ClickAnimationDuration: 0.25 - m_ClickAnimationCurve: - m_UseConstant: 1 - m_ConstantValue: - 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: 4 - m_Variable: {fileID: 0} ---- !u!1 &155877736073176555 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3209510200622097998} - m_Layer: 0 - m_Name: Gaze Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3209510200622097998 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 155877736073176555} - 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: 7582941832637889510} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &186769750178984188 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5016833041144460280} - - component: {fileID: 2317808492794743539} - - component: {fileID: 953095781911562797} - m_Layer: 0 - m_Name: Poke Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5016833041144460280 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 186769750178984188} - 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: 454888436805228463} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2317808492794743539 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 186769750178984188} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 4294967295 - m_AttachTransform: {fileID: 2469765000921784745} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_PokeDepth: 0.1 - m_PokeWidth: 0.0075 - m_PokeSelectWidth: 0.015 - m_PokeHoverRadius: 0.015 - m_PokeInteractionOffset: 0.005 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_PhysicsTriggerInteraction: 1 - m_RequirePokeFilter: 1 - m_EnableUIInteraction: 1 - m_DebugVisualizationsEnabled: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &953095781911562797 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 186769750178984188} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackingType: 0 - m_UpdateType: 0 - m_IgnoreTrackingState: 0 - m_PositionInput: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5758763892361954021, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationInput: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7384354444432909072, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateInput: - m_UseReference: 1 - m_Action: - m_Name: Tracking State Input - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: eb83a511-0462-46f9-a3f2-f261e83bab2d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1277054153949319361, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_PositionAction: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_RotationAction: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 ---- !u!1 &207627905260177875 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7582941832637889510} - - component: {fileID: 2666770478813470599} - m_Layer: 0 - m_Name: Gaze Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &7582941832637889510 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 207627905260177875} - 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: 3209510200622097998} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2666770478813470599 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 207627905260177875} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 5091181746450903079} - m_AimTargetObject: {fileID: 0} - m_UseLocalSpace: 1 - m_AngleStabilization: 20 - m_PositionStabilization: 0.25 ---- !u!1 &571065645985283827 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4844180182862504219} - m_Layer: 0 - m_Name: R_LittleIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4844180182862504219 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 571065645985283827} - m_LocalRotation: {x: 0.36025816, y: 0.025496999, z: -0.06776039, w: 0.930039} - m_LocalPosition: {x: -0.0000001720091, y: -0.0000006646861, z: 0.030719941} - m_LocalScale: {x: 1.0000147, y: 1.0000129, z: 0.99994457} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4259404976063232259} - m_Father: {fileID: 1785452145807575268} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &642312254747264245 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7117647868437094547} - m_Layer: 0 - m_Name: Ray Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7117647868437094547 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 642312254747264245} - 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: 4530772326112196357} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &717987304301734414 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 22821683770525740} - - component: {fileID: 7024861490429644452} - - component: {fileID: 6994522074373768115} - - component: {fileID: 2864620014685158682} - - component: {fileID: 3925501686741888202} - m_Layer: 0 - m_Name: Left Hand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &22821683770525740 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 717987304301734414} - 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: 2437644310469039048} - - {fileID: 8104229418314499792} - - {fileID: 3099456756686607947} - - {fileID: 8562341685605530767} - - {fileID: 3614894761196931837} - - {fileID: 4530772326112196357} - - {fileID: 4724445456448047939} - - {fileID: 2003090966742418275} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7024861490429644452 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 717987304301734414} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} - m_Name: - m_EditorClassIdentifier: - m_GroupName: - m_InteractionManager: {fileID: 0} - m_StartingGroupMembers: - - {fileID: 525793331873071097} - - {fileID: 3217185777844545695} - - {fileID: 2101803313044915156} - m_StartingInteractionOverridesMap: - - groupMember: {fileID: 525793331873071097} - overrideGroupMembers: - - {fileID: 3217185777844545695} ---- !u!114 &6994522074373768115 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 717987304301734414} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dbac611a2982409ab5f5e604f53bcad0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Handedness: 1 - m_PokeGestureStarted: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7095294832561539722} - 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_PokeGestureEnded: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7095294832561539722} - 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: 1 - m_CallState: 2 ---- !u!114 &2864620014685158682 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 717987304301734414} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a83bc4aa48d0da648b49d0fd56690b25, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AimFlagsAction: - m_UseReference: 1 - m_Action: - m_Name: Aim Flags - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 5a4fce95-4f7e-4130-b323-a6ab97b798b3 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6595512345416212934, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SystemGestureStarted: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 4715434332707499138} - 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: 6857026225204119587} - 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: 7095294832561539722} - 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_SystemGestureEnded: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 4715434332707499138} - 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: 1 - m_CallState: 2 - - m_Target: {fileID: 6857026225204119587} - 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: 1 - m_CallState: 2 - - m_Target: {fileID: 7095294832561539722} - 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: 1 - m_CallState: 2 - m_MenuPressed: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 3925501686741888202} - m_TargetAssemblyTypeName: UnityEngine.AudioSource, UnityEngine - 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: 0 - m_CallState: 2 ---- !u!82 &3925501686741888202 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 717987304301734414} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 16fba6d30ed741d4a9fdd6e79ee2f3ac, type: 3} - m_PlayOnAwake: 0 - 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 &722704390829132069 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3614894761196931837} - - component: {fileID: 5176771102207014604} - m_Layer: 0 - m_Name: Direct Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3614894761196931837 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 722704390829132069} - 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: 22821683770525740} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5176771102207014604 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 722704390829132069} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 8104229418314499792} - m_AimTargetObject: {fileID: 0} - m_UseLocalSpace: 1 - m_AngleStabilization: 5 - m_PositionStabilization: 0.03 ---- !u!1 &765517479275659203 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2724298053106250032} - - component: {fileID: 8724346012650135423} - - component: {fileID: 2608657606259550538} - m_Layer: 0 - m_Name: Direct Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2724298053106250032 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 765517479275659203} - 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: 6402786117102733902} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8724346012650135423 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 765517479275659203} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4253f32900bcc4d499d675566142ded0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 23 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_ImproveAccuracyWithSphereCollider: 1 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 ---- !u!135 &2608657606259550538 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 765517479275659203} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &767450795838657626 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5091181746450903079} - - component: {fileID: 9018873611297611310} - - component: {fileID: 3898050642843606034} - - component: {fileID: 8449107640120067274} - m_Layer: 0 - m_Name: Gaze Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &5091181746450903079 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 767450795838657626} - 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: 6402786116697830925} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9018873611297611310 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 767450795838657626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c416f1a5c494e224fb5564fd1362b50d, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 3209510200622097998} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 7582941832637889510} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0.1 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 0 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 1 - m_AutoDeselect: 1 - m_TimeToAutoDeselect: 0.25 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 - m_GazeAssistanceCalculation: 1 - m_GazeAssistanceColliderFixedSize: 1 - m_GazeAssistanceColliderScale: 1 - m_GazeAssistanceSnapVolume: {fileID: 0} - m_GazeAssistanceDistanceScaling: 0 - m_ClampGazeAssistanceDistanceScaling: 0 - m_GazeAssistanceDistanceScalingClampValue: 0 ---- !u!114 &3898050642843606034 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 767450795838657626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: c5c11aa1-bde1-4a3a-a80e-886509abbc16 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3220680263695665919, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: 49d34eac-625a-45e4-99f1-520d9a91587d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5930349909990434036, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 8e2e727b-5c20-4155-8455-04c94bc54da8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: -831106814531524825, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 776eea05-891d-47cc-ba9d-8353541bbc61 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 2069149553511882089, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: d90b6a89-0f2d-4711-b5e3-6f709d46a3e9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 982fe616-81e7-4cea-8b1c-0fc18677699d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 19b691c8-8354-453a-818d-9ab6fc719aa7 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 8f68251c-035b-44ae-9665-8d736bde8dbe - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: cdf9e438-d5dd-488a-b24c-92607b3cf39e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: d4ffb96f-9b0b-4d82-93a2-b7bd82d288c9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 3261309f-f95a-4f48-aa8d-6b06dab8f09f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 9b83662a-0fd2-4aee-aae5-c6634d0fbafc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4cae4fad-cc16-4684-8fec-1ba47667d275 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: f58ccfc7-633b-46cf-9164-6dfafd85bf99 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 83996765-f9ca-47e0-969e-b8fa763170db - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: cbaaadec-6494-4e38-a764-cf6099f71738 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 84640846-a827-414a-a35d-773ed3bc62c7 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &8449107640120067274 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 767450795838657626} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6ef0e4723b64c884699a375196c13ac0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FallbackIfEyeTrackingUnavailable: 1 ---- !u!1 &999902662411891977 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2811219594787225482} - m_Layer: 0 - m_Name: R_MiddleMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2811219594787225482 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 999902662411891977} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.00361, y: -0.007648, z: 0.034286} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7620598360529377927} - m_Father: {fileID: 1854015250894670505} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1022999466725207680 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6223656637641261187} - - component: {fileID: 4098842720262545442} - - component: {fileID: 2040007033202668392} - m_Layer: 0 - m_Name: Cylinder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &6223656637641261187 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1022999466725207680} - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: -0.1, z: -4} - m_LocalScale: {x: 0.5, y: 3.6, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1616932236876252726} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!33 &4098842720262545442 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1022999466725207680} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &2040007033202668392 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1022999466725207680} - 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: 5561349426305759274, guid: 9e1dc1c14313460d872de39e35129b39, type: 3} - 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!1 &1072938638439040139 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8478992791707926040} - m_Layer: 0 - m_Name: R_RingProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8478992791707926040 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1072938638439040139} - m_LocalRotation: {x: 0.08123156, y: 0.08615339, z: -0.055879932, w: 0.9913912} - m_LocalPosition: {x: 0.002473, y: -0.000513, z: 0.053917997} - m_LocalScale: {x: 0.99998975, y: 1.0000367, z: 1.0000347} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5916075238682563540} - m_Father: {fileID: 5513146571781449873} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1082126973892228091 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8736872093159730964} - m_Layer: 0 - m_Name: L_LittleMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8736872093159730964 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1082126973892228091} - m_LocalRotation: {x: 0.018333554, y: -0.14033656, z: 0.2070356, w: 0.96804225} - m_LocalPosition: {x: -0.022999, y: -0.009419999, z: 0.034073997} - m_LocalScale: {x: 1.0000185, y: 1.0000081, z: 0.9999589} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3360452954430257851} - m_Father: {fileID: 5454991561693174494} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1138320569346658957 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1018846522547772857} - m_Layer: 0 - m_Name: L_IndexMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1018846522547772857 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1138320569346658957} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.019818999, y: -0.009505, z: 0.036447998} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2210373859332506360} - m_Father: {fileID: 5454991561693174494} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1183745269835186887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2999163118182319833} - m_Layer: 0 - m_Name: L_RingMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2999163118182319833 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1183745269835186887} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.014992, y: -0.0060159997, z: 0.034776} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 9086333563091414474} - m_Father: {fileID: 5454991561693174494} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1191123158057982425 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2003090966742418275} - - component: {fileID: 375035666} - m_Layer: 0 - m_Name: LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2003090966742418275 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1191123158057982425} - 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: 5454991561693174494} - - {fileID: 5507515245591000682} - m_Father: {fileID: 22821683770525740} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &375035666 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1191123158057982425} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b5b9cf54c47f40ee9c3eb30ea8eb89b9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Handedness: 1 - m_UpdateType: 1 - m_PoseUpdated: - m_PersistentCalls: - m_Calls: [] - m_JointsUpdated: - m_PersistentCalls: - m_Calls: [] - m_TrackingAcquired: - m_PersistentCalls: - m_Calls: [] - m_TrackingLost: - m_PersistentCalls: - m_Calls: [] - m_TrackingChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &1191123159671947971 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2003090968350070905} - - component: {fileID: 1782473324} - m_Layer: 0 - m_Name: RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2003090968350070905 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1191123159671947971} - 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: 1854015250894670505} - - {fileID: 149373571830433353} - m_Father: {fileID: 454888436805228463} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1782473324 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1191123159671947971} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b5b9cf54c47f40ee9c3eb30ea8eb89b9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Handedness: 2 - m_UpdateType: 1 - m_PoseUpdated: - m_PersistentCalls: - m_Calls: [] - m_JointsUpdated: - m_PersistentCalls: - m_Calls: [] - m_TrackingAcquired: - m_PersistentCalls: - m_Calls: [] - m_TrackingLost: - m_PersistentCalls: - m_Calls: [] - m_TrackingChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &1272469175047982663 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6545067598689818478} - m_Layer: 0 - m_Name: L_RingTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6545067598689818478 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1272469175047982663} - m_LocalRotation: {x: -0.000029424828, y: -2.7755576e-17, z: -8.16703e-22, w: 1} - m_LocalPosition: {x: -0.0002563861, y: 0.0016081122, z: 0.024326071} - m_LocalScale: {x: 1, y: 1.0000552, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1436414000700975455} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1580535063834744769 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5848402378009811369} - - component: {fileID: 7838860168759464695} - m_Layer: 0 - m_Name: Left Controller Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5848402378009811369 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1580535063834744769} - 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: 1567739149459792296} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7838860168759464695 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1580535063834744769} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 6402786117102733902} - m_AimTargetObject: {fileID: 6570378270299661657} - m_UseLocalSpace: 1 - m_AngleStabilization: 20 - m_PositionStabilization: 0.25 ---- !u!1 &1745650282499294621 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5513146571781449873} - m_Layer: 0 - m_Name: R_RingMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5513146571781449873 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1745650282499294621} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.014992, y: -0.0060159997, z: 0.034776} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 8478992791707926040} - m_Father: {fileID: 1854015250894670505} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1926002900601004280 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 207591147416512746} - m_Layer: 0 - m_Name: R_ThumbTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &207591147416512746 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1926002900601004280} - m_LocalRotation: {x: 1.7347235e-18, y: 0, z: -0, w: 1} - m_LocalPosition: {x: 0.00067007233, y: 0.0010274227, z: 0.024590502} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4194798785924402860} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2139061129752504264 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 950409725371601865} - m_Layer: 0 - m_Name: R_IndexMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &950409725371601865 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2139061129752504264} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.019818999, y: -0.009505, z: 0.036447998} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2296086318304296562} - m_Father: {fileID: 1854015250894670505} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2261770704826245077 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4051131698146187610} - - component: {fileID: 5677906498734610657} - m_Layer: 2 - m_Name: Locomotion System - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4051131698146187610 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2261770704826245077} - 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: 2405831530039390624} - - {fileID: 3544037694868147729} - - {fileID: 7821907845344216874} - - {fileID: 4498473847567942817} - - {fileID: 3174701130326037067} - m_Father: {fileID: 5695965693681382256} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5677906498734610657 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2261770704826245077} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 03a5df2202a8b96488c744be3bd0c33e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Timeout: 10 - m_XROrigin: {fileID: 5224365340833411826} ---- !u!1 &2626227285633461255 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7856192808105636038} - - component: {fileID: 6570378270299661657} - - component: {fileID: 6231991488377759004} - - component: {fileID: 8712365147987517659} - - component: {fileID: 3905885195817070280} - m_Layer: 0 - m_Name: Ray Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7856192808105636038 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2626227285633461255} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.02, z: -0.035} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6402786117102733902} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6570378270299661657 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2626227285633461255} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 55 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 1567739149459792296} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 10 - m_RayOriginTransform: {fileID: 5848402378009811369} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 12 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 60 - m_HitDetectionType: 2 - m_SphereCastRadius: 0.0125 - m_ConeCastAngle: 3 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 2147483681 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 1 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 0 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 1 ---- !u!120 &6231991488377759004 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2626227285633461255} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_ReceiveGI: 1 - m_PreserveUVs: 0 - 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 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &8712365147987517659 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2626227285633461255} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.005 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 1 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0.627451, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 1 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 1 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 6402786117102733902} - m_LineOriginOffset: 0 ---- !u!210 &3905885195817070280 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2626227285633461255} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 30005 ---- !u!1 &2733002012265209449 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7825396504461132456} - - component: {fileID: 6535010226964797239} - - component: {fileID: 6333136577382029170} - - component: {fileID: 8752500572825457333} - - component: {fileID: 4011534024567823526} - - component: {fileID: 419765037536022903} - m_Layer: 0 - m_Name: Ray Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7825396504461132456 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2733002012265209449} - 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: 454888436805228463} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6535010226964797239 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2733002012265209449} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 55 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 1358753181431623443} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 10 - m_RayOriginTransform: {fileID: 4792866948028951522} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 12 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 60 - m_HitDetectionType: 2 - m_SphereCastRadius: 0.0125 - m_ConeCastAngle: 3 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 2147483681 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 1 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 0 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 1 ---- !u!120 &6333136577382029170 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2733002012265209449} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_ReceiveGI: 1 - m_PreserveUVs: 0 - 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 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &8752500572825457333 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2733002012265209449} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.0035 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 1 - m_MinLineLength: 0.1 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0.627451, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 1 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 1 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 1308491568808473266} - m_LineOriginOffset: 0.0375 ---- !u!210 &4011534024567823526 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2733002012265209449} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 30005 ---- !u!114 &419765037536022903 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2733002012265209449} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: 93ead265-4bff-4199-8ddf-33c028dcfee9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 9126875591944302883, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: cd9a8368-32d3-4e58-86a0-6fe78d199369 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3870559572202308136, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 55ce4874-0338-46fe-8077-4d6c11a05761 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: -7044516463258014562, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 7964ebc4-45e1-4431-a17a-7f2206e38661 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1277054153949319361, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 3207346a-8b2f-4b24-b45a-90ea1cdef7fb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: dcf177a1-4c6d-42a7-b095-5f68848dadf1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1758520528963094988, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: ed3be3cd-637e-48d6-ae4b-dd97305eaa40 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: af4d694a-0159-4acb-bf36-7b78c35a10d5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7904272356298805229, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 55ce5c5d-aad8-4ebf-9f21-899ff595a062 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: cdab09f7-ec37-4eee-b72c-06339cc37c8b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5908353012961274365, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6756787485274679044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 60f81e0e-3fab-4e26-90b6-a5ab762e2bb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: aca8fec0-a925-428d-a6b7-25cfbd478258 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: cde84d10-7ea4-4fb3-8369-aed372df2bf7 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -440298646266941818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 161874b5-2545-4bb2-bea4-eeddeb4fabf6 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: a3b62f17-7b6b-4c94-b96b-4f3f450ce302 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: ce357afc-7c8b-4b6e-be3a-2afffe4fa003 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &2865530432245592204 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7976049554494745677} - - component: {fileID: 6384133165118077394} - - component: {fileID: 6181797757289544087} - - component: {fileID: 8889782969037044816} - - component: {fileID: 3855695459585438275} - m_Layer: 0 - m_Name: Ray Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7976049554494745677 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2865530432245592204} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.02, z: -0.035} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6402786116742138543} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6384133165118077394 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2865530432245592204} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 55 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 6543386898230183589} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 10 - m_RayOriginTransform: {fileID: 2316791872040560409} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 12 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 60 - m_HitDetectionType: 2 - m_SphereCastRadius: 0.0125 - m_ConeCastAngle: 3 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 2147483681 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 1 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 0 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 1 ---- !u!120 &6181797757289544087 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2865530432245592204} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_ReceiveGI: 1 - m_PreserveUVs: 0 - 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 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &8889782969037044816 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2865530432245592204} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.005 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 1 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0.627451, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 1 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 1 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 6402786116742138543} - m_LineOriginOffset: 0 ---- !u!210 &3855695459585438275 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2865530432245592204} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 30005 ---- !u!1 &2887609706178429413 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7260994184801316706} - m_Layer: 0 - m_Name: L_MiddleIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7260994184801316706 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2887609706178429413} - m_LocalRotation: {x: 0.20427474, y: -0.0019674818, z: 0.0123084, w: 0.9788343} - m_LocalPosition: {x: -0.00000033112343, y: -0.0000008804644, z: 0.042926535} - m_LocalScale: {x: 1.0000315, y: 0.99999595, z: 1.000038} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1380908946801579447} - m_Father: {fileID: 2639567938472764805} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3053917106080803712 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3360452954430257851} - m_Layer: 0 - m_Name: L_LittleProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3360452954430257851 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3053917106080803712} - m_LocalRotation: {x: -0.06267674, y: -0.051014844, z: -0.09903724, w: 0.99179673} - m_LocalPosition: {x: 0.0000025303066, y: 0.000001160611, z: 0.045651983} - m_LocalScale: {x: 0.9999562, y: 1.0000366, z: 1.0000681} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5391290660049003428} - m_Father: {fileID: 8736872093159730964} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3066249218927778833 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2252365623180000791} - m_Layer: 0 - m_Name: L_RingIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2252365623180000791 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3066249218927778833} - m_LocalRotation: {x: 0.3017412, y: 0.0072937733, z: 0.039555237, w: 0.95254105} - m_LocalPosition: {x: 0.0000005266108, y: 0.0000003652638, z: 0.03899503} - m_LocalScale: {x: 1.0000359, y: 0.9999273, z: 0.99994177} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1436414000700975455} - m_Father: {fileID: 9086333563091414474} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3175407393279061787 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2639567938472764805} - m_Layer: 0 - m_Name: L_MiddleProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2639567938472764805 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3175407393279061787} - m_LocalRotation: {x: 0.18964538, y: -0.011715397, z: 0.009750124, w: 0.9817344} - m_LocalPosition: {x: -0.0018839999, y: 0.005105, z: 0.061360996} - m_LocalScale: {x: 0.9999646, y: 1.0000069, z: 1.000008} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7260994184801316706} - m_Father: {fileID: 6081468729603139909} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3183760421830510366 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4600173733669489319} - m_Layer: 0 - m_Name: L_Palm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4600173733669489319 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3183760421830510366} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.000863, y: -0.001272, z: 0.047823} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 5454991561693174494} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3232200615914126534 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8562341685605530767} - - component: {fileID: 2307000885370130510} - m_Layer: 0 - m_Name: Poke Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8562341685605530767 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3232200615914126534} - 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: 22821683770525740} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2307000885370130510 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3232200615914126534} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 2437644310469039048} - m_AimTargetObject: {fileID: 0} - m_UseLocalSpace: 1 - m_AngleStabilization: 5 - m_PositionStabilization: 0.03 ---- !u!1 &3255881979423787216 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5916075238682563540} - m_Layer: 0 - m_Name: R_RingIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5916075238682563540 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3255881979423787216} - m_LocalRotation: {x: 0.3017412, y: -0.0072937733, z: -0.039555237, w: 0.95254105} - m_LocalPosition: {x: -0.0000005266108, y: 0.0000003652638, z: 0.03899503} - m_LocalScale: {x: 1.0000359, y: 0.9999273, z: 0.99994177} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6379891195496996615} - m_Father: {fileID: 8478992791707926040} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3326110914133271979 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6353644656679424938} - m_Layer: 0 - m_Name: L_LittleDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6353644656679424938 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3326110914133271979} - m_LocalRotation: {x: 0.11511069, y: 0.048731122, z: -0.0011094841, w: 0.992156} - m_LocalPosition: {x: 0.00000013540283, y: 0.0000006386686, z: 0.020311324} - m_LocalScale: {x: 1.0000222, y: 0.99996865, z: 0.9999735} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5752845607404601940} - m_Father: {fileID: 5391290660049003428} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3354383541214010992 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2296086318304296562} - m_Layer: 0 - m_Name: R_IndexProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2296086318304296562 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3354383541214010992} - m_LocalRotation: {x: 0.151882, y: -0.076982684, z: 0.041177798, w: 0.9845354} - m_LocalPosition: {x: -0.003732, y: 0.002189, z: 0.059548} - m_LocalScale: {x: 1.0000446, y: 1.0000408, z: 0.999991} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7763818621721414165} - m_Father: {fileID: 950409725371601865} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3444419130128370329 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8620376596723885210} - - component: {fileID: 1809716800875430971} - - component: {fileID: 4445312307397564273} - m_Layer: 0 - m_Name: Cylinder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &8620376596723885210 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3444419130128370329} - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: -0.1, z: -4} - m_LocalScale: {x: 0.5, y: 3.6, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4003448444511216175} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!33 &1809716800875430971 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3444419130128370329} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &4445312307397564273 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3444419130128370329} - 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: 5561349426305759274, guid: 9e1dc1c14313460d872de39e35129b39, type: 3} - 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!1 &3528147757950181037 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1436414000700975455} - m_Layer: 0 - m_Name: L_RingDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1436414000700975455 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3528147757950181037} - m_LocalRotation: {x: 0.09175414, y: 0.02957179, z: 0.008965106, w: 0.99530214} - m_LocalPosition: {x: -0.000001039646, y: -0.00000054232555, z: 0.026573557} - m_LocalScale: {x: 0.9999347, y: 0.9999719, z: 1.0000098} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6545067598689818478} - m_Father: {fileID: 2252365623180000791} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3730630070294704962 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1358753181431623443} - m_Layer: 0 - m_Name: Ray Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1358753181431623443 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3730630070294704962} - 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: 4792866948028951522} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3768845360579919147 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3515076690877983294} - m_Layer: 0 - m_Name: L_IndexDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3515076690877983294 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3768845360579919147} - m_LocalRotation: {x: -0.0030179783, y: -0.026077718, z: 0.016432201, w: 0.9995203} - m_LocalPosition: {x: 0.0000009285007, y: 0.00000015937881, z: 0.024305161} - m_LocalScale: {x: 1.0000451, y: 1.0000081, z: 1.0000004} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 8113271217014953019} - m_Father: {fileID: 3242177904743260188} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3775387791425080232 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7895655936450586292} - m_Layer: 0 - m_Name: R_MiddleDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7895655936450586292 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3775387791425080232} - m_LocalRotation: {x: -0.03223448, y: 0.0019387039, z: -0.040452998, w: 0.9986595} - m_LocalPosition: {x: -0.00000017030132, y: 0.0000005871987, z: 0.027548432} - m_LocalScale: {x: 0.9999718, y: 1.0000138, z: 0.99996346} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6768152231293165296} - m_Father: {fileID: 166148681072052435} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3862924847498138543 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3548906166620879112} - m_Layer: 0 - m_Name: L_ThumbTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3548906166620879112 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3862924847498138543} - m_LocalRotation: {x: -9.62965e-35, y: -2.7755576e-17, z: -3.469447e-18, w: 1} - m_LocalPosition: {x: -0.00067067984, y: 0.0010256439, z: 0.02459195} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2696893791007897054} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4197163134195069431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7359082774632814697} - - component: {fileID: 8385473442660700630} - m_Layer: 0 - m_Name: XR_Setup_Action_Based_HandTracking - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7359082774632814697 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4197163134195069431} - 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: 8369917975546054670} - - {fileID: 8369917976621894641} - - {fileID: 8369917977135921533} - - {fileID: 5695965693681382256} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8385473442660700630 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4197163134195069431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} - m_Name: - m_EditorClassIdentifier: - head: {fileID: 6402786116653345324} - leftHand: {fileID: 6402786117102733902} - rightHand: {fileID: 6402786116742138543} - rigBase: {fileID: 5695965693681382256} ---- !u!1 &4212536449683465375 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2696893791007897054} - m_Layer: 0 - m_Name: L_ThumbDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2696893791007897054 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4212536449683465375} - m_LocalRotation: {x: 0.11291981, y: 0.05065549, z: -0.0791567, w: 0.98914987} - m_LocalPosition: {x: -0.000001023574, y: -0.000001828242, z: 0.033794336} - m_LocalScale: {x: 0.9999879, y: 0.9999645, z: 1.0000014} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3548906166620879112} - m_Father: {fileID: 5913294941248666383} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4407620064162565635 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1854015250894670505} - m_Layer: 0 - m_Name: R_Wrist - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1854015250894670505 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4407620064162565635} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: -0.08} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 950409725371601865} - - {fileID: 6933340986569836915} - - {fileID: 2811219594787225482} - - {fileID: 2179377245851911378} - - {fileID: 5513146571781449873} - - {fileID: 1969103401643389118} - m_Father: {fileID: 2003090968350070905} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4408415899453440593 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5913294941248666383} - m_Layer: 0 - m_Name: L_ThumbProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5913294941248666383 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4408415899453440593} - m_LocalRotation: {x: 0.22011371, y: -0.05016914, z: 0.08162888, w: 0.9707573} - m_LocalPosition: {x: -0.000001152053, y: -0.000004860463, z: 0.032513987} - m_LocalScale: {x: 0.9999928, y: 0.999997, z: 0.9999632} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2696893791007897054} - m_Father: {fileID: 4776185897611663943} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4437225279177583240 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6933340986569836915} - m_Layer: 0 - m_Name: R_LittleMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6933340986569836915 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4437225279177583240} - m_LocalRotation: {x: 0.018333554, y: 0.14033656, z: -0.2070356, w: 0.96804225} - m_LocalPosition: {x: 0.022999, y: -0.009419999, z: 0.034073997} - m_LocalScale: {x: 1.0000185, y: 1.0000081, z: 0.9999589} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1785452145807575268} - m_Father: {fileID: 1854015250894670505} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4617821766873652156 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6543386898230183589} - m_Layer: 0 - m_Name: Right Controller Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6543386898230183589 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4617821766873652156} - 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: 2316791872040560409} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4715434332707499138 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2437644310469039048} - - component: {fileID: 525793331873071097} - - component: {fileID: 7839550363911405654} - m_Layer: 0 - m_Name: Poke Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2437644310469039048 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4715434332707499138} - 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: 22821683770525740} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &525793331873071097 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4715434332707499138} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 4294967295 - m_AttachTransform: {fileID: 8562341685605530767} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_PokeDepth: 0.1 - m_PokeWidth: 0.0075 - m_PokeSelectWidth: 0.015 - m_PokeHoverRadius: 0.015 - m_PokeInteractionOffset: 0.005 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_PhysicsTriggerInteraction: 1 - m_RequirePokeFilter: 1 - m_EnableUIInteraction: 1 - m_DebugVisualizationsEnabled: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &7839550363911405654 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4715434332707499138} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackingType: 0 - m_UpdateType: 0 - m_IgnoreTrackingState: 0 - m_PositionInput: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4441903561031843679, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationInput: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3279446914071225446, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateInput: - m_UseReference: 1 - m_Action: - m_Name: Tracking State Input - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 8e43f309-dfa6-4dfa-877d-cc691285d03b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 684395432459739428, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_PositionAction: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_RotationAction: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 ---- !u!1 &4979551895460489879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5752845607404601940} - m_Layer: 0 - m_Name: L_LittleTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5752845607404601940 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4979551895460489879} - m_LocalRotation: {x: -2.7755576e-17, y: 2.7755576e-17, z: -1.3877788e-17, w: 1} - m_LocalPosition: {x: 0.00024632577, y: 0.0012151983, z: 0.021923328} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6353644656679424938} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5042732608528701949 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1610253605342934861} - m_Layer: 0 - m_Name: R_IndexTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1610253605342934861 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5042732608528701949} - m_LocalRotation: {x: 0, y: -4.3368087e-19, z: -0, w: 1} - m_LocalPosition: {x: 0.00029487914, y: 0.0010248977, z: 0.022363802} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2730176916545866013} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5062926620634208070 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7620598360529377927} - m_Layer: 0 - m_Name: R_MiddleProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7620598360529377927 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5062926620634208070} - m_LocalRotation: {x: 0.18964538, y: 0.011715397, z: -0.009750124, w: 0.9817344} - m_LocalPosition: {x: 0.0018839999, y: 0.005105, z: 0.061360996} - m_LocalScale: {x: 0.9999646, y: 1.0000069, z: 1.000008} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 166148681072052435} - m_Father: {fileID: 2811219594787225482} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5096991393520790800 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4498473847567942817} - - component: {fileID: 4654939318483164337} - m_Layer: 2 - m_Name: Teleportation - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4498473847567942817 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5096991393520790800} - 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: 4051131698146187610} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4654939318483164337 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5096991393520790800} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_DelayTime: 0 ---- !u!1 &5126512264265485450 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4792866948028951522} - - component: {fileID: 1695249324663428016} - m_Layer: 0 - m_Name: Ray Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4792866948028951522 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5126512264265485450} - 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: 1358753181431623443} - m_Father: {fileID: 454888436805228463} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1695249324663428016 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5126512264265485450} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 7825396504461132456} - m_AimTargetObject: {fileID: 6535010226964797239} - m_UseLocalSpace: 1 - m_AngleStabilization: 20 - m_PositionStabilization: 0.25 ---- !u!1 &5186628258174634733 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6379891195496996615} - m_Layer: 0 - m_Name: R_RingDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6379891195496996615 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5186628258174634733} - m_LocalRotation: {x: 0.09172485, y: -0.029571526, z: -0.008965976, w: 0.9953048} - m_LocalPosition: {x: 0.000001039646, y: -0.00000054232555, z: 0.026573557} - m_LocalScale: {x: 0.9999347, y: 1.0000271, z: 1.0000098} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3310007999475917894} - m_Father: {fileID: 5916075238682563540} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5276240109953548995 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 454888436805228463} - - component: {fileID: 777032762884936255} - - component: {fileID: 6409295645008131937} - - component: {fileID: 2827697041261655833} - - component: {fileID: 7764348188467781117} - m_Layer: 0 - m_Name: Right Hand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &454888436805228463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5276240109953548995} - 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: 5016833041144460280} - - {fileID: 8927967609072036182} - - {fileID: 7825396504461132456} - - {fileID: 2469765000921784745} - - {fileID: 2146948972233586898} - - {fileID: 4792866948028951522} - - {fileID: 1308491568808473266} - - {fileID: 2003090968350070905} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &777032762884936255 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5276240109953548995} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} - m_Name: - m_EditorClassIdentifier: - m_GroupName: - m_InteractionManager: {fileID: 0} - m_StartingGroupMembers: - - {fileID: 2317808492794743539} - - {fileID: 2826923423766824729} - - {fileID: 6535010226964797239} - m_StartingInteractionOverridesMap: - - groupMember: {fileID: 2317808492794743539} - overrideGroupMembers: - - {fileID: 2826923423766824729} ---- !u!114 &6409295645008131937 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5276240109953548995} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dbac611a2982409ab5f5e604f53bcad0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Handedness: 2 - m_PokeGestureStarted: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 2733002012265209449} - 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_PokeGestureEnded: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 2733002012265209449} - 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: 1 - m_CallState: 2 ---- !u!114 &2827697041261655833 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5276240109953548995} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a83bc4aa48d0da648b49d0fd56690b25, type: 3} - m_Name: - m_EditorClassIdentifier: - m_AimFlagsAction: - m_UseReference: 1 - m_Action: - m_Name: Aim Flags - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 5a4fce95-4f7e-4130-b323-a6ab97b798b3 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3270634481770055383, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SystemGestureStarted: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 186769750178984188} - 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: 6104505662804518821} - 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: 2733002012265209449} - 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_SystemGestureEnded: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 186769750178984188} - 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: 1 - m_CallState: 2 - - m_Target: {fileID: 6104505662804518821} - 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: 1 - m_CallState: 2 - - m_Target: {fileID: 2733002012265209449} - 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: 1 - m_CallState: 2 - m_MenuPressed: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7764348188467781117} - m_TargetAssemblyTypeName: UnityEngine.AudioSource, UnityEngine - 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: 0 - m_CallState: 2 ---- !u!82 &7764348188467781117 -AudioSource: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5276240109953548995} - m_Enabled: 1 - serializedVersion: 4 - OutputAudioMixerGroup: {fileID: 0} - m_audioClip: {fileID: 8300000, guid: 16fba6d30ed741d4a9fdd6e79ee2f3ac, type: 3} - m_PlayOnAwake: 0 - 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 &5343023454748112280 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4003448444511216175} - - component: {fileID: 229294642778171935} - - component: {fileID: 6893067028422689572} - m_Layer: 0 - m_Name: Poke Point - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4003448444511216175 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5343023454748112280} - m_LocalRotation: {x: 0.04345342, y: 0.08707283, z: -0.0038016832, w: 0.9952465} - m_LocalPosition: {x: -0.005, y: -0.01, z: 0.025} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 8620376596723885210} - m_Father: {fileID: 5747914107444238923} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 5, y: 10, z: 0} ---- !u!33 &229294642778171935 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5343023454748112280} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &6893067028422689572 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5343023454748112280} - m_Enabled: 0 - 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: 670224309865224971, guid: 11cd62256b1d470f922b2c8e6446cc77, type: 3} - 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!1 &5454156952178335021 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2730176916545866013} - m_Layer: 0 - m_Name: R_IndexDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2730176916545866013 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5454156952178335021} - m_LocalRotation: {x: -0.0030179783, y: 0.026077718, z: -0.016432201, w: 0.9995203} - m_LocalPosition: {x: -0.0000009285007, y: 0.00000015937881, z: 0.024305161} - m_LocalScale: {x: 1.0000451, y: 1.0000081, z: 1.0000004} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1610253605342934861} - m_Father: {fileID: 7763818621721414165} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5529363712616275262 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2405831530039390624} - - component: {fileID: 8024370326902645} - - component: {fileID: 8248759433382316900} - m_Layer: 2 - m_Name: Turn - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2405831530039390624 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5529363712616275262} - 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: 4051131698146187610} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8024370326902645 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5529363712616275262} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2213c36610e3b1c4bbf886810ed9db12, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_TurnAmount: 45 - m_DebounceTime: 0.5 - m_EnableTurnLeftRight: 1 - m_EnableTurnAround: 1 - m_DelayTime: 0 - m_LeftHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: a1d07c24-ca50-422a-a23f-685d9fabf63b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7374733323251553461, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RightHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: a7b54797-6974-4f75-81d0-42b9c15ef1e0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8525429354371678379, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} ---- !u!114 &8248759433382316900 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5529363712616275262} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 919e39492806b334982b6b84c90dd927, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_TurnSpeed: 60 - m_LeftHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: d065cb11-e9f6-4747-a3d4-1c032fc345a0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RightHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: e043a43a-0352-4ee2-ab81-9dafdfb41dc2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} ---- !u!1 &5695965693681382259 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5695965693681382256} - - component: {fileID: 5224365340833411826} - - component: {fileID: 1055088022868586948} - - component: {fileID: 1055088022868586945} - - component: {fileID: 576755048065078895} - - component: {fileID: 2089920413230255935} - m_Layer: 2 - m_Name: XR Origin (XR Rig) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5695965693681382256 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5695965693681382259} - 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: 6402786116697830925} - - {fileID: 4051131698146187610} - - {fileID: 6402767434607311460} - m_Father: {fileID: 7359082774632814697} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5224365340833411826 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5695965693681382259} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Camera: {fileID: 6402786116653345321} - m_OriginBaseGameObject: {fileID: 5695965693681382259} - m_CameraFloorOffsetObject: {fileID: 6402786116697830924} - m_RequestedTrackingOriginMode: 0 - m_CameraYOffset: 1.36144 ---- !u!143 &1055088022868586948 -CharacterController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5695965693681382259} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Height: 1.36144 - m_Radius: 0.1 - m_SlopeLimit: 45 - m_StepOffset: 0.5 - m_SkinWidth: 0.08 - m_MinMoveDistance: 0.001 - m_Center: {x: 0, y: 0.76072, z: 0} ---- !u!114 &1055088022868586945 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5695965693681382259} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: af6bf904e410ee8479f9093d8830d1f8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LocomotionProvider: {fileID: 6555070471899797663} - m_MinHeight: 0 - m_MaxHeight: Infinity ---- !u!114 &576755048065078895 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5695965693681382259} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 82bc72d2ecc8add47b2fe00d40318500, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LeftHand: {fileID: 717987304301734414} - m_RightHand: {fileID: 5276240109953548995} - m_LeftController: {fileID: 6402786117102733905} - m_RightController: {fileID: 6402786116742138542} - m_TrackedHandModeStarted: - m_PersistentCalls: - m_Calls: [] - m_TrackedHandModeEnded: - m_PersistentCalls: - m_Calls: [] - m_MotionControllerModeStarted: - m_PersistentCalls: - m_Calls: [] - m_MotionControllerModeEnded: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &2089920413230255935 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5695965693681382259} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c9b3d17eeb2e6bc47ada81d8f7f638d8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_GazeInteractor: {fileID: 9018873611297611310} - m_FallbackDivergence: 60 - m_HideCursorWithNoActiveRays: 1 - m_RayInteractors: - - m_Interactor: {fileID: 6570378270299661657} - m_TeleportRay: 0 - - m_Interactor: {fileID: 6402786115984582230} - m_TeleportRay: 1 - - m_Interactor: {fileID: 6384133165118077394} - m_TeleportRay: 0 - - m_Interactor: {fileID: 8729137607983563343} - m_TeleportRay: 1 - m_AimAssistRequiredAngle: 30 - m_AimAssistRequiredSpeed: 0.25 - m_AimAssistPercent: 0.8 - m_AimAssistMaxSpeedPercent: 10 ---- !u!1 &5921255018297057876 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1785452145807575268} - m_Layer: 0 - m_Name: R_LittleProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1785452145807575268 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5921255018297057876} - m_LocalRotation: {x: -0.06267674, y: 0.051014844, z: 0.09903724, w: 0.99179673} - m_LocalPosition: {x: -0.0000025303066, y: 0.000001160611, z: 0.045651983} - m_LocalScale: {x: 0.9999562, y: 1.0000366, z: 1.0000681} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4844180182862504219} - m_Father: {fileID: 6933340986569836915} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5938805431132955666 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1308491568808473266} - - component: {fileID: 2813504463101754289} - - component: {fileID: 5339503941655630316} - m_Layer: 0 - m_Name: Pinch Point Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1308491568808473266 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5938805431132955666} - 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: 1 - m_Children: [] - m_Father: {fileID: 454888436805228463} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2813504463101754289 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5938805431132955666} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8693657abb5062a40a80ba3cb86ef181, type: 3} - m_Name: - m_EditorClassIdentifier: - m_XRHandTrackingEvents: {fileID: 1782473324} - m_TargetRotation: {fileID: 4792866948028951522} - m_RayInteractor: {fileID: 6535010226964797239} - m_RotationSmoothingSpeed: 12 ---- !u!114 &5339503941655630316 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5938805431132955666} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TransitionDuration: 0.125 - m_InteractorSource: {fileID: 6535010226964797239} - m_IgnoreHoverEvents: 0 - m_IgnoreSelectEvents: 0 - m_IgnoreActivateEvents: 1 - m_IgnoreUGUIHover: 0 - m_IgnoreUGUISelect: 0 - m_IgnoreXRInteractionEvents: 0 - m_SelectClickAnimationMode: 0 - m_ActivateClickAnimationMode: 0 - m_ClickAnimationDuration: 0.25 - m_ClickAnimationCurve: - m_UseConstant: 1 - m_ConstantValue: - 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: 4 - m_Variable: {fileID: 0} ---- !u!1 &5951907239346369223 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4776185897611663943} - m_Layer: 0 - m_Name: L_ThumbMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4776185897611663943 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5951907239346369223} - m_LocalRotation: {x: -0.06665304, y: 0.39692008, z: -0.5750258, w: 0.71229005} - m_LocalPosition: {x: 0.030218, y: -0.016083999, z: 0.034498} - m_LocalScale: {x: 1.0000204, y: 1.0000343, z: 0.9999787} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5913294941248666383} - m_Father: {fileID: 5454991561693174494} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6104505662804518821 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8927967609072036182} - - component: {fileID: 2826923423766824729} - - component: {fileID: 8798896623531438380} - - component: {fileID: 2666504501235599335} - m_Layer: 0 - m_Name: Direct Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8927967609072036182 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6104505662804518821} - 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: 454888436805228463} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2826923423766824729 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6104505662804518821} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4253f32900bcc4d499d675566142ded0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 23 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 2146948972233586898} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_ImproveAccuracyWithSphereCollider: 1 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 ---- !u!135 &8798896623531438380 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6104505662804518821} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &2666504501235599335 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6104505662804518821} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: 93ead265-4bff-4199-8ddf-33c028dcfee9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7621925406209348655, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: cd9a8368-32d3-4e58-86a0-6fe78d199369 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 4781177420166611790, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 24f89cec-5300-4f97-ab4a-32efa3f4ffee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: -7044516463258014562, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 7964ebc4-45e1-4431-a17a-7f2206e38661 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1277054153949319361, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 3207346a-8b2f-4b24-b45a-90ea1cdef7fb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: dcf177a1-4c6d-42a7-b095-5f68848dadf1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1758520528963094988, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: ed3be3cd-637e-48d6-ae4b-dd97305eaa40 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: af4d694a-0159-4acb-bf36-7b78c35a10d5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7904272356298805229, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 55ce5c5d-aad8-4ebf-9f21-899ff595a062 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: cdab09f7-ec37-4eee-b72c-06339cc37c8b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5908353012961274365, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 47bd347a-07a2-40d1-8294-469e3f7d6294 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6756787485274679044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 60f81e0e-3fab-4e26-90b6-a5ab762e2bb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: aca8fec0-a925-428d-a6b7-25cfbd478258 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: cde84d10-7ea4-4fb3-8369-aed372df2bf7 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -440298646266941818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 161874b5-2545-4bb2-bea4-eeddeb4fabf6 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 8a344e31-f267-41c9-9041-cfffb54b5147 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 02a8d26f-6921-4eb6-814c-484b8eaa28a3 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &6346952451604440530 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3544037694868147729} - - component: {fileID: 6555070471899797663} - m_Layer: 2 - m_Name: Move - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3544037694868147729 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6346952451604440530} - 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: 4051131698146187610} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6555070471899797663 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6346952451604440530} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9b1e8c997df241c1a67045eeac79b41b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_MoveSpeed: 1 - m_EnableStrafe: 1 - m_EnableFly: 0 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_ForwardSource: {fileID: 6402786116653345324} - m_LeftHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: fa65baa9-ca16-4d92-8425-3195462c2aea - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6972639530819350904, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RightHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 7c956f1d-8187-437c-8dc4-afdbf8424b34 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8198699208435500284, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HeadTransform: {fileID: 6402786116653345324} - m_LeftControllerTransform: {fileID: 6402786117102733902} - m_RightControllerTransform: {fileID: 6402786116742138543} - m_LeftHandMovementDirection: 0 - m_RightHandMovementDirection: 0 ---- !u!1 &6402786115984582234 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6402786115984582235} - - component: {fileID: 6402786115984582230} - - component: {fileID: 6402786115984582233} - - component: {fileID: 6402786115984582232} - - component: {fileID: 1473289480730034742} - - component: {fileID: 8350796912409923377} - m_Layer: 0 - m_Name: Teleport Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6402786115984582235 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786115984582234} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.02, z: -0.035} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6402786117102733902} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &6402786115984582230 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786115984582234} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 2147483648 - m_InteractionLayers: - m_Bits: 2147483904 - m_AttachTransform: {fileID: 1567739149459792296} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 5848402378009811369} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 50 - m_HitDetectionType: 0 - m_SphereCastRadius: 0.1 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 2147483937 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 1 - m_EnableUIInteraction: 0 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 0 - m_RotateSpeed: 180 - m_TranslateSpeed: 0 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 1 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &6402786115984582233 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786115984582234} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_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_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &6402786115984582232 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786115984582234} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.01 - m_OverrideInteractorLineLength: 0 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.02 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.1999999, g: 1, b: 0, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 8748868027195207512, guid: 893219773891c784ab469a39151879b4, type: 3} - m_BlockedReticle: {fileID: 3177232254315139758, guid: a3fde713df4d99042a0403c4be9eea32, type: 3} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 6402786117102733902} - m_LineOriginOffset: 0 ---- !u!210 &1473289480730034742 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786115984582234} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 30005 ---- !u!114 &8350796912409923377 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786115984582234} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 0 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: 8b170a9b-132e-486d-947e-6a244d4362ea - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: 080819c2-8547-4beb-8522-e6356be16fb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 3975349d-0575-4146-938e-7c8de713073b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 8db27cb3-9369-4e6a-9c66-17df490c89af - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 8e000d1c-13a4-4cc0-ad37-f2e125874399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4084014799535200556, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 07d9e458-3e59-4acb-8a8f-2325c5fb0904 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4084014799535200556, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 3995f9f4-6aa7-409a-80d2-5f7ea1464fde - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: b99c6f8c-3762-478a-b2d6-882b9175d1bb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4289430672226363583, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: db89d01c-df6f-4954-b868-103dd5bdb514 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 15e220ae-aa18-4d3d-a3d7-0c505dc649c8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: c2cad5a5-b96a-4161-ac52-0781e2861c1e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 3e09b626-c80d-40ec-9592-eb3fe89c2038 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 3dca8766-e652-4e78-8406-420aa73ba338 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 6c0b9ec3-aa4f-4e6a-85ea-7db994c51246 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8811388872089202044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: e873605e-6a95-4389-8fbe-39069340ba92 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 8ade6c1d-9712-4906-b8c1-b614dad5da11 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 6317d004-7d4a-4ee3-b309-c53cf4879474 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &6402786116653345327 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6402786116653345324} - - component: {fileID: 6402786116653345321} - - component: {fileID: 6402786116653345323} - - component: {fileID: 1055088022868586957} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6402786116653345324 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116653345327} - 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: 6402786116697830925} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &6402786116653345321 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116653345327} - 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.01 - 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!81 &6402786116653345323 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116653345327} - m_Enabled: 1 ---- !u!114 &1055088022868586957 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116653345327} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackingType: 0 - m_UpdateType: 0 - m_IgnoreTrackingState: 0 - m_PositionInput: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_Reference: {fileID: 7862207684358717888, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationInput: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 - m_Reference: {fileID: -530380113134220495, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateInput: - m_UseReference: 1 - m_Action: - m_Name: Tracking State Input - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: be9cc21d-5595-4ea6-aa72-e48652a11968 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1031966339891076899, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_PositionAction: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_RotationAction: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 ---- !u!1 &6402786116697830924 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6402786116697830925} - m_Layer: 0 - m_Name: Camera Offset - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6402786116697830925 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116697830924} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 1.36144, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6402786116653345324} - - {fileID: 5091181746450903079} - - {fileID: 7582941832637889510} - - {fileID: 6402786117102733902} - - {fileID: 5848402378009811369} - - {fileID: 6402786116742138543} - - {fileID: 2316791872040560409} - - {fileID: 22821683770525740} - - {fileID: 454888436805228463} - - {fileID: 8449843014807013422} - m_Father: {fileID: 5695965693681382256} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6402786116742138542 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6402786116742138543} - - component: {fileID: 1603691889822239252} - - component: {fileID: 6402786116742138538} - - component: {fileID: 321322038073949409} - m_Layer: 0 - m_Name: Right Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6402786116742138543 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116742138542} - 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: 7943176589861650002} - - {fileID: 6332947241467953349} - - {fileID: 7976049554494745677} - - {fileID: 8729137607983563330} - - {fileID: 355150830} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1603691889822239252 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116742138542} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f9ac216f0eb04754b1d938aac6380b31, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ManipulationInteractionGroup: {fileID: 321322038073949409} - m_DirectInteractor: {fileID: 810253392210833034} - m_RayInteractor: {fileID: 6384133165118077394} - m_TeleportInteractor: {fileID: 8729137607983563343} - m_TeleportModeActivate: {fileID: -8061240218431744966, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TeleportModeCancel: {fileID: 2307464322626738743, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_Turn: {fileID: -6493913391331992944, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SnapTurn: {fileID: -8525429354371678379, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_Move: {fileID: -8198699208435500284, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScroll: {fileID: -6756787485274679044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SmoothMotionEnabled: 0 - m_SmoothTurnEnabled: 0 - m_UIScrollingEnabled: 1 - m_RayInteractorChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 4745260101952117969} - m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Inputs.XRTransformStabilizer, - Unity.XR.Interaction.Toolkit - m_MethodName: set_aimTarget - m_Mode: 0 - 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 &6402786116742138538 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116742138542} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - m_ModelParent: {fileID: 355150830} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 1 - m_ExpectedControlType: Button - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: -7044516463258014562, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 008dba4e-870a-43fb-9a1f-1a7bc3ecec0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1277054153949319361, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 1 - m_ExpectedControlType: Button - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 6b1e5826-d74e-452e-ab31-5d6eae6f407e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1758520528963094988, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 1 - m_ExpectedControlType: Button - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 98d3d870-d1c9-4fbe-9790-8d0c2cb9ffc0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7904272356298805229, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 1 - m_ExpectedControlType: Button - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: bf4ab5bd-3648-4de6-a1f6-8e879b2612c2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5908353012961274365, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: a6c0ac1e-4065-4abc-ac84-e81172fbfdd4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6756787485274679044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 59ea1b94-e9f8-4049-ab97-5920b11143a5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 72b93609-c58e-411b-a958-c221860f8269 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -440298646266941818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 08507162-a3bd-4e4f-9854-0b3051398d03 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2524354804938687746, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 65d9ae9e-5581-4b2c-a1f5-2ba0614443e2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6447266317303757838, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ButtonPressPoint: 0.5 ---- !u!114 &321322038073949409 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786116742138542} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} - m_Name: - m_EditorClassIdentifier: - m_GroupName: Right - m_InteractionManager: {fileID: 0} - m_StartingGroupMembers: - - {fileID: 5000095491807068132} - - {fileID: 810253392210833034} - - {fileID: 6384133165118077394} - m_StartingInteractionOverridesMap: - - groupMember: {fileID: 5000095491807068132} - overrideGroupMembers: - - {fileID: 810253392210833034} ---- !u!1 &6402786117102733905 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6402786117102733902} - - component: {fileID: 1915395658725983807} - - component: {fileID: 6402786117102733898} - - component: {fileID: 6183105119667476963} - m_Layer: 0 - m_Name: Left Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6402786117102733902 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786117102733905} - 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: 5747914107444238923} - - {fileID: 2724298053106250032} - - {fileID: 7856192808105636038} - - {fileID: 6402786115984582235} - - {fileID: 1697662089} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1915395658725983807 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786117102733905} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f9ac216f0eb04754b1d938aac6380b31, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ManipulationInteractionGroup: {fileID: 6183105119667476963} - m_DirectInteractor: {fileID: 8724346012650135423} - m_RayInteractor: {fileID: 6570378270299661657} - m_TeleportInteractor: {fileID: 6402786115984582230} - m_TeleportModeActivate: {fileID: 1263111715868034790, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TeleportModeCancel: {fileID: 737890489006591557, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_Turn: {fileID: 1010738217276881514, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SnapTurn: {fileID: -7374733323251553461, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_Move: {fileID: 6972639530819350904, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScroll: {fileID: 2464016903823916871, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SmoothMotionEnabled: 1 - m_SmoothTurnEnabled: 0 - m_UIScrollingEnabled: 1 - m_RayInteractorChanged: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 7838860168759464695} - m_TargetAssemblyTypeName: UnityEngine.XR.Interaction.Toolkit.Inputs.XRTransformStabilizer, - Unity.XR.Interaction.Toolkit - m_MethodName: set_aimTarget - m_Mode: 0 - 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 &6402786117102733898 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786117102733905} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - m_ModelParent: {fileID: 1697662089} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: 8b170a9b-132e-486d-947e-6a244d4362ea - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: 080819c2-8547-4beb-8522-e6356be16fb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 22c1da5c-d38f-4253-a25c-fe94205f2ec5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 840156964685210860, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: f3874727-df53-4207-8cd4-6248164663d7 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 684395432459739428, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 8e000d1c-13a4-4cc0-ad37-f2e125874399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: e015d020-ed5c-40b6-b968-fa9881521f0e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6558622148059887818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 3995f9f4-6aa7-409a-80d2-5f7ea1464fde - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 492aea1c-7d58-4cb0-8e3c-257d2f651c04 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4289430672226363583, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: db89d01c-df6f-4954-b868-103dd5bdb514 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 6258f0cd-e000-49ea-b3b6-7c930f12c390 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 71106601250685021, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: b74fcfe3-d94d-4bf1-960a-364568ffe66b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 2464016903823916871, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 3e09b626-c80d-40ec-9592-eb3fe89c2038 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 3dca8766-e652-4e78-8406-420aa73ba338 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 7d323aae-15a7-4c32-a2b9-0653cb108725 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8811388872089202044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: e873605e-6a95-4389-8fbe-39069340ba92 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: a1912586-fdc4-4079-b714-faafc085fd22 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -335775248641796371, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 61322b52-a380-4dd9-9782-1091163d1509 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -1636515391019944688, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ButtonPressPoint: 0.5 ---- !u!114 &6183105119667476963 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6402786117102733905} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} - m_Name: - m_EditorClassIdentifier: - m_GroupName: Left - m_InteractionManager: {fileID: 0} - m_StartingGroupMembers: - - {fileID: 7249823641963879421} - - {fileID: 8724346012650135423} - - {fileID: 6570378270299661657} - m_StartingInteractionOverridesMap: - - groupMember: {fileID: 7249823641963879421} - overrideGroupMembers: - - {fileID: 8724346012650135423} ---- !u!1 &6525406361619943648 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4478053436680485766} - m_Layer: 0 - m_Name: R_ThumbProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4478053436680485766 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6525406361619943648} - m_LocalRotation: {x: 0.30390567, y: 0.06966191, z: -0.09680318, w: 0.9452078} - m_LocalPosition: {x: 0.0009862719, y: -0.0057129283, z: 0.031992175} - m_LocalScale: {x: 0.99998945, y: 0.99999183, z: 1.0000514} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4194798785924402860} - m_Father: {fileID: 1969103401643389118} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6709232189878200370 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8449843014807013422} - - component: {fileID: 7470296005428385293} - m_Layer: 0 - m_Name: Hand Visualizer - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8449843014807013422 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6709232189878200370} - 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: 6402786116697830925} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7470296005428385293 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6709232189878200370} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2e9813c68d7d6f44282ace8bd2d1fd46, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UseOptimizedControls: 0 - m_LeftHandMesh: {fileID: 1191123158057982425} - m_RightHandMesh: {fileID: 1191123159671947971} - m_HandMeshMaterial: {fileID: 2100000, guid: 9e99499257a0f6644a9af46ef7fa92c7, type: 2} - m_DrawMeshes: 1 - m_DebugDrawPrefab: {fileID: 6507399986997092475, guid: 254b742d65a15d14b9df756ae77de868, type: 3} - m_DebugDrawJoints: 0 - m_VelocityPrefab: {fileID: 8538602047018081646, guid: 629fd7882ec6bfc499a5fcf20035282b, type: 3} - m_VelocityType: 2 ---- !u!1 &6719462359674874879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 166148681072052435} - m_Layer: 0 - m_Name: R_MiddleIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &166148681072052435 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6719462359674874879} - m_LocalRotation: {x: 0.20427474, y: 0.0019674818, z: -0.0123084, w: 0.9788343} - m_LocalPosition: {x: 0.00000033112343, y: -0.0000008804644, z: 0.042926535} - m_LocalScale: {x: 1.0000315, y: 0.99999595, z: 1.000038} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 7895655936450586292} - m_Father: {fileID: 7620598360529377927} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6750816583879588589 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7943176589861650002} - - component: {fileID: 5000095491807068132} - m_Layer: 0 - m_Name: Poke Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7943176589861650002 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6750816583879588589} - 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: 1616932236876252726} - m_Father: {fileID: 6402786116742138543} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5000095491807068132 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6750816583879588589} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 4294967295 - m_AttachTransform: {fileID: 1616932236876252726} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_PokeDepth: 0.1 - m_PokeWidth: 0.0075 - m_PokeSelectWidth: 0.015 - m_PokeHoverRadius: 0.015 - m_PokeInteractionOffset: 0.005 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_PhysicsTriggerInteraction: 1 - m_RequirePokeFilter: 1 - m_EnableUIInteraction: 1 - m_DebugVisualizationsEnabled: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &6848374647008770679 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5507515245591000682} - - component: {fileID: 215105502123436360} - m_Layer: 0 - m_Name: LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5507515245591000682 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6848374647008770679} - 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: 2003090966742418275} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &215105502123436360 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6848374647008770679} - 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: 3 - m_RayTraceProcedural: 0 - 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_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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -4299625302041532480, guid: bf7151579c38e2a44be94ba8773876c1, type: 3} - m_Bones: - - {fileID: 5454991561693174494} - - {fileID: 1018846522547772857} - - {fileID: 5752845607404601940} - - {fileID: 6081468729603139909} - - {fileID: 2639567938472764805} - - {fileID: 7260994184801316706} - - {fileID: 1380908946801579447} - - {fileID: 5523029461187993029} - - {fileID: 2999163118182319833} - - {fileID: 9086333563091414474} - - {fileID: 2252365623180000791} - - {fileID: 1436414000700975455} - - {fileID: 2210373859332506360} - - {fileID: 6545067598689818478} - - {fileID: 4776185897611663943} - - {fileID: 5913294941248666383} - - {fileID: 2696893791007897054} - - {fileID: 3548906166620879112} - - {fileID: 4600173733669489319} - - {fileID: 3242177904743260188} - - {fileID: 3515076690877983294} - - {fileID: 8113271217014953019} - - {fileID: 8736872093159730964} - - {fileID: 3360452954430257851} - - {fileID: 5391290660049003428} - - {fileID: 6353644656679424938} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 5454991561693174494} - m_AABB: - m_Center: {x: 0.008882426, y: -0.016739514, z: 0.0781125} - m_Extent: {x: 0.08261519, y: 0.056081634, z: 0.10162346} - m_DirtyAABB: 0 ---- !u!1 &6857026225204119587 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8104229418314499792} - - component: {fileID: 3217185777844545695} - - component: {fileID: 8180075515697110698} - - component: {fileID: 8922563157598988046} - m_Layer: 0 - m_Name: Direct Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8104229418314499792 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6857026225204119587} - 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: 22821683770525740} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3217185777844545695 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6857026225204119587} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4253f32900bcc4d499d675566142ded0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 23 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 3614894761196931837} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_ImproveAccuracyWithSphereCollider: 1 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 ---- !u!135 &8180075515697110698 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6857026225204119587} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &8922563157598988046 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6857026225204119587} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: 26d2aaa4-6518-4d33-8fae-419043a723d4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8148491892877670638, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: d7a15530-737b-416a-9d5d-a8b51ba6c682 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7142700859771459151, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: f0c7c302-cbd5-465f-a326-6502c16a71f9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 840156964685210860, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: e12d3305-8866-42f0-a9b8-2cd7f4310c31 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 684395432459739428, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 05483079-4b7c-4369-9176-fb8514428e98 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 8e42f062-fb45-44df-9825-35e1dfc18834 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6558622148059887818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 38e5c09b-96d2-40e4-ae8e-3bfb9eb16727 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: ff2b1032-d7ae-4e1a-8e8a-a5556d5f8db5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4289430672226363583, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 347fe4ac-83bc-44f7-a0d2-2793a5775161 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 8b29ebc3-3830-4622-8c66-56f3a9b98d73 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 71106601250685021, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: cd921c38-6607-4119-8d15-5957e0c6a19c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 2464016903823916871, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 35cfed17-bcaf-4ff9-9fe0-fa1727b7619b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4fcd4b62-1769-4cc4-aaee-aea2fc40d24f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 0a72890c-b3bc-4ec1-adad-df62dfa843d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8811388872089202044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 7bfe4461-8d15-4a61-9fa6-28ce950c9996 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: afa2d926-5f30-4123-a063-3ee9a0748fb4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 0ec3ddf3-f6dd-457e-95f8-f9f44cef43ce - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &7025034179889395085 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8113271217014953019} - m_Layer: 0 - m_Name: L_IndexTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8113271217014953019 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7025034179889395085} - m_LocalRotation: {x: 0, y: 4.3368087e-19, z: -0, w: 1} - m_LocalPosition: {x: -0.00029495324, y: 0.0010254311, z: 0.022364646} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3515076690877983294} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7095294832561539722 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3099456756686607947} - - component: {fileID: 2101803313044915156} - - component: {fileID: 1187206471635665809} - - component: {fileID: 4534349886692918870} - - component: {fileID: 8084466177201539141} - - component: {fileID: 4301627762732302569} - m_Layer: 0 - m_Name: Ray Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3099456756686607947 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7095294832561539722} - 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: 22821683770525740} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2101803313044915156 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7095294832561539722} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 55 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 7117647868437094547} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 10 - m_RayOriginTransform: {fileID: 4530772326112196357} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 12 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 60 - m_HitDetectionType: 2 - m_SphereCastRadius: 0.0125 - m_ConeCastAngle: 3 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 2147483681 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 1 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 0 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 1 ---- !u!120 &1187206471635665809 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7095294832561539722} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_ReceiveGI: 1 - m_PreserveUVs: 0 - 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 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &4534349886692918870 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7095294832561539722} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.0035 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 1 - m_MinLineLength: 0.1 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0.627451, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 0} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 1 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 1 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 4724445456448047939} - m_LineOriginOffset: 0.0375 ---- !u!210 &8084466177201539141 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7095294832561539722} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 30005 ---- !u!114 &4301627762732302569 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7095294832561539722} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: 26d2aaa4-6518-4d33-8fae-419043a723d4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2496076053284925795, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: d7a15530-737b-416a-9d5d-a8b51ba6c682 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7149951272733842039, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 01c9e969-5b08-4ff9-97a1-d646e587fa31 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 840156964685210860, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: e12d3305-8866-42f0-a9b8-2cd7f4310c31 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 684395432459739428, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 05483079-4b7c-4369-9176-fb8514428e98 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 8e42f062-fb45-44df-9825-35e1dfc18834 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6558622148059887818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 38e5c09b-96d2-40e4-ae8e-3bfb9eb16727 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: ff2b1032-d7ae-4e1a-8e8a-a5556d5f8db5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4289430672226363583, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 347fe4ac-83bc-44f7-a0d2-2793a5775161 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: 8b29ebc3-3830-4622-8c66-56f3a9b98d73 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 71106601250685021, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 61000fa3-bda0-42fc-ba38-f6f7692c3e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 2464016903823916871, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 35cfed17-bcaf-4ff9-9fe0-fa1727b7619b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4fcd4b62-1769-4cc4-aaee-aea2fc40d24f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 0a72890c-b3bc-4ec1-adad-df62dfa843d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8811388872089202044, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 7bfe4461-8d15-4a61-9fa6-28ce950c9996 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 5fa3e2c1-a95e-4724-b74b-c5ad1229a291 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: d1518bf7-ff62-47f4-8bf9-b74d00621304 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &7161016115561742046 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2146948972233586898} - - component: {fileID: 9190808074707022031} - m_Layer: 0 - m_Name: Direct Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2146948972233586898 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7161016115561742046} - 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: 454888436805228463} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &9190808074707022031 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7161016115561742046} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 8927967609072036182} - m_AimTargetObject: {fileID: 0} - m_UseLocalSpace: 1 - m_AngleStabilization: 5 - m_PositionStabilization: 0.03 ---- !u!1 &7379564116961756305 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2179377245851911378} - m_Layer: 0 - m_Name: R_Palm - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2179377245851911378 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7379564116961756305} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.000863, y: -0.001272, z: 0.047823} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1854015250894670505} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7392561419777546384 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1380908946801579447} - m_Layer: 0 - m_Name: L_MiddleDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1380908946801579447 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7392561419777546384} - m_LocalRotation: {x: -0.03223448, y: -0.0019387039, z: 0.040452998, w: 0.9986595} - m_LocalPosition: {x: 0.00000017030132, y: 0.0000005871987, z: 0.027548432} - m_LocalScale: {x: 0.9999718, y: 1.0000138, z: 0.99996346} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 5523029461187993029} - m_Father: {fileID: 7260994184801316706} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7428680998006793017 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5454991561693174494} - m_Layer: 0 - m_Name: L_Wrist - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5454991561693174494 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7428680998006793017} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: -0.08} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1018846522547772857} - - {fileID: 8736872093159730964} - - {fileID: 6081468729603139909} - - {fileID: 4600173733669489319} - - {fileID: 2999163118182319833} - - {fileID: 4776185897611663943} - m_Father: {fileID: 2003090966742418275} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7453166035860230795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3310007999475917894} - m_Layer: 0 - m_Name: R_RingTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3310007999475917894 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7453166035860230795} - m_LocalRotation: {x: 2.7755576e-17, y: 1.3877788e-17, z: -3.85186e-34, w: 1} - m_LocalPosition: {x: 0.0002563861, y: 0.0016065919, z: 0.024326166} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6379891195496996615} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7624996653021882289 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9086333563091414474} - m_Layer: 0 - m_Name: L_RingProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9086333563091414474 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7624996653021882289} - m_LocalRotation: {x: 0.08123156, y: -0.08615339, z: 0.055879932, w: 0.9913912} - m_LocalPosition: {x: -0.002473, y: -0.000513, z: 0.053917997} - m_LocalScale: {x: 0.99998975, y: 1.0000367, z: 1.0000347} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2252365623180000791} - m_Father: {fileID: 2999163118182319833} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7625237589342661496 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7821907845344216874} - - component: {fileID: 4967109660844804703} - - component: {fileID: 6949587081885499304} - - component: {fileID: 5951032935063541481} - m_Layer: 2 - m_Name: Grab Move - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &7821907845344216874 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7625237589342661496} - 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: 4051131698146187610} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4967109660844804703 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7625237589342661496} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_EnableFreeXMovement: 1 - m_EnableFreeYMovement: 0 - m_EnableFreeZMovement: 1 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_ControllerTransform: {fileID: 6402786117102733902} - m_EnableMoveWhileSelecting: 0 - m_MoveFactor: 1 - m_GrabMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Grab Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 3d33edcf-0043-45cb-95a7-008204badf83 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3742484312079769484, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} ---- !u!114 &6949587081885499304 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7625237589342661496} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_EnableFreeXMovement: 1 - m_EnableFreeYMovement: 0 - m_EnableFreeZMovement: 1 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_ControllerTransform: {fileID: 6402786116742138543} - m_EnableMoveWhileSelecting: 0 - m_MoveFactor: 1 - m_GrabMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Grab Move - m_Type: 0 - m_ExpectedControlType: - m_Id: de56d195-bf90-4347-9982-6bf8ffa3420c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 15759602096507913, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} ---- !u!114 &5951032935063541481 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7625237589342661496} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 760ff70c1c91bdd45907d0ff0cdcaf7f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_EnableFreeXMovement: 1 - m_EnableFreeYMovement: 0 - m_EnableFreeZMovement: 1 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_LeftGrabMoveProvider: {fileID: 4967109660844804703} - m_RightGrabMoveProvider: {fileID: 6949587081885499304} - m_OverrideSharedSettingsOnInit: 1 - m_MoveFactor: 1 - m_RequireTwoHandsForTranslation: 0 - m_EnableRotation: 1 - m_EnableScaling: 0 - m_MinimumScale: 0.2 - m_MaximumScale: 5 ---- !u!1 &7764435476069197198 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5523029461187993029} - m_Layer: 0 - m_Name: L_MiddleTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5523029461187993029 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7764435476069197198} - m_LocalRotation: {x: 2.7755576e-17, y: 3.469447e-18, z: 6.938894e-18, w: 1} - m_LocalPosition: {x: -0.00030950914, y: 0.0011371507, z: 0.02496384} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1380908946801579447} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7771348105019658625 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1616932236876252726} - - component: {fileID: 2509061517613993478} - - component: {fileID: 9103590809107359549} - m_Layer: 0 - m_Name: Poke Point - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1616932236876252726 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7771348105019658625} - m_LocalRotation: {x: 0.04345342, y: -0.08707283, z: 0.0038016832, w: 0.9952465} - m_LocalPosition: {x: 0.005, y: -0.01, z: 0.025} - m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6223656637641261187} - m_Father: {fileID: 7943176589861650002} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 5, y: -10, z: 0} ---- !u!33 &2509061517613993478 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7771348105019658625} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &9103590809107359549 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7771348105019658625} - m_Enabled: 0 - 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: 670224309865224971, guid: 11cd62256b1d470f922b2c8e6446cc77, type: 3} - 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!1 &7825004909621902568 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7763818621721414165} - m_Layer: 0 - m_Name: R_IndexIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7763818621721414165 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7825004909621902568} - m_LocalRotation: {x: 0.13075915, y: 0.0037599166, z: -0.02628858, w: 0.99105847} - m_LocalPosition: {x: -0.0000012943846, y: -0.0000015278448, z: 0.03792841} - m_LocalScale: {x: 0.99995506, y: 0.9999494, z: 0.9999497} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2730176916545866013} - m_Father: {fileID: 2296086318304296562} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7939570165803360354 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6402767434607311460} - - component: {fileID: 7902850823889550850} - m_Layer: 0 - m_Name: Hands Smoothing Post Processor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6402767434607311460 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7939570165803360354} - 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: 1 - m_Children: [] - m_Father: {fileID: 5695965693681382256} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7902850823889550850 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7939570165803360354} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: bc6980b6cb3b4f12b6b75074e4ef59f3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FilterMinCutoff: 0.1 - m_FilterBeta: 0.2 ---- !u!1 &8014916784676360664 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1567739149459792296} - m_Layer: 0 - m_Name: Left Controller Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1567739149459792296 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8014916784676360664} - 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: 5848402378009811369} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8203621672891390456 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3242177904743260188} - m_Layer: 0 - m_Name: L_IndexIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3242177904743260188 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8203621672891390456} - m_LocalRotation: {x: 0.13075915, y: -0.0037599166, z: 0.02628858, w: 0.99105847} - m_LocalPosition: {x: 0.0000014584699, y: -0.0000018205594, z: 0.037927467} - m_LocalScale: {x: 0.99995506, y: 0.9999494, z: 0.9999497} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3515076690877983294} - m_Father: {fileID: 2210373859332506360} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8246675714387469477 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2210373859332506360} - m_Layer: 0 - m_Name: L_IndexProximal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2210373859332506360 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8246675714387469477} - m_LocalRotation: {x: 0.151882, y: 0.076982684, z: -0.041177798, w: 0.9845354} - m_LocalPosition: {x: 0.003732, y: 0.002189, z: 0.059548} - m_LocalScale: {x: 1.0000446, y: 1.0000408, z: 0.999991} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3242177904743260188} - m_Father: {fileID: 1018846522547772857} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8309768348118343491 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4194798785924402860} - m_Layer: 0 - m_Name: R_ThumbDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4194798785924402860 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8309768348118343491} - m_LocalRotation: {x: 0.1129837, y: -0.050618958, z: 0.07914509, w: 0.98914534} - m_LocalPosition: {x: 0.0000013840911, y: -0.000006110277, z: 0.033791523} - m_LocalScale: {x: 1.0000048, y: 0.99998945, z: 0.9999974} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 207591147416512746} - m_Father: {fileID: 4478053436680485766} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8349857687525513582 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5391290660049003428} - m_Layer: 0 - m_Name: L_LittleIntermediate - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5391290660049003428 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8349857687525513582} - m_LocalRotation: {x: 0.36025816, y: -0.025496999, z: 0.06776039, w: 0.930039} - m_LocalPosition: {x: 0.0000001720091, y: -0.0000006646861, z: 0.030719941} - m_LocalScale: {x: 1.0000147, y: 1.0000129, z: 0.99994457} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6353644656679424938} - m_Father: {fileID: 3360452954430257851} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8369917975546054668 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8369917975546054670} - - component: {fileID: 8369917975546054669} - m_Layer: 0 - m_Name: Input Action Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8369917975546054670 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917975546054668} - 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: 7359082774632814697} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8369917975546054669 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917975546054668} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ActionAssets: - - {fileID: -944628639613478452, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} ---- !u!1 &8369917976621894647 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8369917976621894641} - - component: {fileID: 8369917976621894640} - m_Layer: 0 - m_Name: XR Interaction Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8369917976621894641 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917976621894647} - 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: 7359082774632814697} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8369917976621894640 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917976621894647} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] ---- !u!1 &8369917977135921506 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8369917977135921533} - - component: {fileID: 8369917977135921532} - - component: {fileID: 8369917977135921534} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8369917977135921533 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917977135921506} - 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: 7359082774632814697} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8369917977135921532 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917977135921506} - 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!114 &8369917977135921534 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8369917977135921506} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SendPointerHoverToParent: 1 - m_ClickSpeed: 0.3 - m_MoveDeadzone: 0.6 - m_RepeatDelay: 0.5 - m_RepeatRate: 0.1 - m_TrackedDeviceDragThresholdMultiplier: 2 - m_TrackedScrollDeltaMultiplier: 5 - m_ActiveInputMode: 1 - m_MaxTrackedDeviceRaycastDistance: 1000 - m_EnableXRInput: 1 - m_EnableMouseInput: 1 - m_EnableTouchInput: 1 - m_PointAction: {fileID: 2869410428622933342, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_LeftClickAction: {fileID: 1855836014308820768, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_MiddleClickAction: {fileID: -6289560987278519447, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_RightClickAction: {fileID: -2562941478296515153, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_ScrollWheelAction: {fileID: 5825226938762934180, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_NavigateAction: {fileID: -7967456002180160679, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_SubmitAction: {fileID: 3994978066732806534, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_CancelAction: {fileID: 2387711382375263438, guid: c348712bda248c246b8c49b3db54643f, type: 3} - m_EnableBuiltinActionsAsFallback: 1 - m_EnableGamepadInput: 1 - m_EnableJoystickInput: 1 - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel ---- !u!1 &8563686294412369648 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 149373571830433353} - - component: {fileID: 3004636620877539552} - m_Layer: 0 - m_Name: RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &149373571830433353 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8563686294412369648} - 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: 2003090968350070905} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &3004636620877539552 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8563686294412369648} - 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: 3 - m_RayTraceProcedural: 0 - 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_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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 0 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: -4179581466302418777, guid: 56186ccf27ad7864681108ed88349071, type: 3} - m_Bones: - - {fileID: 1854015250894670505} - - {fileID: 950409725371601865} - - {fileID: 3880393819045836975} - - {fileID: 2811219594787225482} - - {fileID: 7620598360529377927} - - {fileID: 166148681072052435} - - {fileID: 7895655936450586292} - - {fileID: 6768152231293165296} - - {fileID: 5513146571781449873} - - {fileID: 8478992791707926040} - - {fileID: 5916075238682563540} - - {fileID: 6379891195496996615} - - {fileID: 2296086318304296562} - - {fileID: 3310007999475917894} - - {fileID: 2179377245851911378} - - {fileID: 1969103401643389118} - - {fileID: 4478053436680485766} - - {fileID: 4194798785924402860} - - {fileID: 207591147416512746} - - {fileID: 7763818621721414165} - - {fileID: 2730176916545866013} - - {fileID: 1610253605342934861} - - {fileID: 6933340986569836915} - - {fileID: 1785452145807575268} - - {fileID: 4844180182862504219} - - {fileID: 4259404976063232259} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 1854015250894670505} - m_AABB: - m_Center: {x: -0.013066735, y: -0.015430748, z: 0.0781125} - m_Extent: {x: 0.0867995, y: 0.05515723, z: 0.10162346} - m_DirtyAABB: 0 ---- !u!1 &8580187920321683235 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1969103401643389118} - m_Layer: 0 - m_Name: R_ThumbMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1969103401643389118 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8580187920321683235} - m_LocalRotation: {x: -0.12707803, y: -0.45972326, z: 0.55127513, w: 0.6845447} - m_LocalPosition: {x: -0.030218, y: -0.016083999, z: 0.034498} - m_LocalScale: {x: 1.0000156, y: 0.9999665, z: 0.99998885} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4478053436680485766} - m_Father: {fileID: 1854015250894670505} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8697059203191180854 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6332947241467953349} - - component: {fileID: 810253392210833034} - - component: {fileID: 6205488693888407743} - m_Layer: 0 - m_Name: Direct Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6332947241467953349 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8697059203191180854} - 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: 6402786116742138543} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &810253392210833034 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8697059203191180854} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4253f32900bcc4d499d675566142ded0, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 23 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 0 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 0 - m_ImproveAccuracyWithSphereCollider: 1 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 ---- !u!135 &6205488693888407743 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8697059203191180854} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.1 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &8729137607983563331 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8729137607983563330} - - component: {fileID: 8729137607983563343} - - component: {fileID: 8729137607983563328} - - component: {fileID: 8729137607983563329} - - component: {fileID: 3858820244566353455} - - component: {fileID: 1954992922701277534} - m_Layer: 0 - m_Name: Teleport Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8729137607983563330 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8729137607983563331} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -0.02, z: -0.035} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6402786116742138543} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &8729137607983563343 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8729137607983563331} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 2147483648 - m_InteractionLayers: - m_Bits: 2147483904 - m_AttachTransform: {fileID: 6543386898230183589} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.1 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.1 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.1 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.1 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 2316791872040560409} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 50 - m_HitDetectionType: 0 - m_SphereCastRadius: 0.1 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 2147483937 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 1 - m_EnableUIInteraction: 0 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 0 - m_RotateSpeed: 180 - m_TranslateSpeed: 0 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 1 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &8729137607983563328 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8729137607983563331} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_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_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &8729137607983563329 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8729137607983563331} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.01 - m_OverrideInteractorLineLength: 0 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.02 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.1999999, g: 1, b: 0, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 8748868027195207512, guid: 893219773891c784ab469a39151879b4, type: 3} - m_BlockedReticle: {fileID: 3177232254315139758, guid: a3fde713df4d99042a0403c4be9eea32, type: 3} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 6402786116742138543} - m_LineOriginOffset: 0 ---- !u!210 &3858820244566353455 -SortingGroup: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8729137607983563331} - m_Enabled: 1 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 30005 ---- !u!114 &1954992922701277534 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8729137607983563331} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 0 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: Vector3 - m_Id: db83b55c-ddbb-4078-919c-0b0cbc6afe9b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: Quaternion - m_Id: 934a28ac-b7af-4a72-896e-f98ee8741de7 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_IsTrackedAction: - m_UseReference: 1 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: Button - m_Id: aa4d4d88-f823-41b6-9d48-77b617f86edd - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 1 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: Integer - m_Id: 41ec62b5-77e9-433d-839f-2daf5c703355 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 00f93d2a-0364-4d11-90a6-5ef13b9957a8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8270564778575511633, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 27191759-33e4-4f45-a0fd-7623410a9e62 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8270564778575511633, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 1 - m_ExpectedControlType: Button - m_Id: f4128915-c017-4646-8498-38077fd94651 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: a7069e58-5c7c-41cc-b6c2-68810e4a9e99 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7904272356298805229, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 1 - m_ExpectedControlType: Button - m_Id: 90782e27-0ef9-4a5a-a0a0-f5b588d6ff72 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIPressActionValue: - m_UseReference: 1 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: Axis - m_Id: c27db6a8-7713-4ef9-9c9d-18b76c3a4c97 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 1 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: e7a23052-7dfc-481a-8bff-2dae62df0f5d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 2 - m_ExpectedControlType: - m_Id: 59ea1b94-e9f8-4049-ab97-5920b11143a5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 219ef40d-4838-4ec7-8534-38c5e8e5612d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 1 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 37b7c356-f2e9-47c7-ba4c-34757c8b8df8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -440298646266941818, guid: 6550b9f519889604d875ccdbf59de87d, type: 3} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: b1006d10-a3ef-4a91-ae37-8d5547fe6331 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleToggleAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 9a064928-c984-4fe4-a3c8-5ac507a62c67 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 1 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 3e88ad80-3f35-49c8-b51b-bd3b2dac1749 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!1 &8796357607801187551 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4259404976063232259} - m_Layer: 0 - m_Name: R_LittleDistal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4259404976063232259 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8796357607801187551} - m_LocalRotation: {x: 0.11511069, y: -0.048731122, z: 0.0011094841, w: 0.992156} - m_LocalPosition: {x: -0.00000013540283, y: 0.0000006386686, z: 0.020311324} - m_LocalScale: {x: 1.0000222, y: 0.99996865, z: 0.9999735} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3880393819045836975} - m_Father: {fileID: 4844180182862504219} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8890323811169804820 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6768152231293165296} - m_Layer: 0 - m_Name: R_MiddleTip - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6768152231293165296 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8890323811169804820} - m_LocalRotation: {x: 2.7755576e-17, y: -3.469447e-18, z: -6.938894e-18, w: 1} - m_LocalPosition: {x: 0.00030950914, y: 0.0011371507, z: 0.02496384} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 7895655936450586292} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8957892210762194676 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5747914107444238923} - - component: {fileID: 7249823641963879421} - m_Layer: 0 - m_Name: Poke Interactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5747914107444238923 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8957892210762194676} - 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: 4003448444511216175} - m_Father: {fileID: 6402786117102733902} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7249823641963879421 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8957892210762194676} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_InteractionLayers: - m_Bits: 4294967295 - m_AttachTransform: {fileID: 4003448444511216175} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_PokeDepth: 0.1 - m_PokeWidth: 0.0075 - m_PokeSelectWidth: 0.015 - m_PokeHoverRadius: 0.015 - m_PokeInteractionOffset: 0.005 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_PhysicsTriggerInteraction: 1 - m_RequirePokeFilter: 1 - m_EnableUIInteraction: 1 - m_DebugVisualizationsEnabled: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &8984498960603879728 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3174701130326037067} - - component: {fileID: 1692968307332785864} - m_Layer: 2 - m_Name: Climb - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3174701130326037067 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8984498960603879728} - 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: 4051131698146187610} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1692968307332785864 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8984498960603879728} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 496880615cd240be960d436c1c8ae570, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 5677906498734610657} - m_ClimbSettings: - m_UseConstant: 1 - m_ConstantValue: - m_AllowFreeXMovement: 1 - m_AllowFreeYMovement: 1 - m_AllowFreeZMovement: 1 - m_Variable: {fileID: 0} ---- !u!1 &8992927276822862758 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2469765000921784745} - - component: {fileID: 5488874487947777114} - m_Layer: 0 - m_Name: Poke Stabilized Attach - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2469765000921784745 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8992927276822862758} - 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: 454888436805228463} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5488874487947777114 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8992927276822862758} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 5016833041144460280} - m_AimTargetObject: {fileID: 0} - m_UseLocalSpace: 1 - m_AngleStabilization: 5 - m_PositionStabilization: 0.03 ---- !u!1 &9133177039610158980 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2316791872040560409} - - component: {fileID: 4745260101952117969} - m_Layer: 0 - m_Name: Right Controller Stabilized - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2316791872040560409 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9133177039610158980} - 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: 6543386898230183589} - m_Father: {fileID: 6402786116697830925} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &4745260101952117969 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9133177039610158980} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 6402786116742138543} - m_AimTargetObject: {fileID: 6384133165118077394} - m_UseLocalSpace: 1 - m_AngleStabilization: 20 - m_PositionStabilization: 0.25 ---- !u!1 &9178451538486159170 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6081468729603139909} - m_Layer: 0 - m_Name: L_MiddleMetacarpal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6081468729603139909 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9178451538486159170} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.00361, y: -0.007648, z: 0.034286} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2639567938472764805} - m_Father: {fileID: 5454991561693174494} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab b/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab deleted file mode 100644 index 6adfe3fb1..000000000 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab +++ /dev/null @@ -1,4598 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &588686159 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 588686160} - m_Layer: 0 - m_Name: AttachTransform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &588686160 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 588686159} - m_LocalRotation: {x: 0.36650118, y: 0, z: 0, w: 0.9304176} - m_LocalPosition: {x: 0.0447, y: -0.0476, z: 0.0131} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2002894391224387629} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 43, y: 0, z: 0} ---- !u!1 &1238420757 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1238420758} - m_Layer: 0 - m_Name: RayOrigin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1238420758 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1238420757} - m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} - m_LocalPosition: {x: 0.0215, y: 0.0244, z: -0.0387} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2002894390589475231} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0} ---- !u!1 &1328646383745684218 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5159526950358397249} - m_Layer: 0 - m_Name: RayOrigin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5159526950358397249 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1328646383745684218} - m_LocalRotation: {x: 0.2164396, y: 0, z: 0, w: 0.97629607} - m_LocalPosition: {x: -0.0215, y: 0.0244, z: -0.0387} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2002894390966364989} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 25, y: 0, z: 0} ---- !u!1 &2002894390038460955 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390038461156} - - component: {fileID: 2002894390038461159} - - component: {fileID: 2002894390038461158} - - component: {fileID: 2002894390038461157} - m_Layer: 0 - m_Name: Left Base Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390038461156 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390038460955} - 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: 5583681650576868220} - m_Father: {fileID: 2002894391949438518} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894390038461159 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390038460955} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 5583681650576868220} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: Grab - m_ModelDeSelectTransition: Grab - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 8b170a9b-132e-486d-947e-6a244d4362ea - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 080819c2-8547-4beb-8522-e6356be16fb1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: 5fcab0d7-7f85-486b-9ce8-587f91fd6010 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: bff3ff54-e432-4205-8a89-770a756a58f8 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 8e000d1c-13a4-4cc0-ad37-f2e125874399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: f93fa1a2-101a-4938-b3bf-d4156f43e4e4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7039868187661461836, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 3995f9f4-6aa7-409a-80d2-5f7ea1464fde - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 0dee0d87-a49c-4317-9281-019ed020b1ce - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5393738492722007444, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: db89d01c-df6f-4954-b868-103dd5bdb514 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: c4f9d43a-7eb7-410a-a5ee-80994233e6e4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: db273f91-ae55-4768-8558-7bb7cdc5d02b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 3e09b626-c80d-40ec-9592-eb3fe89c2038 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 3dca8766-e652-4e78-8406-420aa73ba338 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 556e96de-15e0-4c21-af61-26549b7aff58 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: e873605e-6a95-4389-8fbe-39069340ba92 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 54622687-cf88-41cc-8b5a-2cfd522daf3a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4e22ab00-2340-424c-80a9-858890f88c2d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &2002894390038461158 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390038460955} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2002894390565357947} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 3164170168341630643} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!135 &2002894390038461157 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390038460955} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &2002894390107448170 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390107448171} - - component: {fileID: 5421335889177590500} - - component: {fileID: 2600886989601060523} - m_Layer: 0 - m_Name: XR_Setup_Action_Based_Hands - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390107448171 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390107448170} - 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: 2002894391948394052} - - {fileID: 2002894390565357946} - - {fileID: 2002894390682587463} - - {fileID: 2002894391758073219} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5421335889177590500 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390107448170} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} - m_Name: - m_EditorClassIdentifier: - head: {fileID: 2002894391982667492} - leftHand: {fileID: 2002894390038461156} - rightHand: {fileID: 2002894391344309348} - rigBase: {fileID: 2002894391948394052} ---- !u!114 &2600886989601060523 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390107448170} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: eb84184823a056249bfba5107e766ec3, type: 3} - m_Name: - m_EditorClassIdentifier: - layerSet: 2 - interactors: - - {fileID: 2002894390966364984} - - {fileID: 2002894390589475226} ---- !u!1 &2002894390395887887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390395887880} - m_Layer: 0 - m_Name: CameraOffset - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390395887880 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390395887887} - 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: 2002894391982667492} - - {fileID: 2002894391949438518} - - {fileID: 2002894392108743033} - m_Father: {fileID: 2002894391948394052} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2002894390565357945 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390565357946} - - component: {fileID: 2002894390565357947} - m_Layer: 0 - m_Name: XR Interaction Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390565357946 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390565357945} - 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: 2002894390107448171} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894390565357947 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390565357945} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] ---- !u!1 &2002894390589475230 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390589475231} - - component: {fileID: 2002894390589475227} - - component: {fileID: 2002894390589475226} - - component: {fileID: 2002894390589475225} - - component: {fileID: 2002894390589475224} - m_Layer: 0 - m_Name: Right Teleport Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390589475231 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390589475230} - 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: 1238420758} - m_Father: {fileID: 2002894392108743033} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894390589475227 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390589475230} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 2002894391468460883} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: fcd2b3a9-43ac-48cf-a7ef-54b9ad619657 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: cc4e2ef5-ea43-46d3-b5d9-bb0fd6cf288f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8270564778575511633, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 056d5a5d-5859-40a6-9c77-a8c50f2557c3 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 4766120400929042988, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 0c708103-b771-4cf9-a58f-f4cd7216526c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3285721481334498719, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 820dd6dd-cf7f-42f3-bfef-c218ea683709 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 6e0e5c0a-f766-4ba1-ac09-ccb5e05c9f7d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 9ad5ff42-2240-49bb-89c4-c981d3c023eb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: f900ec0d-eadb-4813-baa4-f9f0709793fe - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 9b17f14a-5c0c-47d4-bbf7-e6b9fceff015 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 2b918fe0-516b-4793-b6b1-98f6a5f40457 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &2002894390589475226 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390589475230} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2002894390565357947} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 256 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 1 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 1238420758} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &2002894390589475225 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390589475230} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_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_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &2002894390589475224 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390589475230} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &2002894390682587462 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390682587463} - - component: {fileID: 2002894390682587456} - m_Layer: 0 - m_Name: Input Action Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390682587463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390682587462} - 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: 2002894390107448171} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894390682587456 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390682587462} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ActionAssets: - - {fileID: -944628639613478452, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!1 &2002894390917405155 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390917405164} - - component: {fileID: 2002894390917405160} - - component: {fileID: 2002894390917405167} - - component: {fileID: 2002894390917405166} - - component: {fileID: 2002894390917405165} - m_Layer: 0 - m_Name: Left UI Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390917405164 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390917405155} - 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: 6481465182480156920} - m_Father: {fileID: 2002894391949438518} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894390917405160 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390917405155} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 5583681650576868220} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: ee2b90af-cb76-4d31-80a6-06fad8ac806a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 4c57fe61-e6e1-4df3-bff3-6c688f6f9e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: ddf8704b-2999-4398-9c0c-f544b97511bc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: 513b54c8-e5e6-4655-86fb-ffc0e6581287 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 869302d5-d3c7-4c1b-a962-a7e033b42a15 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6131295136447488360, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 74881b2d-69d1-415a-ba95-f39c2790be4c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7039868187661461836, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 4aec5842-effb-4789-a584-e3222db901f4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 89e16be1-e73a-49a3-b8bd-bdd0bbceb5bb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5393738492722007444, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: e65a640e-2a41-422f-82dd-ebfb73c6c378 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 826f3058-ef37-41e9-ba84-4afcd5732d73 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 81d76e5d-99e0-4c7d-b7aa-4b9b356a9678 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 80072ca0-f27a-4040-8ae9-a0fa7a761bbc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 13f6cacf-e639-4a90-864c-abb89495ad0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: b3c94e4f-767d-44c1-8640-f2e1c8cd8399 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 6713f8f9-89a2-46da-aad5-ae077ac477ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 286d9bd4-26e9-420c-8388-e665eff6186f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 9b9023bf-9a71-4cf5-93ac-5f72bdfeb34b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &2002894390917405167 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390917405155} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 0} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 - m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 6481465182480156920} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &2002894390917405166 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390917405155} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_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: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &2002894390917405165 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390917405155} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 1} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 65535 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &2002894390966364988 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894390966364989} - - component: {fileID: 2002894390966364985} - - component: {fileID: 2002894390966364984} - - component: {fileID: 2002894390966364991} - - component: {fileID: 2002894390966364990} - m_Layer: 0 - m_Name: Left Teleport Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894390966364989 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390966364988} - 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: 5159526950358397249} - m_Father: {fileID: 2002894391949438518} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894390966364985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390966364988} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 5583681650576868220} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: ee2b90af-cb76-4d31-80a6-06fad8ac806a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 4c57fe61-e6e1-4df3-bff3-6c688f6f9e9a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: 23cf2d5a-2e3e-44af-b5ea-b28d71f092e1 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: df150c59-acdb-4a44-ae0d-6b7b17b9125b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: Select - m_Type: 0 - m_ExpectedControlType: - m_Id: 869302d5-d3c7-4c1b-a962-a7e033b42a15 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -4084014799535200556, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: b1d7c618-2863-40eb-94b0-bc55c977ad1f - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7039868187661461836, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: Activate - m_Type: 0 - m_ExpectedControlType: - m_Id: 4aec5842-effb-4789-a584-e3222db901f4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 6a145112-f236-49b9-9463-5bc169d5d003 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5393738492722007444, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: UI Press - m_Type: 0 - m_ExpectedControlType: - m_Id: e65a640e-2a41-422f-82dd-ebfb73c6c378 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 4936da6e-2314-466c-ac19-aa23d9db394b - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 78037b9b-94c5-4459-aaa7-fadfd326bbbe - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 80072ca0-f27a-4040-8ae9-a0fa7a761bbc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Rotate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 13f6cacf-e639-4a90-864c-abb89495ad0c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 33f916ce-3f4c-4552-bf40-55535ae2298e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: Translate Anchor - m_Type: 0 - m_ExpectedControlType: - m_Id: 6713f8f9-89a2-46da-aad5-ae077ac477ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 6a05ceb9-e956-4d2e-b0b3-9b1ade5d8108 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 4b35d4f1-f733-474e-8378-d24fb64bf06d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &2002894390966364984 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390966364988} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2002894390565357947} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 256 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 1 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 5159526950358397249} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &2002894390966364991 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390966364988} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_ReceiveGI: 1 - m_PreserveUVs: 0 - 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 - m_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &2002894390966364990 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894390966364988} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &2002894391224387628 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391224387629} - - component: {fileID: 2002894391224387625} - - component: {fileID: 2002894391224387624} - - component: {fileID: 2002894391224387631} - - component: {fileID: 2002894391224387630} - m_Layer: 0 - m_Name: Right UI Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391224387629 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391224387628} - 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: 588686160} - m_Father: {fileID: 2002894392108743033} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894391224387625 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391224387628} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 0 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 2002894391468460883} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: fc9b37cc-fd6c-4777-a440-ecfac6144601 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: 90359750-2287-4286-aed5-46e8351830e5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 6010ccb0-bc96-4f14-8cec-bb81835a63eb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 4766120400929042988, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: a770f569-5289-4c4d-ba37-79e50efe54ee - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3285721481334498719, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 532b2b0b-2859-4882-a216-c5bbec06b0ec - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: c0c98540-834b-4be6-88b6-b84f677a5c16 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 9ad5ff42-2240-49bb-89c4-c981d3c023eb - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 8a29bfec-f245-4960-a581-9483a94f70d0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 26da0e49-599a-47eb-82d6-0a15fae0d588 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: afa73a20-c36b-49cf-9c5a-b1e356d4be1d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &2002894391224387624 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391224387628} - m_Enabled: 0 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2002894390565357947} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 - m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 588686160} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_ConeCastAngle: 6 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_BlockUIOnInteractableSelection: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 - m_ScaleMode: 0 ---- !u!120 &2002894391224387631 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391224387628} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10306, 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_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: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &2002894391224387630 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391224387628} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 0} - key1: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key2: {r: 0.47058824, g: 0.94509804, b: 0.78431374, a: 1} - key3: {r: 0, g: 0, b: 0, a: 1} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 65535 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.39215687, b: 0.18431373, a: 0} - key1: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key2: {r: 1, g: 0.39215687, b: 0.18431373, a: 1} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 32768 - ctime2: 65535 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 32768 - atime2: 65535 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 3 - m_NumAlphaKeys: 3 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_BendingEnabledInteractionLayers: - m_Bits: 4294967295 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &2002894391344315291 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391344309348} - - component: {fileID: 2002894391344309351} - - component: {fileID: 2002894391344309350} - - component: {fileID: 2002894391344309349} - m_Layer: 0 - m_Name: Right Base Controller - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391344309348 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391344315291} - 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: 2002894391468460883} - m_Father: {fileID: 2002894392108743033} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894391344309351 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391344315291} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 0} - m_ModelParent: {fileID: 2002894391468460883} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_PositionAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotationAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_IsTrackedAction: - m_UseReference: 0 - m_Action: - m_Name: Is Tracked - m_Type: 1 - m_ExpectedControlType: - m_Id: 2f5ad2a7-d128-4be6-aa7b-324a04fda92e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 1 - m_Reference: {fileID: 0} - m_TrackingStateAction: - m_UseReference: 0 - m_Action: - m_Name: Tracking State - m_Type: 0 - m_ExpectedControlType: - m_Id: b71180c0-70dd-45ad-9c7f-85180a861e1c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_SelectAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 187161793506945269, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_SelectActionValue: - m_UseReference: 1 - m_Action: - m_Name: Select Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 183beb27-b26f-4061-8868-236672560d69 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 4766120400929042988, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ActivateActionValue: - m_UseReference: 1 - m_Action: - m_Name: Activate Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: 657bd760-06f7-4d83-80e9-76b85139bb0d - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -3285721481334498719, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_UIPressActionValue: - m_UseReference: 0 - m_Action: - m_Name: UI Press Action Value - m_Type: 0 - m_ExpectedControlType: - m_Id: bcba2e34-25ae-4ecc-bf14-8997a78e930e - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_UIScrollAction: - m_UseReference: 0 - m_Action: - m_Name: UI Scroll - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 3f81201c-5984-4321-b2d0-7d8ce8eccc75 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_HapticDeviceAction: - m_UseReference: 1 - m_Action: - m_Name: Haptic Device - m_Type: 0 - m_ExpectedControlType: - m_Id: 59ea1b94-e9f8-4049-ab97-5920b11143a5 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RotateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_DirectionalAnchorRotationAction: - m_UseReference: 0 - m_Action: - m_Name: Directional Anchor Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: c3ecb458-1b33-4991-8cb0-8cc06a515ea4 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_TranslateAnchorAction: - m_UseReference: 1 - m_Action: - m_Name: - m_Type: 0 - m_ExpectedControlType: - m_Id: - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ScaleToggleAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Toggle - m_Type: 1 - m_ExpectedControlType: - m_Id: 8ca72b5b-c2db-4bb5-a0ed-3936b2f58721 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ScaleDeltaAction: - m_UseReference: 0 - m_Action: - m_Name: Scale Delta - m_Type: 0 - m_ExpectedControlType: Vector2 - m_Id: 98b33f76-5007-42f1-82ed-b035914b715c - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_ButtonPressPoint: 0.5 ---- !u!114 &2002894391344309350 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391344315291} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 2002894390565357947} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 4270575923381735242} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!135 &2002894391344309349 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391344315291} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!1 &2002894391468460882 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391468460883} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391468460883 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391468460882} - 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: 1425447693803533075} - m_Father: {fileID: 2002894391344309348} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2002894391758073218 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391758073219} - - component: {fileID: 2002894391758073229} - - component: {fileID: 2002894391758073228} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391758073219 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391758073218} - 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: 2002894390107448171} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894391758073229 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391758073218} - 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!114 &2002894391758073228 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391758073218} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} - m_Name: - m_EditorClassIdentifier: - m_SendPointerHoverToParent: 1 - m_ClickSpeed: 0.3 - m_MoveDeadzone: 0.6 - m_RepeatDelay: 0.5 - m_RepeatRate: 0.1 - m_TrackedDeviceDragThresholdMultiplier: 2 - m_TrackedScrollDeltaMultiplier: 5 - m_ActiveInputMode: 0 - m_MaxTrackedDeviceRaycastDistance: 1000 - m_EnableXRInput: 1 - m_EnableMouseInput: 1 - m_EnableTouchInput: 1 - m_PointAction: {fileID: 0} - m_LeftClickAction: {fileID: 0} - m_MiddleClickAction: {fileID: 0} - m_RightClickAction: {fileID: 0} - m_ScrollWheelAction: {fileID: 0} - m_NavigateAction: {fileID: 0} - m_SubmitAction: {fileID: 0} - m_CancelAction: {fileID: 0} - m_EnableBuiltinActionsAsFallback: 1 - m_EnableGamepadInput: 1 - m_EnableJoystickInput: 1 - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel ---- !u!1 &2002894391948394107 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391948394052} - - component: {fileID: 2002894391948394061} - - component: {fileID: 2002894391948394060} - - component: {fileID: 2002894391948394051} - - component: {fileID: 2002894391948394050} - - component: {fileID: 2002894391948394049} - - component: {fileID: 2002894391948394048} - - component: {fileID: 2002894391948394055} - - component: {fileID: 2002894391948394054} - - component: {fileID: 2002894391948394053} - m_Layer: 0 - m_Name: XR Rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391948394052 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - 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: 2002894390395887880} - m_Father: {fileID: 2002894390107448171} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894391948394061 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Camera: {fileID: 2002894391982667489} - m_OriginBaseGameObject: {fileID: 2002894391948394107} - m_CameraFloorOffsetObject: {fileID: 2002894390395887887} - m_RequestedTrackingOriginMode: 0 - m_CameraYOffset: 1.36144 ---- !u!114 &2002894391948394060 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2213c36610e3b1c4bbf886810ed9db12, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 2002894391948394051} - m_TurnAmount: 45 - m_DebounceTime: 0.5 - m_EnableTurnLeftRight: 1 - m_EnableTurnAround: 1 - m_DelayTime: 0 - m_LeftHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: bcae984e-e222-4aec-9899-6a2de88a7166 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RightHandSnapTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Snap Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: ef35997d-2cb6-4340-9edd-1239db5332f0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!114 &2002894391948394051 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 03a5df2202a8b96488c744be3bd0c33e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Timeout: 10 - m_XROrigin: {fileID: 2002894391948394061} ---- !u!114 &2002894391948394050 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 2002894391948394051} - m_DelayTime: 0 ---- !u!114 &2002894391948394049 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 919e39492806b334982b6b84c90dd927, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 2002894391948394051} - m_TurnSpeed: 60 - m_LeftHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: d065cb11-e9f6-4747-a3d4-1c032fc345a0 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RightHandTurnAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Turn - m_Type: 0 - m_ExpectedControlType: - m_Id: e043a43a-0352-4ee2-ab81-9dafdfb41dc2 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!114 &2002894391948394048 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0bf296fc962d7184ab14ad1841598d5f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 2002894391948394051} - m_MoveSpeed: 1 - m_EnableStrafe: 1 - m_EnableFly: 0 - m_UseGravity: 1 - m_GravityApplicationMode: 0 - m_ForwardSource: {fileID: 2002894391982667492} - m_LeftHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Left Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 6da12c60-ad99-45b3-a0b1-a4ee1d30ddcc - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 6972639530819350904, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_RightHandMoveAction: - m_UseReference: 1 - m_Action: - m_Name: Right Hand Move - m_Type: 0 - m_ExpectedControlType: - m_Id: 77f364a5-e031-452a-af50-144d41955e70 - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: -8198699208435500284, guid: de2411ef647d9f24d981120efb63e621, type: 3} ---- !u!143 &2002894391948394055 -CharacterController: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Height: 1.36144 - m_Radius: 0.1 - m_SlopeLimit: 45 - m_StepOffset: 0.3 - m_SkinWidth: 0.08 - m_MinMoveDistance: 0.001 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &2002894391948394054 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: af6bf904e410ee8479f9093d8830d1f8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LocomotionProvider: {fileID: 2002894391948394060} - m_MinHeight: 0 - m_MaxHeight: Infinity ---- !u!114 &2002894391948394053 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391948394107} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 58a9a7b4435e36f4fbc7000edd687974, type: 3} - m_Name: - m_EditorClassIdentifier: - moveScheme: 0 - turnStyle: 0 - moveForwardSource: 0 - actionAssets: - - {fileID: -944628639613478452, guid: de2411ef647d9f24d981120efb63e621, type: 3} - actionMaps: [] - actions: [] - baseControlScheme: Generic XR Controller - noncontinuousControlScheme: Noncontinuous Move - continuousControlScheme: Continuous Move - continuousMoveProvider: {fileID: 2002894391948394048} - continuousTurnProvider: {fileID: 2002894391948394049} - snapTurnProvider: {fileID: 2002894391948394060} - headForwardSource: {fileID: 2002894391982667492} - leftHandForwardSource: {fileID: 2002894390038461156} - rightHandForwardSource: {fileID: 2002894391344309348} ---- !u!1 &2002894391949438517 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391949438518} - - component: {fileID: 2002894391949438519} - m_Layer: 0 - m_Name: LeftHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391949438518 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391949438517} - 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: 2002894390038461156} - - {fileID: 2002894390966364989} - - {fileID: 2002894390917405164} - m_Father: {fileID: 2002894390395887880} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894391949438519 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391949438517} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41cc12ba1114e4f46929730a9389cb74, type: 3} - m_Name: - m_EditorClassIdentifier: - baseController: {fileID: 2002894390038460955} - teleportController: {fileID: 2002894390966364988} - uiController: {fileID: 2002894390917405155} - teleportModeActivate: {fileID: 1263111715868034790, guid: de2411ef647d9f24d981120efb63e621, type: 3} - teleportModeCancel: {fileID: 737890489006591557, guid: de2411ef647d9f24d981120efb63e621, type: 3} - uiModeActivate: {fileID: 1201092935185683357, guid: de2411ef647d9f24d981120efb63e621, type: 3} - turn: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - move: {fileID: 6972639530819350904, guid: de2411ef647d9f24d981120efb63e621, type: 3} - translateAnchor: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - rotateAnchor: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - selectState: - enabled: 0 - m_ID: 1 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - teleportState: - enabled: 0 - m_ID: 2 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - interactState: - enabled: 0 - m_ID: 3 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - uiState: - enabled: 0 - m_ID: 4 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &2002894391982667291 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894391982667492} - - component: {fileID: 2002894391982667489} - - component: {fileID: 2002894391982667488} - - component: {fileID: 2002894391982667495} - - component: {fileID: 2002894391982667494} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894391982667492 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391982667291} - 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: 2002894390395887880} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &2002894391982667489 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391982667291} - 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.01 - 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!124 &2002894391982667488 -Behaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391982667291} - m_Enabled: 1 ---- !u!81 &2002894391982667495 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391982667291} - m_Enabled: 1 ---- !u!114 &2002894391982667494 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894391982667291} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} - m_Name: - m_EditorClassIdentifier: - m_TrackingType: 0 - m_UpdateType: 0 - m_IgnoreTrackingState: 0 - m_PositionInput: - m_UseReference: 0 - m_Action: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_Reference: {fileID: 0} - m_RotationInput: - m_UseReference: 0 - m_Action: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 - m_Reference: {fileID: 0} - m_TrackingStateInput: - m_UseReference: 0 - m_Action: - m_Name: Tracking State Input - m_Type: 0 - m_ExpectedControlType: - m_Id: 78fa8c8c-b04c-41be-bcb0-b08932ba313a - m_Processors: - m_Interactions: - m_SingletonActionBindings: [] - m_Flags: 0 - m_Reference: {fileID: 0} - m_PositionAction: - m_Name: Position - m_Type: 0 - m_ExpectedControlType: - m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 - m_Path: /centerEyePosition - m_Interactions: - m_Processors: - m_Groups: - m_Action: Position - m_Flags: 0 - m_Flags: 0 - m_RotationAction: - m_Name: Rotation - m_Type: 0 - m_ExpectedControlType: - m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 - m_Processors: - m_Interactions: - m_SingletonActionBindings: - - m_Name: - m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 - m_Path: /centerEyeRotation - m_Interactions: - m_Processors: - m_Groups: - m_Action: Rotation - m_Flags: 0 - m_Flags: 0 ---- !u!1 &2002894392108743032 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2002894392108743033} - - component: {fileID: 2002894392108743034} - m_Layer: 0 - m_Name: RightHand - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2002894392108743033 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894392108743032} - 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: 2002894391344309348} - - {fileID: 2002894390589475231} - - {fileID: 2002894391224387629} - m_Father: {fileID: 2002894390395887880} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &2002894392108743034 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2002894392108743032} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 41cc12ba1114e4f46929730a9389cb74, type: 3} - m_Name: - m_EditorClassIdentifier: - baseController: {fileID: 2002894391344315291} - teleportController: {fileID: 2002894390589475230} - uiController: {fileID: 2002894391224387628} - teleportModeActivate: {fileID: -8061240218431744966, guid: de2411ef647d9f24d981120efb63e621, type: 3} - teleportModeCancel: {fileID: 2307464322626738743, guid: de2411ef647d9f24d981120efb63e621, type: 3} - uiModeActivate: {fileID: -4794670585942407507, guid: de2411ef647d9f24d981120efb63e621, type: 3} - turn: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} - move: {fileID: -8198699208435500284, guid: de2411ef647d9f24d981120efb63e621, type: 3} - translateAnchor: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - rotateAnchor: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - selectState: - enabled: 0 - m_ID: 1 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - teleportState: - enabled: 0 - m_ID: 2 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - interactState: - enabled: 0 - m_ID: 3 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] - uiState: - enabled: 0 - m_ID: 4 - onEnter: - m_PersistentCalls: - m_Calls: [] - onUpdate: - m_PersistentCalls: - m_Calls: [] - onExit: - m_PersistentCalls: - m_Calls: [] ---- !u!1 &3544370734085250980 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5583681650576868220} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5583681650576868220 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3544370734085250980} - 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: 5248721344884395100} - m_Father: {fileID: 2002894390038461156} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6749825676455373053 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6481465182480156920} - m_Layer: 0 - m_Name: AttachTransform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6481465182480156920 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6749825676455373053} - m_LocalRotation: {x: 0.36650118, y: 0, z: 0, w: 0.9304176} - m_LocalPosition: {x: -0.0447, y: -0.0476, z: 0.0131} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2002894390917405164} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 43, y: 0, z: 0} ---- !u!1001 &4071642445300941959 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 2002894391468460883} - m_Modifications: - - target: {fileID: 2306551884257668398, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_Name - value: RightHand - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalPosition.x - value: 0.0358 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalPosition.y - value: 0.0577 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalPosition.z - value: -0.1296 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalRotation.w - value: 0.65126175 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalRotation.x - value: -0.27542365 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalRotation.y - value: 0.27542365 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalRotation.z - value: 0.65126175 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -45.848 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 90 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} ---- !u!4 &1425447693803533075 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 3119116693207512980, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - m_PrefabInstance: {fileID: 4071642445300941959} - m_PrefabAsset: {fileID: 0} ---- !u!4 &4270575923381735242 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 271697115486473165, guid: bde71cb35b3a69e478307d53a56242c0, type: 3} - m_PrefabInstance: {fileID: 4071642445300941959} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &7178280797236345800 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5583681650576868220} - m_Modifications: - - target: {fileID: 2306551884257668398, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_Name - value: LeftHand - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalPosition.x - value: -0.0358 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalPosition.y - value: 0.0577 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalPosition.z - value: -0.1296 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalRotation.w - value: 0.65126175 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalRotation.x - value: -0.27542365 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalRotation.y - value: 0.27542365 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalRotation.z - value: 0.65126175 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -45.848 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 90 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} ---- !u!4 &3164170168341630643 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 5221647080600352123, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - m_PrefabInstance: {fileID: 7178280797236345800} - m_PrefabAsset: {fileID: 0} ---- !u!4 &5248721344884395100 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 3119116693207512980, guid: 5efae94d4b2087b4dac0f1d210369580, type: 3} - m_PrefabInstance: {fileID: 7178280797236345800} - m_PrefabAsset: {fileID: 0} diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab b/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab deleted file mode 100644 index 082a05b32..000000000 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab +++ /dev/null @@ -1,2728 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &254950453971294206 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1153462130033586318} - - component: {fileID: 72045004825129592} - m_Layer: 0 - m_Name: XR_Setup_Device_Based - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1153462130033586318 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254950453971294206} - 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: 8096380263314292854} - - {fileID: 8232398725257180522} - - {fileID: 6094425812966656012} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &72045004825129592 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254950453971294206} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} - m_Name: - m_EditorClassIdentifier: - uniqueName: User - tags: [] - head: {fileID: 7469053385970781433} - leftHand: {fileID: 7978014071979369435} - rightHand: {fileID: 7978014071415895673} ---- !u!1 &1343753885299217751 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2156436554659136467} - m_Layer: 0 - m_Name: Base Controllers - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2156436554659136467 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1343753885299217751} - 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: 7978014071979369435} - - {fileID: 7978014071415895673} - m_Father: {fileID: 7978014070532965596} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2859314466244083351 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6094425812966656012} - - component: {fileID: 7978373750211809889} - - component: {fileID: 6595578380775627202} - m_Layer: 0 - m_Name: EventSystem - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6094425812966656012 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2859314466244083351} - 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: 1153462130033586318} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7978373750211809889 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2859314466244083351} - 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!114 &6595578380775627202 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2859314466244083351} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} - m_Name: - m_EditorClassIdentifier: - m_ClickSpeed: 0.3 - m_MoveDeadzone: 0.6 - m_RepeatDelay: 0.5 - m_RepeatRate: 0.1 - m_TrackedDeviceDragThresholdMultiplier: 2 - m_TrackedScrollDeltaMultiplier: 5 - m_ActiveInputMode: 0 - m_MaxTrackedDeviceRaycastDistance: 1000 - m_EnableXRInput: 1 - m_EnableMouseInput: 1 - m_EnableTouchInput: 1 - m_PointAction: {fileID: 0} - m_LeftClickAction: {fileID: 0} - m_MiddleClickAction: {fileID: 0} - m_RightClickAction: {fileID: 0} - m_ScrollWheelAction: {fileID: 0} - m_NavigateAction: {fileID: 0} - m_SubmitAction: {fileID: 0} - m_CancelAction: {fileID: 0} - m_EnableBuiltinActionsAsFallback: 1 - m_EnableGamepadInput: 1 - m_EnableJoystickInput: 1 - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel ---- !u!1 &3049094648131651614 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5196235083838063382} - - component: {fileID: 833952279508065338} - - component: {fileID: 3379923548091305974} - - component: {fileID: 3360733281310062015} - - component: {fileID: 1735004626882928399} - m_Layer: 0 - m_Name: RightUIController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5196235083838063382 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3049094648131651614} - 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: 3524750990770987638} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &833952279508065338 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3049094648131651614} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ae26e19cd956134bbdf3c6f65bf393a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_ControllerNode: 5 - m_SelectUsage: 0 - m_ActivateUsage: 0 - m_UIPressUsage: 2 - m_AxisToPressThreshold: 0.1 - m_RotateAnchorLeft: 16 - m_RotateAnchorRight: 17 - m_MoveObjectIn: 14 - m_MoveObjectOut: 15 - m_DirectionalAnchorRotation: 1 - m_PoseProvider: {fileID: 0} ---- !u!114 &3379923548091305974 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3049094648131651614} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 - m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 ---- !u!120 &3360733281310062015 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3049094648131651614} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &1735004626882928399 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3049094648131651614} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &4394540331006595222 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3524750990770987638} - m_Layer: 0 - m_Name: UI Controllers - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3524750990770987638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4394540331006595222} - 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: 4447366748935713389} - - {fileID: 5196235083838063382} - m_Father: {fileID: 7978014070532965596} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4495005996401495385 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4447366748935713389} - - component: {fileID: 947907839073503248} - - component: {fileID: 4021559294842752849} - - component: {fileID: 3205198527227421379} - - component: {fileID: 7920483371235819522} - m_Layer: 0 - m_Name: LeftUIController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4447366748935713389 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4495005996401495385} - 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: 3524750990770987638} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &947907839073503248 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4495005996401495385} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ae26e19cd956134bbdf3c6f65bf393a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_ControllerNode: 4 - m_SelectUsage: 0 - m_ActivateUsage: 0 - m_UIPressUsage: 2 - m_AxisToPressThreshold: 0.1 - m_RotateAnchorLeft: 16 - m_RotateAnchorRight: 17 - m_MoveObjectIn: 14 - m_MoveObjectOut: 15 - m_DirectionalAnchorRotation: 1 - m_PoseProvider: {fileID: 0} ---- !u!114 &4021559294842752849 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4495005996401495385} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 203357f2f04686b4c860a9361fd12c36, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 32 - m_InteractionLayers: - m_Bits: 32 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 0 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 16 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 32 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 0 - m_HoverTimeToSelect: 0.5 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 ---- !u!120 &3205198527227421379 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4495005996401495385} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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: 5 - m_Positions: [] - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 0, g: 0, b: 1, a: 1} - key1: {r: 0, g: 0, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &7920483371235819522 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4495005996401495385} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &4535902918034316275 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8232398725257180522} - - component: {fileID: 3211701847606808562} - m_Layer: 0 - m_Name: XR Interaction Manager - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8232398725257180522 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4535902918034316275} - 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: 1153462130033586318} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &3211701847606808562 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4535902918034316275} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} - m_Name: - m_EditorClassIdentifier: - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] ---- !u!1 &6603483820383241204 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7469053385970781433} - - component: {fileID: 3361453039085913529} - - component: {fileID: 8063632501519474248} - - component: {fileID: 1791239607881723393} - - component: {fileID: 497687804632106080} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7469053385970781433 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - 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: 7978014070532965596} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!20 &3361453039085913529 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - 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.25 - 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!124 &8063632501519474248 -Behaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - m_Enabled: 1 ---- !u!81 &1791239607881723393 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - m_Enabled: 1 ---- !u!114 &497687804632106080 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6603483820383241204} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 5a2a9c34df4095f47b9ca8f975175f5b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Device: 0 - m_PoseSource: 2 - m_PoseProviderComponent: {fileID: 0} - m_TrackingType: 0 - m_UpdateType: 0 - m_UseRelativeTransform: 0 ---- !u!1 &7485168110108878041 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8096380263314292854} - - component: {fileID: 905097605757131437} - - component: {fileID: 7978014070406150753} - - component: {fileID: 8752401143532005191} - - component: {fileID: 7401476500642806535} - - component: {fileID: 3471543858207503529} - m_Layer: 0 - m_Name: XR Rig - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8096380263314292854 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - 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: 7978014070532965596} - m_Father: {fileID: 1153462130033586318} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &905097605757131437 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Camera: {fileID: 3361453039085913529} - m_OriginBaseGameObject: {fileID: 7485168110108878041} - m_CameraFloorOffsetObject: {fileID: 7978014070532965571} - m_RequestedTrackingOriginMode: 0 - m_CameraYOffset: 1.36144 ---- !u!114 &7978014070406150753 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: ba706e5cce610884ab194e68db6a910e, type: 3} - m_Name: - m_EditorClassIdentifier: - rightBaseController: {fileID: 7978014071415895672} - leftBaseController: {fileID: 7978014071979369434} - rightTeleportController: {fileID: 7978014071796457453} - leftTeleportController: {fileID: 7978014070459812431} - teleportButton: 2 - cancelTeleportButton: 3 - rightUIController: {fileID: 3049094648131651614} - leftUIController: {fileID: 4495005996401495385} - UIButton: 3 ---- !u!114 &8752401143532005191 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc4f2c0214c9b494fa7eb5b8b2c02885, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 7401476500642806535} - m_TurnAmount: 45 - m_DebounceTime: 0.5 - m_EnableTurnLeftRight: 1 - m_EnableTurnAround: 1 - m_DelayTime: 0 - m_TurnUsage: 0 - m_Controllers: - - {fileID: 7978014071979369431} - - {fileID: 7978014071415895669} - m_DeadZone: 0.75 ---- !u!114 &7401476500642806535 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 03a5df2202a8b96488c744be3bd0c33e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Timeout: 10 - m_XROrigin: {fileID: 905097605757131437} ---- !u!114 &3471543858207503529 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7485168110108878041} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} - m_Name: - m_EditorClassIdentifier: - m_System: {fileID: 7401476500642806535} - m_DelayTime: 0 ---- !u!1 &7783503986401448237 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7783503986401448238} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7783503986401448238 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7783503986401448237} - 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: 7978014071415895673} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7978014070459812431 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014070459812424} - - component: {fileID: 7978014070459812420} - - component: {fileID: 7978014070459812427} - - component: {fileID: 7978014070459812426} - - component: {fileID: 7978014070459812425} - m_Layer: 0 - m_Name: LeftTeleportController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014070459812424 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - 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: 1434742558320835023} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7978014070459812420 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ae26e19cd956134bbdf3c6f65bf393a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_ControllerNode: 4 - m_SelectUsage: 2 - m_ActivateUsage: 2 - m_UIPressUsage: 2 - m_AxisToPressThreshold: 0.1 - m_RotateAnchorLeft: 16 - m_RotateAnchorRight: 17 - m_MoveObjectIn: 14 - m_MoveObjectOut: 15 - m_DirectionalAnchorRotation: 1 - m_PoseProvider: {fileID: 0} ---- !u!114 &7978014070459812427 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 256 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 ---- !u!120 &7978014070459812426 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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: 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 - m_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 4 - numCapVertices: 4 - alignment: 0 - textureMode: 0 - shadowBias: 0 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &7978014070459812425 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070459812431} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &7978014070532965571 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014070532965596} - m_Layer: 0 - m_Name: CameraOffset - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014070532965596 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070532965571} - 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: 7469053385970781433} - - {fileID: 2156436554659136467} - - {fileID: 1434742558320835023} - - {fileID: 3524750990770987638} - m_Father: {fileID: 8096380263314292854} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7978014070920969769 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014070920969770} - m_Layer: 0 - m_Name: ModelPt - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014070920969770 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014070920969769} - 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: 7978014071979369435} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7978014071415895672 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014071415895673} - - component: {fileID: 7978014071415895675} - - component: {fileID: 7978014071415895669} - - component: {fileID: 8424491340227888840} - m_Layer: 0 - m_Name: RightBaseController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014071415895673 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - 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: 7783503986401448238} - m_Father: {fileID: 2156436554659136467} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!135 &7978014071415895675 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &7978014071415895669 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ae26e19cd956134bbdf3c6f65bf393a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_ControllerNode: 5 - m_SelectUsage: 3 - m_ActivateUsage: 2 - m_UIPressUsage: 0 - m_AxisToPressThreshold: 0.1 - m_RotateAnchorLeft: 16 - m_RotateAnchorRight: 17 - m_MoveObjectIn: 14 - m_MoveObjectOut: 15 - m_DirectionalAnchorRotation: 1 - m_PoseProvider: {fileID: 0} ---- !u!114 &8424491340227888840 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071415895672} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!1 &7978014071796457453 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014071796457454} - - component: {fileID: 7978014071796457448} - - component: {fileID: 7978014071796457455} - - component: {fileID: 7978014071796457450} - - component: {fileID: 7978014071796457449} - m_Layer: 0 - m_Name: RightTeleportController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014071796457454 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - 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: 1434742558320835023} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &7978014071796457448 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ae26e19cd956134bbdf3c6f65bf393a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_ControllerNode: 5 - m_SelectUsage: 2 - m_ActivateUsage: 2 - m_UIPressUsage: 2 - m_AxisToPressThreshold: 0.1 - m_RotateAnchorLeft: 16 - m_RotateAnchorRight: 17 - m_MoveObjectIn: 14 - m_MoveObjectOut: 15 - m_DirectionalAnchorRotation: 1 - m_PoseProvider: {fileID: 0} ---- !u!114 &7978014071796457455 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 256 - m_InteractionLayers: - m_Bits: 256 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 0 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 0 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 0 - m_HapticSelectEnterIntensity: 0 - m_HapticSelectEnterDuration: 0 - m_PlayHapticsOnSelectExited: 0 - m_HapticSelectExitIntensity: 0 - m_HapticSelectExitDuration: 0 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 0 - m_HapticHoverEnterIntensity: 0 - m_HapticHoverEnterDuration: 0 - m_PlayHapticsOnHoverExited: 0 - m_HapticHoverExitIntensity: 0 - m_HapticHoverExitDuration: 0 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_LineType: 1 - m_BlendVisualLinePoints: 1 - m_MaxRaycastDistance: 30 - m_RayOriginTransform: {fileID: 0} - m_ReferenceFrame: {fileID: 0} - m_Velocity: 10 - m_Acceleration: 9.8 - m_AdditionalGroundHeight: 0.1 - m_AdditionalFlightTime: 0.5 - m_EndPointDistance: 30 - m_EndPointHeight: -10 - m_ControlPointDistance: 10 - m_ControlPointHeight: 5 - m_SampleFrequency: 20 - m_HitDetectionType: 0 - m_SphereCastRadius: 0 - m_RaycastMask: - serializedVersion: 2 - m_Bits: 256 - m_RaycastTriggerInteraction: 1 - m_RaycastSnapVolumeInteraction: 1 - m_HitClosestOnly: 0 - m_HoverToSelect: 1 - m_HoverTimeToSelect: 0 - m_AutoDeselect: 0 - m_TimeToAutoDeselect: 3 - m_EnableUIInteraction: 1 - m_AllowAnchorControl: 1 - m_UseForceGrab: 1 - m_RotateSpeed: 180 - m_TranslateSpeed: 1 - m_AnchorRotateReferenceFrame: {fileID: 0} - m_AnchorRotationMode: 0 - m_UIHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_UIHoverExited: - m_PersistentCalls: - m_Calls: [] - m_EnableARRaycasting: 0 - m_OccludeARHitsWith3DObjects: 0 - m_OccludeARHitsWith2DObjects: 0 ---- !u!120 &7978014071796457450 -LineRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 0 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 6c97eba138bb6c64697ea7ca63a27ad7, 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_Positions: - - {x: 0, y: 0, z: 0} - - {x: 0, y: 0, z: 0} - m_Parameters: - serializedVersion: 3 - widthMultiplier: 0.02 - widthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - colorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - numCornerVertices: 0 - numCapVertices: 0 - alignment: 0 - textureMode: 0 - shadowBias: 0.5 - generateLightingData: 0 - m_UseWorldSpace: 1 - m_Loop: 0 ---- !u!114 &7978014071796457449 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071796457453} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} - m_Name: - m_EditorClassIdentifier: - m_LineWidth: 0.02 - m_OverrideInteractorLineLength: 1 - m_LineLength: 10 - m_AutoAdjustLineLength: 0 - m_MinLineLength: 0.5 - m_UseDistanceToHitAsMaxLineLength: 1 - m_LineRetractionDelay: 0.5 - m_LineLengthChangeSpeed: 12 - m_WidthCurve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 1 - 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: 4 - m_SetLineColorGradient: 1 - m_ValidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 1, b: 1, a: 1} - key1: {r: 1, g: 1, b: 1, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_InvalidColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0, b: 0, a: 1} - key1: {r: 1, g: 0, b: 0, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_BlockedColorGradient: - serializedVersion: 2 - key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} - key2: {r: 0, g: 0, b: 0, a: 0} - key3: {r: 0, g: 0, b: 0, a: 0} - key4: {r: 0, g: 0, b: 0, a: 0} - key5: {r: 0, g: 0, b: 0, a: 0} - key6: {r: 0, g: 0, b: 0, a: 0} - key7: {r: 0, g: 0, b: 0, a: 0} - ctime0: 0 - ctime1: 65535 - ctime2: 0 - ctime3: 0 - ctime4: 0 - ctime5: 0 - ctime6: 0 - ctime7: 0 - atime0: 0 - atime1: 65535 - atime2: 0 - atime3: 0 - atime4: 0 - atime5: 0 - atime6: 0 - atime7: 0 - m_Mode: 0 - m_NumColorKeys: 2 - m_NumAlphaKeys: 2 - m_TreatSelectionAsValidState: 0 - m_SmoothMovement: 0 - m_FollowTightness: 10 - m_SnapThresholdDistance: 10 - m_Reticle: {fileID: 0} - m_BlockedReticle: {fileID: 0} - m_StopLineAtFirstRaycastHit: 1 - m_StopLineAtSelection: 0 - m_SnapEndpointIfAvailable: 1 - m_LineBendRatio: 0.5 - m_OverrideInteractorLineOrigin: 1 - m_LineOriginTransform: {fileID: 0} - m_LineOriginOffset: 0 ---- !u!1 &7978014071979369434 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7978014071979369435} - - component: {fileID: 1992221866384065395} - - component: {fileID: 7978014071979369431} - - component: {fileID: 3983429610902661409} - m_Layer: 0 - m_Name: LeftBaseController - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7978014071979369435 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - 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: 7978014070920969770} - m_Father: {fileID: 2156436554659136467} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!135 &1992221866384065395 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.05 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &7978014071979369431 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1ae26e19cd956134bbdf3c6f65bf393a, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UpdateTrackingType: 0 - m_EnableInputTracking: 1 - m_EnableInputActions: 1 - m_ModelPrefab: {fileID: 1306640934352848695, guid: 902b196ba17fa284bae10bdc5878a72d, type: 3} - m_ModelParent: {fileID: 0} - m_Model: {fileID: 0} - m_AnimateModel: 0 - m_ModelSelectTransition: - m_ModelDeSelectTransition: - m_ControllerNode: 4 - m_SelectUsage: 3 - m_ActivateUsage: 2 - m_UIPressUsage: 0 - m_AxisToPressThreshold: 0.1 - m_RotateAnchorLeft: 16 - m_RotateAnchorRight: 17 - m_MoveObjectIn: 14 - m_MoveObjectOut: 15 - m_DirectionalAnchorRotation: 1 - m_PoseProvider: {fileID: 0} ---- !u!114 &3983429610902661409 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7978014071979369434} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b7231d59cedbff745ae8517a2b954506, type: 3} - m_Name: - m_EditorClassIdentifier: - m_InteractionManager: {fileID: 3211701847606808562} - m_InteractionLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_InteractionLayers: - m_Bits: 1 - m_AttachTransform: {fileID: 0} - m_KeepSelectedTargetValid: 1 - m_DisableVisualsWhenBlockedInGroup: 1 - m_StartingSelectedInteractable: {fileID: 0} - m_StartingTargetFilter: {fileID: 0} - m_HoverEntered: - m_PersistentCalls: - m_Calls: [] - m_HoverExited: - m_PersistentCalls: - m_Calls: [] - m_SelectEntered: - m_PersistentCalls: - m_Calls: [] - m_SelectExited: - m_PersistentCalls: - m_Calls: [] - m_StartingHoverFilters: [] - m_StartingSelectFilters: [] - m_OnHoverEntered: - m_PersistentCalls: - m_Calls: [] - m_OnHoverExited: - m_PersistentCalls: - m_Calls: [] - m_OnSelectEntered: - m_PersistentCalls: - m_Calls: [] - m_OnSelectExited: - m_PersistentCalls: - m_Calls: [] - m_SelectActionTrigger: 1 - m_HideControllerOnSelect: 0 - m_AllowHoveredActivate: 0 - m_TargetPriorityMode: 0 - m_PlayAudioClipOnSelectEntered: 0 - m_AudioClipForOnSelectEntered: {fileID: 0} - m_PlayAudioClipOnSelectExited: 0 - m_AudioClipForOnSelectExited: {fileID: 0} - m_PlayAudioClipOnSelectCanceled: 0 - m_AudioClipForOnSelectCanceled: {fileID: 0} - m_PlayAudioClipOnHoverEntered: 0 - m_AudioClipForOnHoverEntered: {fileID: 0} - m_PlayAudioClipOnHoverExited: 0 - m_AudioClipForOnHoverExited: {fileID: 0} - m_PlayAudioClipOnHoverCanceled: 0 - m_AudioClipForOnHoverCanceled: {fileID: 0} - m_AllowHoverAudioWhileSelecting: 1 - m_PlayHapticsOnSelectEntered: 1 - m_HapticSelectEnterIntensity: 0.5 - m_HapticSelectEnterDuration: 0.25 - m_PlayHapticsOnSelectExited: 1 - m_HapticSelectExitIntensity: 0.5 - m_HapticSelectExitDuration: 0.125 - m_PlayHapticsOnSelectCanceled: 0 - m_HapticSelectCancelIntensity: 0 - m_HapticSelectCancelDuration: 0 - m_PlayHapticsOnHoverEntered: 1 - m_HapticHoverEnterIntensity: 0.25 - m_HapticHoverEnterDuration: 0.25 - m_PlayHapticsOnHoverExited: 1 - m_HapticHoverExitIntensity: 0.25 - m_HapticHoverExitDuration: 0.125 - m_PlayHapticsOnHoverCanceled: 0 - m_HapticHoverCancelIntensity: 0 - m_HapticHoverCancelDuration: 0 - m_AllowHoverHapticsWhileSelecting: 1 - m_ImproveAccuracyWithSphereCollider: 0 - m_PhysicsLayerMask: - serializedVersion: 2 - m_Bits: 1 - m_PhysicsTriggerInteraction: 1 - precisionGrab: 1 ---- !u!1 &8767993477320427908 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1434742558320835023} - m_Layer: 0 - m_Name: Teleport Controllers - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1434742558320835023 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8767993477320427908} - 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: 7978014070459812424} - - {fileID: 7978014071796457454} - m_Father: {fileID: 7978014070532965596} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab.meta b/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab.meta deleted file mode 100644 index 22e37af60..000000000 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Device_Based.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6009b435b2dba3240b74f29999f3e3e0 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/.sample.json b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/.sample.json deleted file mode 100644 index 709ba66b5..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/.sample.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "displayName": "Default Input Actions", - "description": "Default set of input actions and presets for use with XR Interaction Toolkit behaviors that utilize the Input System." -} diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset deleted file mode 100644 index 4de8edbce..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset +++ /dev/null @@ -1,135 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!181963792 &2655988077585873504 -Preset: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: XRI Builder Continuous Move - m_TargetType: - m_NativeTypeID: 114 - m_ManagedTypePPtr: {fileID: 11500000, guid: 0bf296fc962d7184ab14ad1841598d5f, type: 3} - m_ManagedTypeFallback: - m_Properties: - - target: {fileID: 0} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorHideFlags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorClassIdentifier - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_System - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_MoveSpeed - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableStrafe - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableFly - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UseGravity - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_GravityApplicationMode - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ForwardSource - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_Name - value: Left Hand Move - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_Id - value: 75f1b245-c357-48c8-9acb-8967bec9dda2 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Action.m_Flags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandMoveAction.m_Reference - value: - objectReference: {fileID: 6972639530819350904, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_Name - value: Right Hand Move - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_Id - value: 6bf6c732-e011-46b1-acc5-b649a4ec5f10 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Action.m_Flags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandMoveAction.m_Reference - value: - objectReference: {fileID: -8198699208435500284, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ExcludedProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset deleted file mode 100644 index eaeedb722..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset +++ /dev/null @@ -1,115 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!181963792 &2655988077585873504 -Preset: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: XRI Builder Continuous Turn - m_TargetType: - m_NativeTypeID: 114 - m_ManagedTypePPtr: {fileID: 11500000, guid: 919e39492806b334982b6b84c90dd927, type: 3} - m_ManagedTypeFallback: - m_Properties: - - target: {fileID: 0} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorHideFlags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorClassIdentifier - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_System - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TurnSpeed - value: 60 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_Name - value: Left Hand Turn - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_Id - value: b9ac2485-f305-451c-9106-d1d25cc235dc - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Action.m_Flags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandTurnAction.m_Reference - value: - objectReference: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_Name - value: Right Hand Turn - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_Id - value: 93119ec4-ae3b-41c0-8fb4-7ff4c5e6f732 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Action.m_Flags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandTurnAction.m_Reference - value: - objectReference: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} - m_ExcludedProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions deleted file mode 100644 index 523dc8bef..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions +++ /dev/null @@ -1,956 +0,0 @@ -{ - "name": "XRI Builder Input Actions", - "maps": [ - { - "name": "XRI HMD", - "id": "09ff3ccc-21b4-4346-a3a2-7c978b5af892", - "actions": [ - { - "name": "Position", - "type": "Value", - "id": "1a9029f8-7a46-46b9-9eff-e9ae8365f611", - "expectedControlType": "Vector3", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Rotation", - "type": "Value", - "id": "aed87fe6-2b01-4dd2-a8fa-195578fd8158", - "expectedControlType": "Quaternion", - "processors": "", - "interactions": "", - "initialStateCheck": true - } - ], - "bindings": [ - { - "name": "", - "id": "cff1f981-6e1f-4e2c-a90c-715a0ea2e80e", - "path": "/centerEyePosition", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Position", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "e2017383-a3f6-4c46-acb1-012b8eece9cc", - "path": "/centerEyeRotation", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotation", - "isComposite": false, - "isPartOfComposite": false - } - ] - }, - { - "name": "XRI LeftHand", - "id": "5fe596f9-1b7b-49b7-80a7-3b5195caf74d", - "actions": [ - { - "name": "Position", - "type": "Value", - "id": "83a7af0b-87e3-42c3-a909-95fbf8091e4f", - "expectedControlType": "Vector3", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Rotation", - "type": "Value", - "id": "cb6b7130-2bac-4ef7-abe4-6991ae7d419d", - "expectedControlType": "Quaternion", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Select", - "type": "Button", - "id": "33754c03-48ec-46ef-9bc6-22ed6bfdd8e8", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Activate", - "type": "Button", - "id": "0c0991c5-d329-4afc-8892-1076b440477c", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "UI Press", - "type": "Button", - "id": "7e1eced7-c774-4fe5-be8f-d8711f646d9e", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Haptic Device", - "type": "PassThrough", - "id": "664a62b0-e178-421d-b3f8-014eec01591d", - "expectedControlType": "", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Teleport Select", - "type": "Button", - "id": "cbeaf823-3b69-4004-8ec8-13ea2ca3fc31", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Teleport Mode Activate", - "type": "Button", - "id": "a21db72c-4843-4839-b4d0-3ce8d287cb86", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Teleport Mode Cancel", - "type": "Button", - "id": "89ce8348-6001-41a3-85b9-f8f2e2dcad7c", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Turn", - "type": "Value", - "id": "9164e093-ebd4-4923-af32-1b52f31c2d66", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Move", - "type": "Value", - "id": "9693e25f-8a4f-4aed-842f-3961243c69a1", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Rotate Anchor", - "type": "Value", - "id": "21b75b25-12ad-410f-b4f8-a7745b7aca27", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Translate Anchor", - "type": "Value", - "id": "bfa204c7-3c92-4193-bad1-39eb71920042", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "UI Mode Activate", - "type": "Button", - "id": "e79be11e-456a-469f-afa0-e7569cbecd83", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "SelectValue", - "type": "Value", - "id": "b025a82b-095a-4faa-9fad-94ebdf428eab", - "expectedControlType": "Axis", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "ActivateValue", - "type": "Value", - "id": "cee37224-c868-4c44-aa0b-5e29185009a0", - "expectedControlType": "Axis", - "processors": "", - "interactions": "", - "initialStateCheck": true - } - ], - "bindings": [ - { - "name": "", - "id": "b34c79c1-ab5e-4851-87ac-abc43705eae0", - "path": "{LeftHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "UI Press", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "79634234-07c9-488b-98bd-7d83eb6895c5", - "path": "{LeftHand}/deviceRotation", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotation", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "b8aebee7-fa03-43d4-bfb7-77a3f87452cc", - "path": "{LeftHand}/gripPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Mode Cancel", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "3bf4fccb-bf42-4ec5-b215-c967f1d71642", - "path": "{LeftHand}/devicePosition", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Position", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "71a4d23f-3e9a-4513-923b-ba388c5e84bf", - "path": "{LeftHand}/gripPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Select", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "487f4f2e-9e9b-49aa-b0f2-4037a24624f5", - "path": "{LeftHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Activate", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "99cb7ad1-51ec-4611-af68-92a85f2c17d6", - "path": "{LeftHand}/Primary2DAxis", - "interactions": "Sector(directions=12,sweepBehavior=1)", - "processors": "", - "groups": "Noncontinuous Move", - "action": "Turn", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "034c3ced-8f2c-44ce-892e-678ca433265b", - "path": "{LeftHand}/Primary2DAxis", - "interactions": "Sector(directions=2,sweepBehavior=2)", - "processors": "", - "groups": "Noncontinuous Move", - "action": "Turn", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8e383b1a-270f-4c20-819b-89a59cffb498", - "path": "{LeftHand}/Primary2DAxis", - "interactions": "", - "processors": "StickDeadzone", - "groups": "Continuous Move", - "action": "Move", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "acdf9550-5529-4ff7-8558-73ecdf0d75bd", - "path": "{LeftHand}/*", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Haptic Device", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "2D Vector", - "id": "de8136fd-5b07-4794-bb96-63c6027cf1b6", - "path": "2DVector(mode=2)", - "interactions": "", - "processors": "StickDeadzone", - "groups": "", - "action": "Rotate Anchor", - "isComposite": true, - "isPartOfComposite": false - }, - { - "name": "up", - "id": "529c0dda-d254-4a71-8aa8-7dbdeabbe45d", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "down", - "id": "dad37c56-3fcd-4890-98bf-e06f80ba76ff", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "left", - "id": "e0dd3431-14bb-4817-ac71-ed700d5af1ca", - "path": "{LeftHand}/Primary2DAxis/x", - "interactions": "", - "processors": "Clamp(min=-1),Invert", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "right", - "id": "0064f189-a00e-4cf8-9f53-be76a30cb97f", - "path": "{LeftHand}/Primary2DAxis/x", - "interactions": "", - "processors": "Clamp(max=1)", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "2D Vector", - "id": "44d142b3-f6ac-4d08-8bd1-fac53cf9bb9e", - "path": "2DVector(mode=2)", - "interactions": "", - "processors": "StickDeadzone", - "groups": "", - "action": "Translate Anchor", - "isComposite": true, - "isPartOfComposite": false - }, - { - "name": "up", - "id": "b1dbcb6a-408c-413c-b2d1-7a10fe418324", - "path": "{LeftHand}/Primary2DAxis/y", - "interactions": "", - "processors": "Clamp(max=1)", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "down", - "id": "0e38a62a-8bee-4853-b87a-1af460e3ec33", - "path": "{LeftHand}/Primary2DAxis/y", - "interactions": "", - "processors": "Clamp(min=-1),Invert", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "left", - "id": "2f25805f-44a3-4716-983c-532473bcc03c", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "right", - "id": "d97ccaa1-79ae-4ca7-b7dd-be5ce92c94a6", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "", - "id": "b3670fbb-4534-42ae-b6e8-124f0236d01d", - "path": "{LeftHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Select", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "6c950e2a-8a97-436a-b5ef-cb27db09b91a", - "path": "{LeftHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Mode Activate", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "0cf3d989-0294-42f6-9fe6-751db7fe2d47", - "path": "{LeftHand}/gripPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "UI Mode Activate", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "7e38c38e-f6bc-443f-9d8a-d9ca4bbbadd6", - "path": "{LeftHand}/grip", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "SelectValue", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "57465dfd-5592-4361-9e1b-79b534db3890", - "path": "{LeftHand}/trigger", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "ActivateValue", - "isComposite": false, - "isPartOfComposite": false - } - ] - }, - { - "name": "XRI RightHand", - "id": "7960f8ef-2bf3-4281-aecc-4c03809d6c8c", - "actions": [ - { - "name": "Position", - "type": "Value", - "id": "c4990d70-7b8a-4ce1-b03c-da86716b8352", - "expectedControlType": "Vector3", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Rotation", - "type": "Value", - "id": "ee6bf5bf-bb0a-4a50-8327-cb654b19e298", - "expectedControlType": "Quaternion", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Select", - "type": "Button", - "id": "ac96c10b-c955-4a46-8e67-bf16bc069b53", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Activate", - "type": "Button", - "id": "41976d89-60de-4deb-bff9-16b4af96b290", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "UI Press", - "type": "Button", - "id": "65174b45-c2ee-4f90-93bb-fb4084eaaab3", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Haptic Device", - "type": "PassThrough", - "id": "57b2a1b4-3290-46d6-ac07-4854ee8f91b1", - "expectedControlType": "", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Teleport Select", - "type": "Button", - "id": "02e43582-8973-4940-af06-dff6158e3df2", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Teleport Mode Activate", - "type": "Button", - "id": "a6c7231d-c55d-4dd4-9e87-877bb5522ef5", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Teleport Mode Cancel", - "type": "Button", - "id": "d587b60c-39a0-4365-8075-477ce484ba0f", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "Turn", - "type": "Value", - "id": "9fb2eb2b-2fb6-4328-8167-10a1bf11b424", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Move", - "type": "Value", - "id": "00a4dc9f-1ee6-4349-b0e9-72d5dccaadd6", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Rotate Anchor", - "type": "Value", - "id": "9b5d8312-f609-4895-b70f-81a722b2ae11", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Translate Anchor", - "type": "Value", - "id": "6f7cf253-7062-443b-b10f-2be48a33f027", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "UI Mode Active", - "type": "Button", - "id": "2610cf9a-103e-4523-832c-5daefb9ba8b4", - "expectedControlType": "Button", - "processors": "", - "interactions": "", - "initialStateCheck": false - }, - { - "name": "SelectValue", - "type": "Value", - "id": "97819a89-3351-459c-893b-8cad0c647ff3", - "expectedControlType": "Axis", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "ActivateValue", - "type": "Value", - "id": "1b55dbc4-bb0b-46b6-b54e-feb30055dae2", - "expectedControlType": "Axis", - "processors": "", - "interactions": "", - "initialStateCheck": true - } - ], - "bindings": [ - { - "name": "", - "id": "fa59aed1-ae0b-4074-a58c-294b85f46228", - "path": "{RightHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Activate", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8d2a5710-51f9-4e4b-a592-021821e5caa7", - "path": "{RightHand}/deviceRotation", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotation", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "de466e6e-12bf-46a1-b0fd-ffbc343f3399", - "path": "{RightHand}/gripPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Mode Cancel", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "274078b0-62e5-4730-bcc2-6896b9ad9f0c", - "path": "{RightHand}/devicePosition", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Position", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "1ce80054-410d-4112-a332-50faa7fb4f23", - "path": "{RightHand}/gripPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Select", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "92bb5b8f-bf48-4dab-af05-50a865773895", - "path": "{RightHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "UI Press", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "d6c08c3d-3d41-4695-994d-1ac9016a5a9e", - "path": "{RightHand}/Primary2DAxis", - "interactions": "Sector(directions=12,sweepBehavior=1)", - "processors": "", - "groups": "Generic XR Controller", - "action": "Turn", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "70f78baa-0f00-4d32-a2b6-ea9e2090ecc2", - "path": "{RightHand}/Primary2DAxis", - "interactions": "Sector(directions=2,sweepBehavior=2)", - "processors": "", - "groups": "Generic XR Controller", - "action": "Turn", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "6011e1e6-b2dd-4cb1-8da5-29b03868f2c5", - "path": "{RightHand}/*", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Haptic Device", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "2D Vector", - "id": "61502e80-1b21-4116-890c-c0bc31c9dffd", - "path": "2DVector(mode=2)", - "interactions": "", - "processors": "StickDeadzone", - "groups": "", - "action": "Rotate Anchor", - "isComposite": true, - "isPartOfComposite": false - }, - { - "name": "up", - "id": "2b466c01-134f-40f2-b376-f7e9684e423b", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "down", - "id": "79757cb3-5b81-4a3d-bc3c-d2582f85d5db", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "left", - "id": "76425f70-54b8-4f8e-ad52-94debc75962c", - "path": "{RightHand}/Primary2DAxis/x", - "interactions": "", - "processors": "Clamp(min=-1),Invert", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "right", - "id": "8df952de-cf29-4b5e-9a90-a6b4eee7f52c", - "path": "{RightHand}/Primary2DAxis/x", - "interactions": "", - "processors": "Clamp(max=1)", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "2D Vector", - "id": "a4b1434f-f204-49c4-bcea-c25e321e93eb", - "path": "2DVector(mode=2)", - "interactions": "", - "processors": "StickDeadzone", - "groups": "", - "action": "Translate Anchor", - "isComposite": true, - "isPartOfComposite": false - }, - { - "name": "up", - "id": "4ced8328-f738-4bbd-937a-c09019acd234", - "path": "{RightHand}/Primary2DAxis/y", - "interactions": "", - "processors": "Clamp(max=1)", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "down", - "id": "f7e89e7c-f5a9-4f42-914f-945815a49033", - "path": "{RightHand}/Primary2DAxis/y", - "interactions": "", - "processors": "Clamp(min=-1),Invert", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "left", - "id": "df3b3e57-34c6-4200-b00e-6617123a9680", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "right", - "id": "54ddc99c-3e9a-4c3a-9fdd-f5fb15952af4", - "path": "", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Translate Anchor", - "isComposite": false, - "isPartOfComposite": true - }, - { - "name": "", - "id": "c59cacef-64b0-4bc8-803e-d8942dead904", - "path": "{RightHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Select", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "ff6ce76f-be33-415d-9b08-36ccb7caa30b", - "path": "{RightHand}/triggerPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Mode Activate", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "ae7ba8b1-27b2-4ba3-a3f4-2afd79d45e03", - "path": "{RightHand}/gripPressed", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "UI Mode Active", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "8ede9af1-68b6-4071-90b9-e6c7f151c24e", - "path": "{RightHand}/grip", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "SelectValue", - "isComposite": false, - "isPartOfComposite": false - }, - { - "name": "", - "id": "2cde3b05-4d36-4851-87fc-eb7257a0e4ca", - "path": "{RightHand}/trigger", - "interactions": "", - "processors": "", - "groups": "Generic XR Controller", - "action": "ActivateValue", - "isComposite": false, - "isPartOfComposite": false - } - ] - } - ], - "controlSchemes": [ - { - "name": "Generic XR Controller", - "bindingGroup": "Generic XR Controller", - "devices": [ - { - "devicePath": "{LeftHand}", - "isOptional": true, - "isOR": false - }, - { - "devicePath": "{RightHand}", - "isOptional": true, - "isOR": false - }, - { - "devicePath": "", - "isOptional": true, - "isOR": false - }, - { - "devicePath": "", - "isOptional": true, - "isOR": false - } - ] - }, - { - "name": "Continuous Move", - "bindingGroup": "Continuous Move", - "devices": [ - { - "devicePath": "{LeftHand}", - "isOptional": false, - "isOR": false - }, - { - "devicePath": "{RightHand}", - "isOptional": false, - "isOR": false - } - ] - }, - { - "name": "Noncontinuous Move", - "bindingGroup": "Noncontinuous Move", - "devices": [ - { - "devicePath": "{LeftHand}", - "isOptional": false, - "isOR": false - }, - { - "devicePath": "{RightHand}", - "isOptional": false, - "isOR": false - } - ] - } - ] -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions.meta b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions.meta deleted file mode 100644 index 991853f9a..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Input Actions.inputactions.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: de2411ef647d9f24d981120efb63e621 -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 8404be70184654265930450def6a9037, type: 3} - generateWrapperCode: 0 - wrapperCodePath: - wrapperClassName: - wrapperCodeNamespace: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset deleted file mode 100644 index 81eb20422..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset +++ /dev/null @@ -1,350 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!181963792 &2655988077585873504 -Preset: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: XRI Builder Left Controller - m_TargetType: - m_NativeTypeID: 114 - m_ManagedTypePPtr: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_ManagedTypeFallback: - m_Properties: - - target: {fileID: 0} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorHideFlags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorClassIdentifier - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UpdateTrackingType - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableInputTracking - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableInputActions - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelPrefab - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelTransform - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_AnimateModel - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelSelectTransition - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelDeSelectTransition - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Name - value: Position - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Id - value: 26d2aaa4-6518-4d33-8fae-419043a723d4 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Reference - value: - objectReference: {fileID: -2024308242397127297, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Name - value: Rotation - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Id - value: d7a15530-737b-416a-9d5d-a8b51ba6c682 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Reference - value: - objectReference: {fileID: 8248158260566104461, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Name - value: Select - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Id - value: 05483079-4b7c-4369-9176-fb8514428e98 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Reference - value: - objectReference: {fileID: -6131295136447488360, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Name - value: Activate - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Id - value: 38e5c09b-96d2-40e4-ae8e-3bfb9eb16727 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Reference - value: - objectReference: {fileID: -5982496924579745919, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Name - value: UI Press - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Id - value: 347fe4ac-83bc-44f7-a0d2-2793a5775161 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Reference - value: - objectReference: {fileID: -6395602842196007441, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Name - value: Haptic Device - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Id - value: 35cfed17-bcaf-4ff9-9fe0-fa1727b7619b - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Reference - value: - objectReference: {fileID: -8785819595477538065, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Name - value: Rotate Anchor - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Id - value: 4fcd4b62-1769-4cc4-aaee-aea2fc40d24f - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Reference - value: - objectReference: {fileID: -7363382999065477798, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Name - value: Translate Anchor - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Id - value: 7bfe4461-8d15-4a61-9fa6-28ce950c9996 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Reference - value: - objectReference: {fileID: 7779212132400271959, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_ButtonPressPoint - value: 0.5 - objectReference: {fileID: 0} diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset deleted file mode 100644 index d3c933b8e..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset +++ /dev/null @@ -1,143 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!181963792 &2655988077585873504 -Preset: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: XRI Builder PresetManager - m_TargetType: - m_NativeTypeID: 1386491679 - m_ManagedTypePPtr: {fileID: 0} - m_ManagedTypeFallback: - m_Properties: - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.size - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].first.m_NativeTypeID - value: 114 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].first.m_ManagedTypePPtr - value: - objectReference: {fileID: 11500000, guid: 0bf296fc962d7184ab14ad1841598d5f, type: 3} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].first.m_ManagedTypeFallback - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].second.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].second.Array.data[0].m_Preset - value: - objectReference: {fileID: 2655988077585873504, guid: 940f542ec154b0b4b81c8d6ea7b1649d, type: 2} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].second.Array.data[0].m_Filter - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[0].second.Array.data[0].m_Disabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].first.m_NativeTypeID - value: 114 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].first.m_ManagedTypePPtr - value: - objectReference: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].first.m_ManagedTypeFallback - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.size - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.data[0].m_Preset - value: - objectReference: {fileID: 2655988077585873504, guid: b7956b4a23be6f04a9adf3819204cfb5, type: 2} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.data[0].m_Filter - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.data[0].m_Disabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.data[1].m_Preset - value: - objectReference: {fileID: 2655988077585873504, guid: 85980dd02d09f6b41b84f9e91f5d30a4, type: 2} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.data[1].m_Filter - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[1].second.Array.data[1].m_Disabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].first.m_NativeTypeID - value: 114 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].first.m_ManagedTypePPtr - value: - objectReference: {fileID: 11500000, guid: 919e39492806b334982b6b84c90dd927, type: 3} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].first.m_ManagedTypeFallback - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].second.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].second.Array.data[0].m_Preset - value: - objectReference: {fileID: 2655988077585873504, guid: ab47a43f0b059e247b89eb9b40c90e84, type: 2} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].second.Array.data[0].m_Filter - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[2].second.Array.data[0].m_Disabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].first.m_NativeTypeID - value: 114 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].first.m_ManagedTypePPtr - value: - objectReference: {fileID: 11500000, guid: 2213c36610e3b1c4bbf886810ed9db12, type: 3} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].first.m_ManagedTypeFallback - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].second.Array.size - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].second.Array.data[0].m_Preset - value: - objectReference: {fileID: 2655988077585873504, guid: 62e36c3d2bacdae4f89aaa8cfe71448e, type: 2} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].second.Array.data[0].m_Filter - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DefaultPresets.Array.data[3].second.Array.data[0].m_Disabled - value: 0 - objectReference: {fileID: 0} - m_ExcludedProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset deleted file mode 100644 index c97ba0e34..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset +++ /dev/null @@ -1,350 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!181963792 &2655988077585873504 -Preset: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: XRI Builder Right Controller - m_TargetType: - m_NativeTypeID: 114 - m_ManagedTypePPtr: {fileID: 11500000, guid: caff514de9b15ad48ab85dcff5508221, type: 3} - m_ManagedTypeFallback: - m_Properties: - - target: {fileID: 0} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorHideFlags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorClassIdentifier - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UpdateTrackingType - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableInputTracking - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableInputActions - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelPrefab - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelTransform - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_AnimateModel - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelSelectTransition - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ModelDeSelectTransition - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Name - value: Position - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Id - value: 93ead265-4bff-4199-8ddf-33c028dcfee9 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_PositionAction.m_Reference - value: - objectReference: {fileID: -3326005586356538449, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Name - value: Rotation - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Id - value: cd9a8368-32d3-4e58-86a0-6fe78d199369 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotationAction.m_Reference - value: - objectReference: {fileID: 5101698808175986029, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Name - value: Select - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Id - value: 3207346a-8b2f-4b24-b45a-90ea1cdef7fb - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_SelectAction.m_Reference - value: - objectReference: {fileID: 187161793506945269, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Name - value: Activate - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Id - value: ed3be3cd-637e-48d6-ae4b-dd97305eaa40 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_ActivateAction.m_Reference - value: - objectReference: {fileID: 83097790271614945, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Name - value: UI Press - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Id - value: 55ce5c5d-aad8-4ebf-9f21-899ff595a062 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_UIPressAction.m_Reference - value: - objectReference: {fileID: 3279264004350380116, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Name - value: Haptic Device - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Id - value: 60f81e0e-3fab-4e26-90b6-a5ab762e2bb1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_HapticDeviceAction.m_Reference - value: - objectReference: {fileID: -8222252007134549311, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Name - value: Rotate Anchor - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Id - value: aca8fec0-a925-428d-a6b7-25cfbd478258 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RotateAnchorAction.m_Reference - value: - objectReference: {fileID: -5913262927076077117, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Name - value: Translate Anchor - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Id - value: 161874b5-2545-4bb2-bea4-eeddeb4fabf6 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TranslateAnchorAction.m_Reference - value: - objectReference: {fileID: 875253871413052681, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_ButtonPressPoint - value: 0.5 - objectReference: {fileID: 0} diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset deleted file mode 100644 index 83a847c7a..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset +++ /dev/null @@ -1,118 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!181963792 &2655988077585873504 -Preset: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: XRI Builder Snap Turn - m_TargetType: - m_NativeTypeID: 114 - m_ManagedTypePPtr: {fileID: 11500000, guid: 2213c36610e3b1c4bbf886810ed9db12, type: 3} - m_ManagedTypeFallback: - m_Properties: - - target: {fileID: 0} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorHideFlags - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EditorClassIdentifier - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_System - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_TurnAmount - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_DebounceTime - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableTurnLeftRight - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_EnableTurnAround - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_Name - value: Left Hand Snap Turn - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_Id - value: a1d07c24-ca50-422a-a23f-685d9fabf63b - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_LeftHandSnapTurnAction.m_Reference - value: - objectReference: {fileID: 1010738217276881514, guid: de2411ef647d9f24d981120efb63e621, type: 3} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_UseReference - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_Name - value: Right Hand Snap Turn - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_Type - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_ExpectedControlType - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_Id - value: a7b54797-6974-4f75-81d0-42b9c15ef1e0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_Processors - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_Interactions - value: - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Action.m_SingletonActionBindings.Array.size - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 0} - propertyPath: m_RightHandSnapTurnAction.m_Reference - value: - objectReference: {fileID: -6493913391331992944, guid: de2411ef647d9f24d981120efb63e621, type: 3} diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset.meta b/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset.meta deleted file mode 100644 index 7bcaee42c..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Snap Turn.preset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 62e36c3d2bacdae4f89aaa8cfe71448e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2655988077585873504 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Configuration/XRInteractionComponentConfiguration.cs b/Source/XR-Interaction-Component/Source/Runtime/Configuration/XRInteractionComponentConfiguration.cs index 60258916b..8e3570f72 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Configuration/XRInteractionComponentConfiguration.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Configuration/XRInteractionComponentConfiguration.cs @@ -14,6 +14,6 @@ public class XRInteractionComponentConfiguration : IInteractionComponentConfigur public bool IsXRInteractionComponent => true; /// - public string DefaultRigPrefab => "XR_Setup_Action_Based_Hands"; + public string DefaultRigPrefab => "VRB_XR_Setup"; } } \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands.meta b/Source/XR-Interaction-Component/Source/Runtime/Hands.meta index 9ae679d03..2638d5007 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Hands.meta +++ b/Source/XR-Interaction-Component/Source/Runtime/Hands.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 110990ec6345f604bba5cecceb3f490d +guid: 9402791b94886d34f8e2a87ad39b1b8d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.cs b/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.cs deleted file mode 100644 index 5e3096181..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.cs +++ /dev/null @@ -1,156 +0,0 @@ -using UnityEngine; -using UnityEngine.XR.Interaction.Toolkit; - -namespace VRBuilder.XRInteraction.Animation -{ - /// - /// Reads values on current controller Select and Activate actions and uses them to drive hand animations. - /// - [RequireComponent(typeof(Animator))] - public class HandAnimatorController : MonoBehaviour - { - [Header("Animator Parameters")] - [SerializeField] - [Tooltip("Float parameter corresponding to select value.")] - private string selectFloat = "Select"; - - [SerializeField] - [Tooltip("Float parameter corresponding to activate value.")] - private string activateFloat = "Activate"; - - [SerializeField] - [Tooltip("Bool parameter true if UI state enabled.")] - private string UIStateBool = "UIEnabled"; - - [SerializeField] - [Tooltip("Bool parameter true if teleport state enabled.")] - private string teleportStateBool = "TeleportEnabled"; - - private Animator animator; - - [Header("Object References")] - [SerializeField] - [Tooltip("Base controller.")] - private ActionBasedController baseController; - - [SerializeField] - [Tooltip("Teleport controller")] - private ActionBasedController teleportController; - - [SerializeField] - [Tooltip("UI controller")] - private ActionBasedController uiController; - - [SerializeField] - [Tooltip("Controller manager needed to set state parameters.")] - private ActionBasedControllerManager controllerManager; - - private ActionBasedController currentController; - - /// - /// True if the controller is in UI mode. - /// - public bool IsUIMode { get; private set; } - - /// - /// True if the controller is in teleport mode. - /// - public bool IsTeleportMode { get; private set; } - - /// - /// Current controller select value. - /// - public float SelectValue { get; private set; } - - /// - /// Current controller activate value. - /// - public float ActivateValue { get; private set; } - - private void Start() - { - animator = GetComponent(); - - if (controllerManager == null) - { - controllerManager = GetComponentInParent(); - } - - if (controllerManager != null && baseController == null) - { - baseController = controllerManager.BaseController.GetComponent(); - } - - if (controllerManager != null && teleportController == null) - { - teleportController = controllerManager.TeleportController.GetComponent(); - } - - if (controllerManager != null && uiController == null) - { - uiController = controllerManager.UIController.GetComponent(); - } - - if (baseController == null) - { - baseController = GetComponentInParent(); - } - - if (baseController == null) - { - Debug.LogWarning($"{typeof(HandAnimatorController).Name} could not retrieve the matching {typeof(ActionBasedController).Name}. {gameObject.name} will not animate."); - } - } - - private void Update() - { - currentController = baseController; - - if (controllerManager != null) - { - if (controllerManager.TeleportState.Enabled) - { - currentController = teleportController; - } - else if (controllerManager.UIState.Enabled) - { - currentController = uiController; - } - } - - if (currentController == null || currentController.enableInputActions == false) - { - return; - } - - if (controllerManager != null) - { - if (controllerManager.UIState.Enabled) - { - IsUIMode = true; - } - else - { - IsUIMode = false; - } - - if (controllerManager.TeleportState.Enabled) - { - IsTeleportMode = true; - } - else - { - IsTeleportMode = false; - } - } - - SelectValue = currentController.selectActionValue.action.ReadValue(); - ActivateValue = currentController.activateActionValue.action.ReadValue(); - - animator.SetBool(UIStateBool, IsUIMode); - animator.SetBool(teleportStateBool, IsTeleportMode); - animator.SetFloat(selectFloat, SelectValue); - animator.SetFloat(activateFloat, ActivateValue); - } - } -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/HandAnimatorController.cs b/Source/XR-Interaction-Component/Source/Runtime/Hands/HandAnimatorController.cs new file mode 100644 index 000000000..0034404b2 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/Hands/HandAnimatorController.cs @@ -0,0 +1,156 @@ +// using UnityEngine; +// using UnityEngine.XR.Interaction.Toolkit; + +// namespace VRBuilder.XRInteraction.Animation +// { +// /// +// /// Reads values on current controller Select and Activate actions and uses them to drive hand animations. +// /// +// [RequireComponent(typeof(Animator))] +// public class HandAnimatorController : MonoBehaviour +// { +// [Header("Animator Parameters")] +// [SerializeField] +// [Tooltip("Float parameter corresponding to select value.")] +// private string selectFloat = "Select"; + +// [SerializeField] +// [Tooltip("Float parameter corresponding to activate value.")] +// private string activateFloat = "Activate"; + +// [SerializeField] +// [Tooltip("Bool parameter true if UI state enabled.")] +// private string UIStateBool = "UIEnabled"; + +// [SerializeField] +// [Tooltip("Bool parameter true if teleport state enabled.")] +// private string teleportStateBool = "TeleportEnabled"; + +// private Animator animator; + +// [Header("Object References")] +// [SerializeField] +// [Tooltip("Base controller.")] +// private ActionBasedController baseController; + +// [SerializeField] +// [Tooltip("Teleport controller")] +// private ActionBasedController teleportController; + +// [SerializeField] +// [Tooltip("UI controller")] +// private ActionBasedController uiController; + +// [SerializeField] +// [Tooltip("Controller manager needed to set state parameters.")] +// private ActionBasedControllerManager controllerManager; + +// private ActionBasedController currentController; + +// /// +// /// True if the controller is in UI mode. +// /// +// public bool IsUIMode { get; private set; } + +// /// +// /// True if the controller is in teleport mode. +// /// +// public bool IsTeleportMode { get; private set; } + +// /// +// /// Current controller select value. +// /// +// public float SelectValue { get; private set; } + +// /// +// /// Current controller activate value. +// /// +// public float ActivateValue { get; private set; } + +// private void Start() +// { +// animator = GetComponent(); + +// if (controllerManager == null) +// { +// controllerManager = GetComponentInParent(); +// } + +// if (controllerManager != null && baseController == null) +// { +// baseController = controllerManager.BaseController.GetComponent(); +// } + +// if (controllerManager != null && teleportController == null) +// { +// teleportController = controllerManager.TeleportController.GetComponent(); +// } + +// if (controllerManager != null && uiController == null) +// { +// uiController = controllerManager.UIController.GetComponent(); +// } + +// if (baseController == null) +// { +// baseController = GetComponentInParent(); +// } + +// if (baseController == null) +// { +// Debug.LogWarning($"{typeof(HandAnimatorController).Name} could not retrieve the matching {typeof(ActionBasedController).Name}. {gameObject.name} will not animate."); +// } +// } + +// private void Update() +// { +// currentController = baseController; + +// if (controllerManager != null) +// { +// if (controllerManager.TeleportState.Enabled) +// { +// currentController = teleportController; +// } +// else if (controllerManager.UIState.Enabled) +// { +// currentController = uiController; +// } +// } + +// if (currentController == null || currentController.enableInputActions == false) +// { +// return; +// } + +// if (controllerManager != null) +// { +// if (controllerManager.UIState.Enabled) +// { +// IsUIMode = true; +// } +// else +// { +// IsUIMode = false; +// } + +// if (controllerManager.TeleportState.Enabled) +// { +// IsTeleportMode = true; +// } +// else +// { +// IsTeleportMode = false; +// } +// } + +// SelectValue = currentController.selectActionValue.action.ReadValue(); +// ActivateValue = currentController.activateActionValue.action.ReadValue(); + +// animator.SetBool(UIStateBool, IsUIMode); +// animator.SetBool(teleportStateBool, IsTeleportMode); +// animator.SetFloat(selectFloat, SelectValue); +// animator.SetFloat(activateFloat, ActivateValue); +// } +// } +// } \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/Hands/HandAnimatorController.cs.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.cs.meta rename to Source/XR-Interaction-Component/Source/Runtime/Hands/HandAnimatorController.cs.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs deleted file mode 100644 index 159e11050..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs +++ /dev/null @@ -1,827 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.Events; -using UnityEngine.InputSystem; -using UnityEngine.XR.Interaction.Toolkit; - -namespace VRBuilder.XRInteraction -{ - /// - /// Use this class to map input actions to each controller state (mode) - /// and set up the transitions between controller states (modes). - /// - [AddComponentMenu("XR/Action Based Controller Manager")] - [DefaultExecutionOrder(ControllerManagerUpdateOrder)] - public class ActionBasedControllerManager : MonoBehaviour - { - private const int ControllerManagerUpdateOrder = 10; - - /// - /// Reference to an interaction state. - /// - public enum StateID - { - None, - Select, - Teleport, - Interact, - UI - } - - [Serializable] - public class StateEnterEvent : UnityEvent - { - } - - [Serializable] - public class StateUpdateEvent : UnityEvent - { - } - - [Serializable] - public class StateExitEvent : UnityEvent - { - } - - /// - /// Use this class to create a controller state and set up its enter, update, and exit events. - /// - [Serializable] - public class ControllerState - { - [SerializeField] - [Tooltip("Sets the controller state to be active. " + - "For the default states, setting this value to true will automatically update their StateUpdateEvent.")] - private bool enabled; - - /// - /// Sets the controller state to be active. - /// For the default states, setting this value to true will automatically update their . - /// - public bool Enabled - { - get => enabled; - set => enabled = value; - } - - [SerializeField] - [HideInInspector] - private StateID m_ID; - - /// - /// Sets the identifier of the from all the optional Controller States that the holds. - /// - public StateID ID - { - get => m_ID; - set => m_ID = value; - } - - [SerializeField] - private StateEnterEvent onEnter = new StateEnterEvent(); - - /// - /// The that will be invoked when entering the controller state. - /// - public StateEnterEvent OnEnter - { - get => onEnter; - set => onEnter = value; - } - - [SerializeField] - private StateUpdateEvent onUpdate = new StateUpdateEvent(); - - /// - /// The that will be invoked when updating the controller state. - /// - public StateUpdateEvent OnUpdate - { - get => onUpdate; - set => onUpdate = value; - } - - [SerializeField] - private StateExitEvent onExit = new StateExitEvent(); - - /// - /// The that will be invoked when exiting the controller state. - /// - public StateExitEvent OnExit - { - get => onExit; - set => onExit = value; - } - - public ControllerState(StateID defaultId = StateID.None) => ID = defaultId; - } - - [Space] - [Header("Controller GameObjects")] - - [SerializeField] - [Tooltip("The base controller GameObject, used for changing default settings on its components during state transitions.")] - private GameObject baseController; - - /// - /// The base controller , used for changing default settings on its components during state transitions. - /// - public GameObject BaseController - { - get => baseController; - set => baseController = value; - } - - [SerializeField] - [Tooltip("The teleport controller GameObject, used for changing default settings on its components during state transitions.")] - private GameObject teleportController; - - /// - /// The teleport controller , used for changing default settings on its components during state transitions. - /// - public GameObject TeleportController - { - get => teleportController; - set => teleportController = value; - } - - [SerializeField] - [Tooltip("The UI controller GameObject, used for changing default settings on its components during state transitions.")] - private GameObject uiController; - - /// - /// The UI controller , used for changing default settings on its components during state transitions. - /// - public GameObject UIController - { - get => uiController; - set => uiController = value; - } - - [Space] - [Header("Controller Actions")] - - // State transition actions - [SerializeField] - [Tooltip("The reference to the action of activating the teleport mode for this controller.")] - private InputActionReference teleportModeActivate; - - /// - /// The reference to the action of activating the teleport mode for this controller." - /// - public InputActionReference TeleportModeActivate - { - get => teleportModeActivate; - set => teleportModeActivate = value; - } - - [SerializeField] - [Tooltip("The reference to the action of canceling the teleport mode for this controller.")] - private InputActionReference teleportModeCancel; - - /// - /// The reference to the action of canceling the teleport mode for this controller." - /// - public InputActionReference TeleportModeCancel - { - get => teleportModeCancel; - set => teleportModeCancel = value; - } - - [SerializeField] - [Tooltip("The reference to the action of activating the teleport mode for this controller.")] - private InputActionReference uiModeActivate; - - /// - /// The reference to the action of activating the teleport mode for this controller." - /// - public InputActionReference UIModeActivate - { - get => uiModeActivate; - set => uiModeActivate = value; - } - - // Character movement actions - [SerializeField] - [Tooltip("The reference to the action of turning the XR rig with this controller.")] - private InputActionReference turn; - - /// - /// The reference to the action of turning the XR rig with this controller. - /// - public InputActionReference Turn - { - get => turn; - set => turn = value; - } - - [SerializeField] - [Tooltip("The reference to the action of moving the XR rig with this controller.")] - private InputActionReference move; - - /// - /// The reference to the action of moving the XR rig with this controller. - /// - public InputActionReference Move - { - get => move; - set => move = value; - } - - // Object control actions - [SerializeField] - [Tooltip("The reference to the action of translating the selected object of this controller.")] - private InputActionReference translateAnchor; - - /// - /// The reference to the action of translating the selected object of this controller. - /// - public InputActionReference TranslateAnchor - { - get => translateAnchor; - set => translateAnchor = value; - } - - [SerializeField] - [Tooltip("The reference to the action of rotating the selected object of this controller.")] - private InputActionReference rotateAnchor; - - /// - /// The reference to the action of rotating the selected object of this controller. - /// - public InputActionReference RotateAnchor - { - get => rotateAnchor; - set => rotateAnchor = value; - } - - [Space] - [Header("Default States")] - -#pragma warning disable IDE0044 // Add readonly modifier -- readonly fields cannot be serialized by Unity - [SerializeField] - [Tooltip("The default Select state and events for the controller.")] - private ControllerState selectState = new ControllerState(StateID.Select); - - /// - /// (Read Only) The default Select state. - /// - public ControllerState SelectState => selectState; - - [SerializeField] - [Tooltip("The default Teleport state and events for the controller.")] - private ControllerState teleportState = new ControllerState(StateID.Teleport); - - /// - /// (Read Only) The default Teleport state. - /// - public ControllerState TeleportState => teleportState; - - [SerializeField] - [Tooltip("The default Interact state and events for the controller.")] - private ControllerState interactState = new ControllerState(StateID.Interact); - - /// - /// (Read Only) The default Interact state. - /// - public ControllerState InteractState => interactState; - - [SerializeField] - [Tooltip("The default Interact state and events for the controller.")] - private ControllerState uiState = new ControllerState(StateID.UI); - - /// - /// (Read Only) The default Interact state. - /// - public ControllerState UIState => uiState; -#pragma warning restore IDE0044 - - // The list to store and run the default states - private readonly List defaultStates = new List(); - - // Components of the controller to switch on and off for different states - private XRBaseController baseXRController; - private XRBaseInteractor baseXRInteractor; - private XRInteractorLineVisual baseXRLineVisual; - - private XRBaseController teleportXRController; - private XRBaseInteractor teleportXRInteractor; - private XRInteractorLineVisual teleportLineVisual; - - private XRBaseController uiXRController; - private XRBaseInteractor uiXRInteractor; - private XRInteractorLineVisual uiLineVisual; - - protected void OnEnable() - { - FindBaseControllerComponents(); - FindTeleportControllerComponents(); - FindUIControllerComponents(); - - // Add default state events. - selectState.OnEnter.AddListener(OnEnterSelectState); - selectState.OnUpdate.AddListener(OnUpdateSelectState); - selectState.OnExit.AddListener(OnExitSelectState); - - teleportState.OnEnter.AddListener(OnEnterTeleportState); - teleportState.OnUpdate.AddListener(OnUpdateTeleportState); - teleportState.OnExit.AddListener(OnExitTeleportState); - - interactState.OnEnter.AddListener(OnEnterInteractState); - interactState.OnUpdate.AddListener(OnUpdateInteractState); - interactState.OnExit.AddListener(OnExitInteractState); - - uiState.OnEnter.AddListener(OnEnterUIState); - uiState.OnUpdate.AddListener(OnUpdateUIState); - uiState.OnExit.AddListener(OnExitUIState); - } - - protected void OnDisable() - { - // Remove default state events. - selectState.OnEnter.RemoveListener(OnEnterSelectState); - selectState.OnUpdate.RemoveListener(OnUpdateSelectState); - selectState.OnExit.RemoveListener(OnExitSelectState); - - teleportState.OnEnter.RemoveListener(OnEnterTeleportState); - teleportState.OnUpdate.RemoveListener(OnUpdateTeleportState); - teleportState.OnExit.RemoveListener(OnExitTeleportState); - - interactState.OnEnter.RemoveListener(OnEnterInteractState); - interactState.OnUpdate.RemoveListener(OnUpdateInteractState); - interactState.OnExit.RemoveListener(OnExitInteractState); - - uiState.OnEnter.RemoveListener(OnEnterUIState); - uiState.OnUpdate.RemoveListener(OnUpdateUIState); - uiState.OnExit.RemoveListener(OnExitUIState); - } - - /// - /// Forces a transition to the desired state, bypassing the provided input actions. - /// The controller will be locked in the specified state until manually unlocked. - /// - /// ID of the state to switch to. - public void ForceLockControllerState(StateID stateID) - { - ForceStateTransition(stateID); - - DisableAction(teleportModeActivate); - DisableAction(teleportModeCancel); - DisableAction(UIModeActivate); - } - - /// - /// Transitions to the default state and allows regular state switching via input actions. - /// - public void UnlockControllerState() - { - ForceStateTransition(StateID.Select); - - EnableAction(teleportModeActivate); - EnableAction(teleportModeCancel); - EnableAction(UIModeActivate); - } - - protected void Start() - { - // Add states to the list - defaultStates.Add(selectState); - defaultStates.Add(teleportState); - defaultStates.Add(interactState); - defaultStates.Add(uiState); - - // Initialize to start in m_SelectState - TransitionState(null, selectState); - } - - protected void Update() - { - foreach (ControllerState state in defaultStates) - { - if (state.Enabled) - { - state.OnUpdate.Invoke(); - return; - } - } - } - - private void TransitionState(ControllerState fromState, ControllerState toState) - { - if (fromState != null) - { - fromState.Enabled = false; - fromState.OnExit.Invoke(toState?.ID ?? StateID.None); - } - - if (toState != null) - { - toState.OnEnter.Invoke(fromState?.ID ?? StateID.None); - toState.Enabled = true; - } - } - - private void ForceStateTransition(StateID stateID) - { - ControllerState currentState = defaultStates.Where(state => state.Enabled).FirstOrDefault(); - ControllerState targetState = defaultStates.Where(state => state.ID == stateID).FirstOrDefault(); - - if (targetState == null) - { - throw new ArgumentNullException("Attempted to force transition to null state"); - } - - if (currentState != targetState) - { - TransitionState(currentState, targetState); - } - } - - private void FindBaseControllerComponents() - { - if (baseController == null) - { - Debug.LogWarning("Missing reference to Base Controller GameObject.", this); - return; - } - - if (baseXRController == null) - { - baseXRController = baseController.GetComponent(); - - if (baseXRController == null) - { - Debug.LogWarning($"Cannot find any {nameof(XRBaseController)} component on the Base Controller GameObject.", this); - } - } - - if (baseXRInteractor == null) - { - baseXRInteractor = baseController.GetComponent(); - - if (baseXRInteractor == null) - { - Debug.LogWarning($"Cannot find any {nameof(XRBaseInteractor)} component on the Base Controller GameObject.", this); - } - } - - // Only check the line visual component for RayInteractor, since DirectInteractor does not use the line visual component - if (baseXRInteractor is XRRayInteractor && baseXRLineVisual == null) - { - baseXRLineVisual = baseController.GetComponent(); - - if (baseXRLineVisual == null) - { - Debug.LogWarning($"Cannot find any {nameof(XRInteractorLineVisual)} component on the Base Controller GameObject.", this); - } - } - } - - private void FindTeleportControllerComponents() - { - if (teleportController == null) - { - Debug.LogWarning("Missing reference to the Teleport Controller GameObject.", this); - return; - } - - if (teleportXRController == null) - { - teleportXRController = teleportController.GetComponent(); - - if (teleportXRController == null) - { - Debug.LogWarning($"Cannot find {nameof(XRBaseController)} component on the Teleport Controller GameObject.", this); - } - } - - if (teleportLineVisual == null) - { - teleportLineVisual = teleportController.GetComponent(); - - if (teleportLineVisual == null) - { - Debug.LogWarning($"Cannot find {nameof(XRInteractorLineVisual)} component on the Teleport Controller GameObject.", this); - } - } - - if (teleportXRInteractor == null) - { - teleportXRInteractor = teleportController.GetComponent(); - - if (teleportXRInteractor == null) - { - Debug.LogWarning($"Cannot find {nameof(XRRayInteractor)} component on the Teleport Controller GameObject.", this); - } - } - } - - private void FindUIControllerComponents() - { - if (uiController == null) - { - Debug.LogWarning("Missing reference to the UI Controller GameObject.", this); - return; - } - - if (uiXRController == null) - { - uiXRController = uiController.GetComponent(); - - if (uiXRController == null) - { - Debug.LogWarning($"Cannot find {nameof(XRBaseController)} component on the UI Controller GameObject.", this); - } - } - - if (uiLineVisual == null) - { - uiLineVisual = uiController.GetComponent(); - - if (uiLineVisual == null) - { - Debug.LogWarning($"Cannot find {nameof(XRInteractorLineVisual)} component on the UI Controller GameObject.", this); - } - } - - if (uiXRInteractor == null) - { - uiXRInteractor = uiController.GetComponent(); - - if (uiXRInteractor == null) - { - Debug.LogWarning($"Cannot find {nameof(XRRayInteractor)} component on the UI Controller GameObject.", this); - } - } - } - - /// - /// Find and configure the components on the base controller. - /// - /// Set it true to enable the base controller, false to disable it. - private void SetBaseController(bool enable) - { - FindBaseControllerComponents(); - - if (baseXRController != null) - { - baseXRController.enableInputActions = enable; - } - - if (baseXRInteractor != null) - { - baseXRInteractor.enabled = enable; - } - - if (baseXRInteractor is XRRayInteractor && baseXRLineVisual != null) - { - baseXRLineVisual.enabled = enable; - } - } - - /// - /// Find and configure the components on the teleport controller. - /// - /// Set it true to enable the teleport controller, false to disable it. - private void SetTeleportController(bool enable) - { - FindTeleportControllerComponents(); - - if (teleportLineVisual != null) - { - teleportLineVisual.enabled = enable; - } - - if (teleportXRController != null) - { - teleportXRController.enableInputActions = enable; - } - - if (teleportXRInteractor != null) - { - teleportXRInteractor.enabled = enable; - } - } - - /// - /// Find and configure the components on the UI controller. - /// - /// Set it true to enable the UI controller, false to disable it. - private void SetUIController(bool enable) - { - FindUIControllerComponents(); - - if (uiLineVisual != null) - { - uiLineVisual.enabled = enable; - } - - if (uiXRController != null) - { - uiXRController.enableInputActions = enable; - } - - if (uiXRInteractor != null) - { - uiXRInteractor.enabled = enable; - } - } - - private void OnEnterSelectState(StateID previousStateId) - { - // Change controller and enable actions depending on the previous state - switch (previousStateId) - { - case StateID.None: - // Enable transitions to Teleport state - EnableAction(teleportModeActivate); - EnableAction(teleportModeCancel); - - // Enable turn and move actions - EnableAction(turn); - EnableAction(move); - - // Enable base controller components - SetBaseController(true); - break; - case StateID.Select: - break; - case StateID.Teleport: - case StateID.UI: - EnableAction(turn); - EnableAction(move); - SetBaseController(true); - break; - case StateID.Interact: - EnableAction(turn); - EnableAction(move); - break; - default: - Debug.Assert(false, $"Unhandled case when entering Select from {previousStateId}."); - break; - } - } - - private void OnExitSelectState(StateID nextStateId) - { - // Change controller and disable actions depending on the next state - switch (nextStateId) - { - case StateID.None: - case StateID.Select: - break; - case StateID.Teleport: - case StateID.UI: - DisableAction(turn); - DisableAction(move); - SetBaseController(false); - break; - case StateID.Interact: - DisableAction(turn); - DisableAction(move); - break; - default: - Debug.Assert(false, $"Unhandled case when exiting Select to {nextStateId}."); - break; - } - } - - private void OnEnterTeleportState(StateID previousStateId) => SetTeleportController(true); - - private void OnExitTeleportState(StateID nextStateId) => SetTeleportController(false); - - private void OnEnterInteractState(StateID previousStateId) - { - // Enable object control actions - EnableAction(translateAnchor); - EnableAction(rotateAnchor); - } - - private void OnExitInteractState(StateID nextStateId) - { - // Disable object control actions - DisableAction(translateAnchor); - DisableAction(rotateAnchor); - } - - private void OnEnterUIState(StateID previousStateId) => SetUIController(true); - - private void OnExitUIState(StateID nextStateId) => SetUIController(false); - - /// - /// This method is automatically called each frame to handle initiating transitions out of the Select state. - /// - private void OnUpdateSelectState() - { - if (IsInteractorInteracting()) - { - return; - } - - // Transition from Select state to Teleport state when the user triggers the "Teleport Mode Activate" action but not the "Cancel Teleport" action - InputAction teleportModeAction = GetInputAction(teleportModeActivate); - InputAction cancelTeleportModeAction = GetInputAction(teleportModeCancel); - InputAction uiModeAction = GetInputAction(uiModeActivate); - - bool isUIModeTriggered = uiModeAction != null && uiModeAction.triggered; - bool isTriggerTeleportMode = teleportModeAction != null && teleportModeAction.triggered; - bool shouldCancelTeleport = cancelTeleportModeAction != null && cancelTeleportModeAction.triggered; - - if (isUIModeTriggered) - { - TransitionState(selectState, uiState); - return; - } - else if (isTriggerTeleportMode && shouldCancelTeleport == false) - { - TransitionState(selectState, teleportState); - return; - } - - // Transition from Select state to Interact state when the interactor has a selectTarget - FindBaseControllerComponents(); - - if (baseXRInteractor.hasSelection) - { - TransitionState(selectState, interactState); - } - } - - /// - /// Updated every frame to handle the transition to m_SelectState state. - /// - private void OnUpdateTeleportState() - { - // Transition from Teleport state to Select state when we release the Teleport trigger or cancel Teleport mode - InputAction teleportModeAction = GetInputAction(teleportModeActivate); - InputAction cancelTeleportModeAction = GetInputAction(teleportModeCancel); - - bool shouldCancelTeleport = cancelTeleportModeAction != null && cancelTeleportModeAction.triggered; - bool isTeleportModeReleased = teleportModeAction != null && teleportModeAction.phase == InputActionPhase.Waiting; - - if (shouldCancelTeleport || isTeleportModeReleased) - { - TransitionState(teleportState, selectState); - } - } - - private void OnUpdateInteractState() - { - // Transition from Interact state to Select state when the base interactor no longer has a select target - if (baseXRInteractor.hasSelection == false) - { - TransitionState(interactState, selectState); - } - } - - private void OnUpdateUIState() - { - // Transition from UI state to Select state when we release the UI trigger - InputAction isUIModeTriggered = GetInputAction(uiModeActivate); - - bool isButtonReleased = isUIModeTriggered != null && isUIModeTriggered.phase == InputActionPhase.Waiting; - - if (isButtonReleased) - { - TransitionState(uiState, selectState); - } - } - - private void EnableAction(InputActionReference actionReference) - { - InputAction action = GetInputAction(actionReference); - - if (action != null && !action.enabled) - { - action.Enable(); - } - } - - private void DisableAction(InputActionReference actionReference) - { - InputAction action = GetInputAction(actionReference); - - if (action != null && action.enabled) - { - action.Disable(); - } - } - - private bool IsInteractorInteracting() - { - if (baseXRInteractor == null) - { - return false; - } - - return baseXRInteractor.interactablesHovered.Any() || baseXRInteractor.hasSelection; - } - - private InputAction GetInputAction(InputActionReference actionReference) - { - return actionReference != null ? actionReference.action : null; - } - } -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs.meta deleted file mode 100644 index d1ba7d2ea..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/ActionBasedControllerManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 41cc12ba1114e4f46929730a9389cb74 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs deleted file mode 100644 index 86fbd4ef3..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs +++ /dev/null @@ -1,553 +0,0 @@ -using System; -using System.ComponentModel; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.InputSystem; -using UnityEngine.XR.Interaction.Toolkit; -using System.Linq; - -namespace VRBuilder.XRInteraction -{ - /// - /// Use this class as a central manager to configure locomotion control schemes and configuration preferences. - /// - /// - /// Input bindings will often overlap between different locomotion methods, and this class can be used to - /// set binding masks which are used to determine which bindings of an action to enable and which to ignore. - /// - /// - /// Teleport (Input Action) - /// (1) Binding <XRController>{LeftHand}/PrimaryButton (Use in control scheme "Generic XR") - /// (2) Binding <XRController>{LeftHand}/Primary2DAxis (Use in control scheme "Noncontinuous Move") - /// Move (Input Action) - /// (3) Binding <XRController>{LeftHand}/Primary2DAxis (Use in control scheme "Continuous Move") - /// - /// Set ="Generic XR" - /// Set ="Noncontinuous Move" - /// Set ="Continuous Move" - /// Set to be both input actions (Teleport and Move). - /// - /// When =, - /// bindings (1) and (2) will be enabled, but binding (3) will be disabled. - /// - /// When =, - /// bindings (1) and (3) will be enabled, but binding (2) will be disabled. - /// - /// - public class LocomotionSchemeManager : MonoBehaviour - { - /// - /// Sets which movement control scheme to use. - /// - /// - public enum MoveSchemeType - { - /// - /// Use noncontinuous movement control scheme. - /// - Noncontinuous, - - /// - /// Use continuous movement control scheme. - /// - Continuous, - } - - /// - /// Sets which turn style of locomotion to use. - /// - /// - public enum TurnStyleType - { - /// - /// Use snap turning to rotate the direction you are facing by snapping by a specified angle. - /// - Snap, - - /// - /// Use continuous turning to smoothly rotate the direction you are facing by a specified speed. - /// - Continuous - } - - /// - /// Sets which orientation the forward direction of continuous movement is relative to. - /// - /// - /// - public enum MoveForwardSourceType - { - /// - /// Use to continuously move in a direction based on the head orientation. - /// - Head, - - /// - /// Use to continuously move in a direction based on the left hand orientation. - /// - LeftHand, - - /// - /// Use to continuously move in a direction based on the right hand orientation. - /// - RightHand, - } - - [SerializeField] - [Tooltip("Controls which movement control scheme to use.")] - private MoveSchemeType moveScheme; - - /// - /// Controls which movement control scheme to use. - /// - /// - public MoveSchemeType MoveScheme - { - get => moveScheme; - set - { - SetMoveScheme(value); - moveScheme = value; - } - } - - [SerializeField] - [Tooltip("Controls which turn style of locomotion to use.")] - private TurnStyleType turnStyle; - - /// - /// Controls which turn style of locomotion to use. - /// - /// - public TurnStyleType TurnStyle - { - get => turnStyle; - set - { - SetTurnStyle(value); - turnStyle = value; - } - } - - [SerializeField] - [Tooltip("Controls which orientation the forward direction of continuous movement is relative to.")] - private MoveForwardSourceType moveForwardSource; - - /// - /// Controls which orientation the forward direction of continuous movement is relative to. - /// - /// - public MoveForwardSourceType MoveForwardSource - { - get => moveForwardSource; - set - { - SetMoveForwardSource(value); - moveForwardSource = value; - } - } - - [SerializeField] - [Tooltip("Input action assets associated with locomotion to affect when the active movement control scheme is set." + - " Can use this list by itself or together with the Action Maps list to set control scheme masks by Asset or Map.")] - private List actionAssets; - - /// - /// Input action assets associated with locomotion to affect when the active movement control scheme is set. - /// Can use this list by itself or together with the Action Maps list to set control scheme masks by Asset or Map. - /// - /// - public List ActionAssets - { - get => actionAssets; - set => actionAssets = value; - } - - [SerializeField] - [Tooltip("Input action maps associated with locomotion to affect when the active movement control scheme is set." + - " Can use this list together with the Action Assets list to set control scheme masks by Map instead of the whole Asset.")] - private List actionMaps; - - /// - /// Input action maps associated with locomotion to affect when the active movement control scheme is set. - /// Can use this list together with the Action Assets list to set control scheme masks by Map instead of the whole Asset. - /// - /// - public List ActionMaps - { - get => actionMaps; - set => actionMaps = value; - } - - [SerializeField] - [Tooltip("Input actions associated with locomotion to affect when the active movement control scheme is set." + - " Can use this list to select exactly the actions to affect instead of setting control scheme masks by Asset or Map.")] - private List actions; - - /// - /// Input actions associated with locomotion that are affected by the active movement control scheme. - /// Can use this list to select exactly the actions to affect instead of setting control scheme masks by Asset or Map. - /// - /// - /// - public List Actions - { - get => actions; - set => actions = value; - } - - [SerializeField] - [Tooltip("Name of an input control scheme that defines the grouping of bindings that should remain enabled when applying any movement control scheme." + - " Control schemes are created and named in the Input Actions window. The other movement control schemes are applied additively to this scheme." + - " Can be an empty string, which means only bindings that match the specified movement control scheme will be enabled.")] - private string baseControlScheme; - - /// - /// Name of an input control scheme that defines the grouping of bindings that should remain enabled when applying any movement control scheme. - /// Control schemes are created and named in the Input Actions window. The other movement control schemes are applied additively to this scheme. - /// Can be an empty string, which means only bindings that match the specified movement control scheme will be enabled. - /// - public string BaseControlScheme - { - get => baseControlScheme; - set => baseControlScheme = value; - } - - [SerializeField] - [Tooltip("Name of an input control scheme that defines the grouping of bindings that should remain enabled when applying the noncontinuous movement control scheme." + - " Control schemes are created and named in the Input Actions window. Can be an empty string, which means only bindings that match the" + - " base control scheme will be enabled.")] - private string noncontinuousControlScheme; - - /// - /// Name of an input control scheme that defines the grouping of bindings that should remain enabled when applying the noncontinuous movement control scheme. - /// Control schemes are created and named in the Input Actions window. Can be an empty string, which means only bindings that match the - /// base control scheme will be enabled. - /// - public string NoncontinuousControlScheme - { - get => noncontinuousControlScheme; - set => noncontinuousControlScheme = value; - } - - [SerializeField] - [Tooltip("Name of an input control scheme that defines the grouping of bindings that should remain enabled when applying the continuous movement control scheme." + - " Control schemes are created and named in the Input Actions window. Can be an empty string, which means only bindings that match the" + - " base control scheme will be enabled.")] - private string continuousControlScheme; - - /// - /// Name of an input control scheme that defines the grouping of bindings that should remain enabled when applying the continuous movement control scheme. - /// Control schemes are created and named in the Input Actions window. Can be an empty string, which means only bindings that match the - /// base control scheme will be enabled. - /// - public string ContinuousControlScheme - { - get => continuousControlScheme; - set => continuousControlScheme = value; - } - - [SerializeField] - [Tooltip("Stores the locomotion provider for continuous movement.")] - private ContinuousMoveProviderBase continuousMoveProvider; - - /// - /// Stores the locomotion provider for continuous movement. - /// - /// - public ContinuousMoveProviderBase ContinuousMoveProvider - { - get => continuousMoveProvider; - set => continuousMoveProvider = value; - } - - [SerializeField] - [Tooltip("Stores the locomotion provider for continuous turning.")] - private ContinuousTurnProviderBase continuousTurnProvider; - - /// - /// Stores the locomotion provider for continuous turning. - /// - /// - public ContinuousTurnProviderBase ContinuousTurnProvider - { - get => continuousTurnProvider; - set => continuousTurnProvider = value; - } - - [SerializeField] - [Tooltip("Stores the locomotion provider for snap turning.")] - private SnapTurnProviderBase snapTurnProvider; - - /// - /// Stores the locomotion provider for snap turning. - /// - /// - public SnapTurnProviderBase SnapTurnProvider - { - get => snapTurnProvider; - set => snapTurnProvider = value; - } - - [SerializeField] - [Tooltip("Stores the \"Head\" Transform used with continuous movement when inputs should be relative to head orientation (usually the main camera).")] - private Transform headForwardSource; - - /// - /// Stores the "Head" used with continuous movement when inputs should be relative to head orientation (usually the main camera). - /// - public Transform HeadForwardSource - { - get => headForwardSource; - set => headForwardSource = value; - } - - [SerializeField] - [Tooltip("Stores the \"Left Hand\" Transform used with continuous movement when inputs should be relative to the left hand's orientation.")] - private Transform leftHandForwardSource; - - /// - /// Stores the "Left Hand" used with continuous movement when inputs should be relative to the left hand's orientation. - /// - public Transform LeftHandForwardSource - { - get => leftHandForwardSource; - set => leftHandForwardSource = value; - } - - [SerializeField] - [Tooltip("Stores the \"Right Hand\" Transform used with continuous movement when inputs should be relative to the right hand's orientation.")] - private Transform rightHandForwardSource; - - /// - /// Stores the "Right Hand" used with continuous movement when inputs should be relative to the right hand's orientation. - /// - public Transform RightHandForwardSource - { - get => rightHandForwardSource; - set => rightHandForwardSource = value; - } - - private void OnEnable() - { - SetMoveScheme(moveScheme); - SetTurnStyle(turnStyle); - SetMoveForwardSource(moveForwardSource); - } - - private void OnDisable() - { - if(FindObjectsOfType(true).Count() > 1) - { - return; - } - - ClearBindingMasks(); - } - - private void SetMoveScheme(MoveSchemeType scheme) - { - switch (scheme) - { - case MoveSchemeType.Noncontinuous: - SetBindingMasks(noncontinuousControlScheme); - - if (continuousMoveProvider != null) - { - continuousMoveProvider.enabled = false; - } - break; - case MoveSchemeType.Continuous: - SetBindingMasks(continuousControlScheme); - - if (continuousMoveProvider != null) - { - continuousMoveProvider.enabled = true; - } - break; - default: - throw new InvalidEnumArgumentException(nameof(scheme), (int)scheme, typeof(MoveSchemeType)); - } - } - - private void SetTurnStyle(TurnStyleType style) - { - if (style != TurnStyleType.Snap && style != TurnStyleType.Continuous) - { - throw new InvalidEnumArgumentException(nameof(style), (int)style, typeof(TurnStyleType)); - } - - if (continuousTurnProvider != null) - { - continuousTurnProvider.enabled = style != TurnStyleType.Snap; - } - - if (snapTurnProvider != null) - { - if (style == TurnStyleType.Snap) - { - // TODO: If the Continuous Turn and Snap Turn providers both use the same - // action, then disabling the first provider will cause the action to be - // disabled, so the action needs to be enabled, which is done by forcing - // the OnEnable() of the second provider to be called. - // ReSharper disable Unity.InefficientPropertyAccess - snapTurnProvider.enabled = false; - snapTurnProvider.enabled = true; - // ReSharper restore Unity.InefficientPropertyAccess - } - - snapTurnProvider.enableTurnLeftRight = style == TurnStyleType.Snap; - } - } - - private void SetMoveForwardSource(MoveForwardSourceType forwardSource) - { - if (continuousMoveProvider == null) - { - Debug.LogError($"Cannot set forward source to {forwardSource}, the reference to the {nameof(ContinuousMoveProviderBase)} is missing or the object has been destroyed.", this); - return; - } - - switch (forwardSource) - { - case MoveForwardSourceType.Head: - continuousMoveProvider.forwardSource = headForwardSource; - break; - case MoveForwardSourceType.LeftHand: - continuousMoveProvider.forwardSource = leftHandForwardSource; - break; - case MoveForwardSourceType.RightHand: - continuousMoveProvider.forwardSource = rightHandForwardSource; - break; - default: - throw new InvalidEnumArgumentException(nameof(forwardSource), (int)forwardSource, typeof(MoveForwardSourceType)); - } - } - - private void SetBindingMasks(string controlSchemeName) - { - foreach (InputActionReference actionReference in actions) - { - if (actionReference == null) - { - continue; - } - - InputAction action = actionReference.action; - - if (action == null) - { - Debug.LogError($"Cannot set binding mask on {actionReference} since the action could not be found.", this); - continue; - } - - // Get the (optional) base control scheme and the control scheme to apply on top of base - InputControlScheme? baseInputControlScheme = FindControlScheme(baseControlScheme, actionReference); - InputControlScheme? inputControlScheme = FindControlScheme(controlSchemeName, actionReference); - - action.bindingMask = GetBindingMask(baseInputControlScheme, inputControlScheme); - } - - if (actionMaps.Count > 0 && actionAssets.Count == 0) - { - Debug.LogError($"Cannot set binding mask on action maps since no input action asset references have been set.", this); - } - - foreach (InputActionAsset actionAsset in actionAssets) - { - if (actionAsset == null) - { - continue; - } - - // Get the (optional) base control scheme and the control scheme to apply on top of base - InputControlScheme? baseInputControlScheme = FindControlScheme(baseControlScheme, actionAsset); - InputControlScheme? inputControlScheme = FindControlScheme(controlSchemeName, actionAsset); - - if (actionMaps.Count == 0) - { - actionAsset.bindingMask = GetBindingMask(baseInputControlScheme, inputControlScheme); - continue; - } - - foreach (string mapName in actionMaps) - { - InputActionMap actionMap = actionAsset.FindActionMap(mapName); - - if (actionMap == null) - { - Debug.LogError($"Cannot set binding mask on \"{mapName}\" since the action map not be found in '{actionAsset}'.", this); - continue; - } - - actionMap.bindingMask = GetBindingMask(baseInputControlScheme, inputControlScheme); - } - } - } - - private void ClearBindingMasks() - { - SetBindingMasks(string.Empty); - } - - private InputControlScheme? FindControlScheme(string controlSchemeName, InputActionReference action) - { - if (action == null) - { - throw new ArgumentNullException(nameof(action)); - } - - if (string.IsNullOrEmpty(controlSchemeName)) - { - return null; - } - - InputActionAsset asset = action.asset; - - if (asset == null) - { - Debug.LogError($"Cannot find control scheme \"{controlSchemeName}\" for '{action}' since it does not belong to an {nameof(InputActionAsset)}.", this); - return null; - } - - return FindControlScheme(controlSchemeName, asset); - } - - private InputControlScheme? FindControlScheme(string controlSchemeName, InputActionAsset asset) - { - if (asset == null) - { - throw new ArgumentNullException(nameof(asset)); - } - - if (string.IsNullOrEmpty(controlSchemeName)) - { - return null; - } - - InputControlScheme? scheme = asset.FindControlScheme(controlSchemeName); - - if (scheme == null) - { - Debug.LogError($"Cannot find control scheme \"{controlSchemeName}\" in '{asset}'.", this); - return null; - } - - return scheme; - } - - private static InputBinding? GetBindingMask(InputControlScheme? baseInputControlScheme, InputControlScheme? inputControlScheme) - { - if (inputControlScheme.HasValue) - { - return baseInputControlScheme.HasValue - ? InputBinding.MaskByGroups(baseInputControlScheme.Value.bindingGroup, inputControlScheme.Value.bindingGroup) - : InputBinding.MaskByGroup(inputControlScheme.Value.bindingGroup); - } - - return baseInputControlScheme.HasValue - ? InputBinding.MaskByGroup(baseInputControlScheme.Value.bindingGroup) - : (InputBinding?)null; - } - } -} diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs.meta deleted file mode 100644 index 7647191e2..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based/LocomotionSchemeManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 58a9a7b4435e36f4fbc7000edd687974 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs deleted file mode 100644 index 0e60ee86f..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs +++ /dev/null @@ -1,417 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.XR; -using UnityEngine.XR.Interaction.Toolkit; -using Button = UnityEngine.XR.Interaction.Toolkit.InputHelpers.Button; - -namespace VRBuilder.XRInteraction -{ - /// - /// Handles controller states interactions. - /// Contains all methods for performing basic math functions. - /// - /// - /// Interaction - /// Used for selecting and interacting with objects. - /// - /// - /// Teleport - /// Used forteleport interactors and queue teleportations. - /// - /// - /// UI - /// Used for interacting with Unity.UI elements. - /// - /// - /// - [DefaultExecutionOrder(ControllerManagerUpdateOrder)] - public class ControllerManager : MonoBehaviour - { - // Slightly after the default, so that any actions such as release or grab can be processed *before* we switch controllers. - private const int ControllerManagerUpdateOrder = 10; - - public enum ControllerStates - { - /// - /// The Interaction state is used to interact with interactables. - /// - Interaction = 0, - - /// - /// The Teleport state is used to interact with teleport interactors and queue teleportations. - /// - Teleport = 1, - - /// - /// The UI state is used to interact with Unity.UI elements. - /// - UI = 2, - - /// - /// Maximum sentinel. - /// - Max = 3 - } - - /// - /// A simple state machine which manages the three pieces of content that are used to represent a - /// controller state within the XR Interaction Toolkit. - /// - public struct InteractorController - { - /// - /// The game object that this state controls - /// - private GameObject target; - - /// - /// The XR Controller instance that is associated with this state - /// - private XRController controller; - - /// - /// The Line renderer that is associated with this state - /// - private XRInteractorLineVisual lineRenderer; - - /// - /// The interactor instance that is associated with this state - /// - private XRBaseInteractor interactor; - - /// - /// When passed a gameObject, this function will scrape the game object for all valid components that we will - /// interact with by enabling/disabling as the state changes - /// - /// The game object to scrape the various components from - public void Attach(GameObject gameObject) - { - target = gameObject; - - if (target != null) - { - controller = target.GetComponent(); - lineRenderer = target.GetComponent(); - interactor = target.GetComponent(); - - Leave(); - } - } - - /// - /// Enter this state, performs a set of changes to the associated components to enable things - /// - public void Enter() - { - if (lineRenderer != null) - { - lineRenderer.enabled = true; - } - - if (controller != null) - { - controller.enableInputActions = true; - } - - if (interactor != null) - { - interactor.enabled = true; - } - } - - /// - /// Leaves this state, performs a set of changes to the associate components to disable things. - /// - public void Leave() - { - if (lineRenderer != null) - { - lineRenderer.enabled = false; - } - - if (controller != null) - { - controller.enableInputActions = false; - } - - if (interactor != null) - { - interactor.enabled = false; - } - } - - /// - /// True if the interactor is either touching or grabbing an interactable. - /// - public bool IsInteractorInteracting() - { - if (interactor == null) - { - return false; - } - - return interactor.interactablesHovered.Any() || interactor.hasSelection; - } - } - - /// - /// Current status of a controller. there will be two instances of this (for left/right). and this allows - /// the system to change between different states on each controller independently. - /// - public struct ControllerState - { - private ControllerStates currentState; - private InteractorController[] interactors; - - /// - /// Sets up the controller - /// - public void Initialize() - { - currentState = ControllerStates.Max; - interactors = new InteractorController[(int) ControllerStates.Max]; - } - - /// - /// Exits from all states that are in the list, basically a reset. - /// - public void ClearAll() - { - if (interactors == null) - { - return; - } - - for (int i = 0; i < (int) ControllerStates.Max; ++i) - { - interactors[i].Leave(); - } - } - - /// - /// Attaches a game object that represents an interactor for a state, to a state. - /// - /// The state that we're attaching the game object to - /// The game object that represents the interactor for that state. - public void SetGameObject(ControllerStates state, GameObject parentGamObject) - { - if (state == ControllerStates.Max || interactors == null) - { - return; - } - - interactors[(int) state].Attach(parentGamObject); - } - - /// - /// Attempts to set the current state of a controller. - /// - /// The state that we wish to transition to - public void SetState(ControllerStates nextState) - { - if (nextState == currentState || nextState == ControllerStates.Max) - { - return; - } - - if (currentState != ControllerStates.Max) - { - interactors[(int) currentState].Leave(); - } - - currentState = nextState; - interactors[(int) currentState].Enter(); - } - - /// - /// True if the interactor from given is either touching or grabbing an interactable. - /// - /// - public bool IsControllerInteracting(ControllerStates controller) - { - if (controller == ControllerStates.Max) - { - return false; - } - - return interactors[(int) controller].IsInteractorInteracting(); - } - } - - [Header("XR Interaction Controllers")] - [SerializeField] - [Tooltip("The Game Object which represents the right hand for normal interaction purposes.")] - private GameObject rightBaseController = null; - - [SerializeField] [Tooltip("The Game Object which represents the left hand for normal interaction purposes.")] - private GameObject leftBaseController = null; - - [Header("Teleportation Controllers")] - [SerializeField] - [Tooltip("The Game Object which represents the right hand when teleporting.")] - private GameObject rightTeleportController = null; - - [SerializeField] [Tooltip("The Game Object which represents the left hand when teleporting.")] - private GameObject leftTeleportController = null; - - [SerializeField] - [Tooltip("The buttons on the controller that will trigger a transition to the Teleport Controller.")] - private Button teleportButton = default; - - [SerializeField] - [Tooltip("The buttons on the controller that will force a deactivation of the teleport option.")] - private Button cancelTeleportButton = default; - - [Header("UI Interaction Controllers")] - [SerializeField] - [Tooltip("The Game Object which represents the right hand when teleporting.")] - private GameObject rightUIController = null; - - [SerializeField] [Tooltip("The Game Object which represents the left hand when teleporting.")] - private GameObject leftUIController = null; - - [SerializeField] - [Tooltip("The buttons on the controller that will force a deactivation of the teleport option.")] - private Button UIButton = default; - - /// - /// The buttons on the controller that will trigger a transition to the Teleport Controller. - /// - public Button TeleportButton - { - get => teleportButton; - set => teleportButton = value; - } - - /// - /// The buttons on the controller that will trigger a transition to the Teleport Controller. - /// - public Button CancelTeleportButton - { - get => cancelTeleportButton; - set => cancelTeleportButton = value; - } - - /// - /// The Game Object which represents the left hand for normal interaction purposes. - /// - public GameObject LeftBaseController - { - get => leftBaseController; - set => leftBaseController = value; - } - - /// - /// The Game Object which represents the left hand when teleporting. - /// - public GameObject LeftTeleportController - { - get => leftTeleportController; - set => leftTeleportController = value; - } - - /// - /// The Game Object which represents the right hand for normal interaction purposes. - /// - public GameObject RightBaseController - { - get => rightBaseController; - set => rightBaseController = value; - } - - /// - /// The Game Object which represents the right hand when teleporting. - /// - public GameObject RightTeleportController - { - get => rightTeleportController; - set => rightTeleportController = value; - } - - private InputDevice rightController; - private InputDevice leftController; - private ControllerState rightControllerState; - private ControllerState leftControllerState; - - private void OnEnable() - { - rightControllerState.Initialize(); - leftControllerState.Initialize(); - - rightControllerState.SetGameObject(ControllerStates.Interaction, rightBaseController); - rightControllerState.SetGameObject(ControllerStates.Teleport, rightTeleportController); - rightControllerState.SetGameObject(ControllerStates.UI, rightUIController); - - leftControllerState.SetGameObject(ControllerStates.Interaction, leftBaseController); - leftControllerState.SetGameObject(ControllerStates.Teleport, leftTeleportController); - leftControllerState.SetGameObject(ControllerStates.UI, leftUIController); - - leftControllerState.ClearAll(); - rightControllerState.ClearAll(); - - InputDevices.deviceConnected += RegisterDevices; - List devices = new List(); - InputDevices.GetDevices(devices); - - foreach (InputDevice device in devices) - { - RegisterDevices(device); - } - } - - private void OnDisable() - { - InputDevices.deviceConnected -= RegisterDevices; - } - - private void Update() - { - ProcessController(leftController, ref leftControllerState); - ProcessController(rightController, ref rightControllerState); - } - - private void RegisterDevices(InputDevice connectedDevice) - { - if (connectedDevice.isValid) - { - if ((connectedDevice.characteristics & InputDeviceCharacteristics.Left) != 0) - { - leftController = connectedDevice; - leftControllerState.ClearAll(); - leftControllerState.SetState(ControllerStates.Interaction); - } - else if ((connectedDevice.characteristics & InputDeviceCharacteristics.Right) != 0) - { - rightController = connectedDevice; - rightControllerState.ClearAll(); - rightControllerState.SetState(ControllerStates.Interaction); - } - } - } - - private void ProcessController(InputDevice controller, ref ControllerState controllerState) - { - if (controller.isValid == false || controllerState.IsControllerInteracting(ControllerStates.Interaction)) - { - return; - } - - controller.IsPressed(teleportButton, out bool activateTeleportationMode); - controller.IsPressed(cancelTeleportButton, out bool cancelTeleportationMode); - controller.IsPressed(UIButton, out bool activateUIMode); - ControllerStates nextState = ControllerStates.Interaction; - - if (activateUIMode) - { - nextState = ControllerStates.UI; - } - else if (activateTeleportationMode && cancelTeleportationMode == false) - { - nextState = ControllerStates.Teleport; - } - - controllerState.SetState(nextState); - } - } -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs.meta deleted file mode 100644 index 4e9dc05ca..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based/ControllerManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ba706e5cce610884ab194e68db6a910e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/InteractableObject.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/InteractableObject.cs index d1a6bc8c4..c3244e947 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/InteractableObject.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/InteractableObject.cs @@ -2,6 +2,8 @@ using System.Linq; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; +using UnityEngine.XR.Interaction.Toolkit.Interactables; using VRBuilder.BasicInteraction; namespace VRBuilder.XRInteraction diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorProximityEntry.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorProximityEntry.cs index 603e5c0cd..d8704ab65 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorProximityEntry.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorProximityEntry.cs @@ -1,5 +1,5 @@ using UnityEngine; -using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using VRBuilder.Core.Properties; namespace VRBuilder.XRInteraction diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorVRBuilder.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorVRBuilder.cs index 6a71cd570..7f0384b6c 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorVRBuilder.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAnchorVRBuilder.cs @@ -1,5 +1,7 @@ using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using VRBuilder.Core.Setup; namespace VRBuilder.XRInteraction diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAreaVRBuilder.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAreaVRBuilder.cs index 0fe8accd0..14c9dd6ee 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAreaVRBuilder.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactables/TeleportationAreaVRBuilder.cs @@ -1,5 +1,7 @@ using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using VRBuilder.Core.Setup; namespace VRBuilder.XRInteraction @@ -18,7 +20,7 @@ protected override void Reset() { base.Reset(); - teleportTrigger = TeleportTrigger.OnDeactivated; + teleportTrigger = TeleportTrigger.OnSelectExited; } /// diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/DirectInteractor.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/DirectInteractor.cs index 61f623bad..45b8ba391 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/DirectInteractor.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/DirectInteractor.cs @@ -1,5 +1,5 @@ -using UnityEngine; -using UnityEngine.XR.Interaction.Toolkit; +using System; +using UnityEngine.XR.Interaction.Toolkit.Interactors; namespace VRBuilder.XRInteraction { @@ -9,34 +9,15 @@ namespace VRBuilder.XRInteraction /// set to be a trigger to work. /// /// Adds extra control over applicable interactions. + [Obsolete] public partial class DirectInteractor : XRDirectInteractor { - [SerializeField] - private bool precisionGrab = true; - /// - /// Toggles precision grab on this interactor. - /// - public bool PrecisionGrab - { - get { return precisionGrab; } - set - { - attachTransform.localPosition = initialAttachPosition; - attachTransform.localRotation = initialAttachRotation; - precisionGrab = value; - } - } - - private Vector3 initialAttachPosition; - private Quaternion initialAttachRotation; private bool forceGrab; protected override void Awake() { base.Awake(); - initialAttachPosition = attachTransform.localPosition; - initialAttachRotation = attachTransform.localRotation; } /// @@ -64,58 +45,5 @@ public virtual void AttemptGrab() { forceGrab = true; } - - /// - /// This method is called by the Interaction Manager - /// right before the Interactor first initiates selection of an Interactable - /// in a first pass. - /// - /// Event data containing the Interactable that is being selected. - /// - /// is only valid during this method call, do not hold a reference to it. - /// - /// - protected override void OnSelectEntering(SelectEnterEventArgs arguments) - { - InteractableObject interactableObject = arguments.interactableObject as InteractableObject; - - if (precisionGrab && interactableObject != null && interactableObject.attachTransform == null) - { - switch (interactableObject.movementType) - { - case XRBaseInteractable.MovementType.VelocityTracking: - case XRBaseInteractable.MovementType.Kinematic: - attachTransform.SetPositionAndRotation(interactableObject.transform.position, interactableObject.transform.rotation); - break; - case XRBaseInteractable.MovementType.Instantaneous: - Debug.LogWarning("Precision Grab is currently not compatible with interactable objects with Movement Type configured as Instantaneous.\n" - + $"Please change the Movement Type in {interactableObject.name}.", interactableObject); - break; - } - } - - base.OnSelectEntering(arguments); - } - - /// - /// This method is called by the Interaction Manager - /// right before the Interactor ends selection of an Interactable - /// in a first pass. - /// - /// Event data containing the Interactable that is no longer selected. - /// - /// is only valid during this method call, do not hold a reference to it. - /// - /// - protected override void OnSelectExiting(SelectExitEventArgs arguments) - { - base.OnSelectExiting(arguments); - - if (precisionGrab) - { - attachTransform.localPosition = initialAttachPosition; - attachTransform.localRotation = initialAttachRotation; - } - } } } diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs deleted file mode 100644 index 624b7b769..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs +++ /dev/null @@ -1,40 +0,0 @@ -using UnityEngine.XR.Interaction.Toolkit; - -namespace VRBuilder.XRInteraction -{ - /// - /// Interactor used for interacting with interactables at a distance. This is handled via raycasts - /// that update the current set of valid targets for this interactor. - /// - /// Adds extra control over applicable interactions. - public partial class RayInteractor : XRRayInteractor - { - private bool forceGrab; - - /// - /// Gets whether the selection state is active for this interactor. This will check if the controller has a valid selection - /// state or whether toggle selection is currently on and active. - /// - public override bool isSelectActive - { - get - { - if (forceGrab) - { - forceGrab = false; - return true; - } - - return base.isSelectActive; - } - } - - /// - /// Attempts to grab an interactable hovering this interactor without needing to press the grab button on the controller. - /// - public virtual void AttemptGrab() - { - forceGrab = true; - } - } -} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs.meta deleted file mode 100644 index 0bfe70fd3..000000000 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/RayInteractor.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 203357f2f04686b4c860a9361fd12c36 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/SnapZone.cs b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/SnapZone.cs index f0d5c0f47..a273a3440 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/SnapZone.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Interaction/Interactors/SnapZone.cs @@ -4,6 +4,7 @@ using UnityEngine; using UnityEngine.Rendering; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; using VRBuilder.BasicInteraction; using VRBuilder.BasicInteraction.Properties; using VRBuilder.BasicInteraction.Validation; @@ -127,12 +128,12 @@ public Material InvalidMaterial /// /// Forces the socket interactor to unselect the given target, if it is not null. /// - protected IXRSelectInteractable ForceUnselectInteractable { get; set; } + protected UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable ForceUnselectInteractable { get; set; } /// /// Forces the socket interactor to unselect the given target, if it is not null. /// - protected IXRSelectInteractable ForceSelectInteractable { get; set; } + protected UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable ForceSelectInteractable { get; set; } /// /// True when an object is about to be snapped to the snapzone. @@ -145,6 +146,7 @@ public Material InvalidMaterial public bool IsUnsnapping => ForceUnselectInteractable != null; [SerializeField] + [Tooltip("The preview mesh used for this SnapZone.")] private Mesh previewMesh; /// @@ -169,7 +171,7 @@ public Mesh PreviewMesh private Material activeMaterial; private Vector3 tmpCenterOfMass; private List validators = new List(); - private readonly List snapZoneHoverTargets = new List(); + private readonly List snapZoneHoverTargets = new List(); protected override void Awake() { @@ -199,7 +201,7 @@ protected override void Awake() } } - internal void AddHoveredInteractable(XRBaseInteractable interactable) + internal void AddHoveredInteractable(UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable interactable) { if (interactable != null) { @@ -210,7 +212,7 @@ internal void AddHoveredInteractable(XRBaseInteractable interactable) } } - internal void RemoveHoveredInteractable(XRBaseInteractable interactable) + internal void RemoveHoveredInteractable(UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable interactable) { snapZoneHoverTargets.Remove(interactable); } @@ -237,7 +239,7 @@ protected override void OnDisable() private void OnAttach(SelectEnterEventArgs arguments) { - IXRSelectInteractable interactable = arguments.interactableObject; + UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable interactable = arguments.interactableObject; if (interactable != null) { @@ -249,7 +251,7 @@ private void OnAttach(SelectEnterEventArgs arguments) private void OnDetach(SelectExitEventArgs arguments) { - IXRSelectInteractable interactable = arguments.interactableObject; + UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable interactable = arguments.interactableObject; if (interactable != null) { @@ -416,15 +418,13 @@ private void CheckForReleasedHoverTargets() return; } - foreach (XRBaseInteractable target in snapZoneHoverTargets) + foreach (UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable target in snapZoneHoverTargets) { if (interactablesHovered.Contains(target) || target.isSelected) { continue; } -#pragma warning disable 618 - if (CanSelect(target)) -#pragma warning restore 618 + if (CanSelect(target as UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable)) { ForceSelect(target); return; @@ -515,7 +515,7 @@ public virtual void ForceUnselect() /// Unselects any selected interactable object and forces the provided interactable object to be selected if it is selectable. /// /// Interactable object to be selected. - public virtual void ForceSelect(IXRSelectInteractable interactable) + public virtual void ForceSelect(UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable interactable) { ForceUnselect(); @@ -536,12 +536,12 @@ public virtual void ForceSelect(IXRSelectInteractable interactable) /// Interactable to check. /// true if the interactable can be selected this frame. /// Adds the functionality of selecting and unselecting specific interactables. - public override bool CanSelect(IXRSelectInteractable interactable) + public override bool CanSelect(UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable interactable) { return IsValidSnapTarget(interactable) && base.CanSelect(interactable); } - protected bool IsValidSnapTarget(IXRSelectInteractable interactable) + protected bool IsValidSnapTarget(UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable interactable) { // If one specific target should be unselected, if (ForceUnselectInteractable == interactable) @@ -577,7 +577,7 @@ protected bool IsValidSnapTarget(IXRSelectInteractable interactable) /// public bool CanSnap(ISnappableProperty target) { - IXRSelectInteractable interactableObject = target.SceneObject.GameObject.GetComponent(); + UnityEngine.XR.Interaction.Toolkit.Interactables.IXRSelectInteractable interactableObject = target.SceneObject.GameObject.GetComponent(); if (interactableObject == null) { @@ -590,7 +590,7 @@ public bool CanSnap(ISnappableProperty target) /// public bool ForceSnap(ISnappableProperty target) { - XRBaseInteractable interactableObject = target.SceneObject.GameObject.GetComponent(); + UnityEngine.XR.Interaction.Toolkit.Interactables.XRBaseInteractable interactableObject = target.SceneObject.GameObject.GetComponent(); if (interactableObject == null) { diff --git a/Source/XR-Interaction-Component/Source/Runtime/Locomotion/RigManipulationProvider.cs b/Source/XR-Interaction-Component/Source/Runtime/Locomotion/RigManipulationProvider.cs index 2ef0ec963..0299fa6cb 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Locomotion/RigManipulationProvider.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Locomotion/RigManipulationProvider.cs @@ -1,6 +1,6 @@ using Unity.XR.CoreUtils; using UnityEngine; -using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Locomotion; namespace VRBuilder.XRInteraction { @@ -20,14 +20,14 @@ public void SetRigPositionAndRotation(Vector3 destinationPosition, Quaternion de { return; } - + XROrigin xrOrigin = system.xrOrigin; - + if (xrOrigin != null) { Vector3 heightAdjustment = xrOrigin.Origin.transform.up * xrOrigin.CameraInOriginSpaceHeight; Vector3 cameraDestination = destinationPosition + heightAdjustment; - + xrOrigin.MatchOriginUpCameraForward(destinationRotation * Vector3.up, destinationRotation * Vector3.forward); xrOrigin.MoveCameraToWorldLocation(cameraDestination); } diff --git a/Source/XR-Interaction-Component/Source/Runtime/Properties/GrabbableProperty.cs b/Source/XR-Interaction-Component/Source/Runtime/Properties/GrabbableProperty.cs index 0a2de6f28..bf6dc8f5e 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Properties/GrabbableProperty.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Properties/GrabbableProperty.cs @@ -2,6 +2,7 @@ using UnityEngine; using UnityEngine.Events; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; using VRBuilder.BasicInteraction.Properties; using VRBuilder.Core.Properties; using VRBuilder.Core.Settings; diff --git a/Source/XR-Interaction-Component/Source/Runtime/Properties/SnapZoneProperty.cs b/Source/XR-Interaction-Component/Source/Runtime/Properties/SnapZoneProperty.cs index 717361d48..ea2f72435 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Properties/SnapZoneProperty.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Properties/SnapZoneProperty.cs @@ -1,6 +1,7 @@ using UnityEngine; using UnityEngine.Events; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactables; using VRBuilder.BasicInteraction.Properties; using VRBuilder.Core.Configuration.Modes; using VRBuilder.Core.Properties; diff --git a/Source/XR-Interaction-Component/Source/Runtime/Properties/SnappableProperty.cs b/Source/XR-Interaction-Component/Source/Runtime/Properties/SnappableProperty.cs index a85fa4f89..60d5baeb5 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Properties/SnappableProperty.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Properties/SnappableProperty.cs @@ -1,6 +1,8 @@ using UnityEngine; using UnityEngine.Events; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; +using UnityEngine.XR.Interaction.Toolkit.Interactables; using VRBuilder.BasicInteraction.Properties; using VRBuilder.Core.Properties; diff --git a/Source/XR-Interaction-Component/Source/Runtime/Properties/TeleportationProperty.cs b/Source/XR-Interaction-Component/Source/Runtime/Properties/TeleportationProperty.cs index 18727d70c..c9b10cbf5 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Properties/TeleportationProperty.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Properties/TeleportationProperty.cs @@ -1,10 +1,10 @@ // Copyright (c) 2013-2019 Innoactive GmbH // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH - using UnityEngine; using UnityEngine.Events; -using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactables; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; using VRBuilder.BasicInteraction.Properties; using VRBuilder.XRInteraction; @@ -39,12 +39,14 @@ public class TeleportationProperty : LockableProperty, ITeleportationProperty private TeleportationAnchor teleportationInteractable; private Renderer[] renderers; + private XRInteractableSnapVolume[] snapVolumes; private bool wasUsedToTeleport; private bool active; protected void Awake() { renderers = GetComponentsInChildren(); + snapVolumes = GetComponentsInChildren(); teleportationInteractable = GetComponent(); } @@ -110,6 +112,14 @@ protected override void InternalSetLocked(bool lockState) anchorRenderer.enabled = !lockState; } } + + if (snapVolumes != null) + { + foreach (XRInteractableSnapVolume snapVolume in snapVolumes) + { + snapVolume.enabled = !lockState; + } + } } protected virtual void EmitTeleported(TeleportingEventArgs args) diff --git a/Source/XR-Interaction-Component/Source/Runtime/Properties/TouchableProperty.cs b/Source/XR-Interaction-Component/Source/Runtime/Properties/TouchableProperty.cs index d21cc6037..4292e04c0 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Properties/TouchableProperty.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Properties/TouchableProperty.cs @@ -1,6 +1,8 @@ using UnityEngine; using UnityEngine.Events; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Filtering; +using UnityEngine.XR.Interaction.Toolkit.Interactors; using VRBuilder.BasicInteraction.Properties; using VRBuilder.Core.Properties; @@ -9,7 +11,7 @@ namespace VRBuilder.XRInteraction.Properties /// /// XR implementation of . /// - [RequireComponent(typeof(InteractableObject))] + [RequireComponent(typeof(InteractableObject), typeof(XRPokeFilter))] public class TouchableProperty : LockableProperty, ITouchableProperty { [Header("Events")] @@ -40,7 +42,24 @@ protected InteractableObject Interactable } } + /// + /// Reference to attached . + /// + protected XRPokeFilter PokeFilter + { + get + { + if (pokeFilter == false) + { + pokeFilter = GetComponent(); + } + + return pokeFilter; + } + } + private InteractableObject interactable; + private XRPokeFilter pokeFilter; /// public UnityEvent TouchStarted => touchStarted; @@ -72,15 +91,31 @@ protected override void OnDisable() protected override void Reset() { base.Reset(); + SetComponentDefaultValues(); + + if (PokeFilter.pokeCollider == null) + { + Debug.LogWarning($"TouchableProperty on {this.gameObject.name} requires a Collider assigned to the XRPokeFilter to work correctly."); + } + } + + private void SetComponentDefaultValues() + { + Interactable.IsTouchable = true; Interactable.IsGrabbable = GetComponent() != null; Interactable.IsUsable = GetComponent() != null; gameObject.GetComponent().isKinematic = true; + + PokeThresholdDatumProperty config = PokeFilter.pokeConfiguration; + config.Value.pokeDirection = PokeAxis.None; + config.Value.enablePokeAngleThreshold = false; + PokeFilter.pokeConfiguration = config; } private void HandleXRTouched(HoverEnterEventArgs arguments) { - if (arguments.interactorObject is XRDirectInteractor) + if (arguments.interactorObject is XRPokeInteractor) { IsBeingTouched = true; EmitTouched(); @@ -89,7 +124,7 @@ private void HandleXRTouched(HoverEnterEventArgs arguments) private void HandleXRUntouched(HoverExitEventArgs arguments) { - if (arguments.interactorObject is XRDirectInteractor) + if (arguments.interactorObject is XRPokeInteractor) { IsBeingTouched = false; EmitUntouched(); diff --git a/Source/XR-Interaction-Component/Source/Runtime/Rigs/XRSetupBase.cs b/Source/XR-Interaction-Component/Source/Runtime/Rigs/XRSetupBase.cs index 0625f4b92..d3711f273 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Rigs/XRSetupBase.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/Rigs/XRSetupBase.cs @@ -7,16 +7,16 @@ namespace VRBuilder.Components.Runtime.Rigs public abstract class XRSetupBase : InteractionRigProvider { protected readonly bool IsPrefabMissing; - + public XRSetupBase() { IsPrefabMissing = Resources.Load(PrefabName) == null; Resources.UnloadUnusedAssets(); } - + protected bool IsEventManagerInScene() { - return Object.FindObjectOfType() != null; + return Object.FindFirstObjectByType() != null; } } } \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/User/InteractorLayerConfigurator.cs b/Source/XR-Interaction-Component/Source/Runtime/User/InteractorLayerConfigurator.cs index dc92607f6..53966d391 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/User/InteractorLayerConfigurator.cs +++ b/Source/XR-Interaction-Component/Source/Runtime/User/InteractorLayerConfigurator.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; using VRBuilder.Core.Setup; namespace VRBuilder.XRInteraction.User diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI.meta similarity index 77% rename from Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based.meta rename to Source/XR-Interaction-Component/Source/Runtime/XRI.meta index 746680be1..d5edb1dc3 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Action-based.meta +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 68241a9daa38fa8499f2fde2e2b6b198 +guid: 85da9336052f1be4ba287fe785cd947b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs b/Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs new file mode 100644 index 000000000..f2c486bd7 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs @@ -0,0 +1,144 @@ +using UnityEngine; +using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Climbing; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Teleportation; + +namespace VRBuilder.Components.Runtime.XRI +{ + /// + /// Affordance component used in conjunction with a to display an object + /// pointing at the target teleport destination while climbing. + /// + public class ClimbTeleportDestinationIndicator : MonoBehaviour + { + [SerializeField] + [Tooltip("The interactor that drives the display and placement of the pointer object.")] + ClimbTeleportInteractor m_ClimbTeleportInteractor; + + /// + /// The interactor that drives the display and placement of the pointer object. + /// + public ClimbTeleportInteractor climbTeleportInteractor + { + get => m_ClimbTeleportInteractor; + set => m_ClimbTeleportInteractor = value; + } + + [SerializeField] + [Tooltip("The prefab to spawn when a teleport destination is chosen. The instance will spawn next to the " + + "destination and point its forward vector at the destination and its up vector at the camera.")] + GameObject m_PointerPrefab; + + /// + /// The prefab to spawn when a teleport destination is chosen. The instance will spawn next to the destination + /// and point its forward vector at the destination and its up vector at the camera. + /// + public GameObject pointerPrefab + { + get => m_PointerPrefab; + set => m_PointerPrefab = value; + } + + [SerializeField] + [Tooltip("The distance from the destination at which the pointer object spawns.")] + float m_PointerDistance = 0.3f; + + /// + /// The distance from the destination at which the pointer object spawns. + /// + public float pointerDistance + { + get => m_PointerDistance; + set => m_PointerDistance = value; + } + + TeleportationMultiAnchorVolume m_ActiveTeleportVolume; + Transform m_PointerInstance; + + /// + /// See . + /// + protected void OnEnable() + { + if (m_ClimbTeleportInteractor == null) + { + if (!ComponentLocatorUtility.TryFindComponent(out m_ClimbTeleportInteractor)) + { + Debug.LogError($"Could not find {nameof(ClimbTeleportInteractor)} in scene."); + enabled = false; + return; + } + } + + m_ClimbTeleportInteractor.hoverEntered.AddListener(OnInteractorHoverEntered); + m_ClimbTeleportInteractor.hoverExited.AddListener(OnInteractorHoverExited); + } + + /// + /// See . + /// + protected void OnDisable() + { + HideIndicator(); + + if (m_ActiveTeleportVolume != null) + { + m_ActiveTeleportVolume.destinationAnchorChanged -= OnClimbTeleportDestinationAnchorChanged; + m_ActiveTeleportVolume = null; + } + + if (m_ClimbTeleportInteractor != null) + { + m_ClimbTeleportInteractor.hoverEntered.RemoveListener(OnInteractorHoverEntered); + m_ClimbTeleportInteractor.hoverExited.RemoveListener(OnInteractorHoverExited); + } + } + + void OnInteractorHoverEntered(HoverEnterEventArgs args) + { + if (m_ActiveTeleportVolume != null || !(args.interactableObject is TeleportationMultiAnchorVolume teleportVolume)) + return; + + m_ActiveTeleportVolume = teleportVolume; + if (m_ActiveTeleportVolume.destinationAnchor != null) + OnClimbTeleportDestinationAnchorChanged(m_ActiveTeleportVolume); + + m_ActiveTeleportVolume.destinationAnchorChanged += OnClimbTeleportDestinationAnchorChanged; + } + + void OnInteractorHoverExited(HoverExitEventArgs args) + { + if (!(args.interactableObject is TeleportationMultiAnchorVolume teleportVolume) || teleportVolume != m_ActiveTeleportVolume) + return; + + HideIndicator(); + m_ActiveTeleportVolume.destinationAnchorChanged -= OnClimbTeleportDestinationAnchorChanged; + m_ActiveTeleportVolume = null; + } + + void OnClimbTeleportDestinationAnchorChanged(TeleportationMultiAnchorVolume teleportVolume) + { + HideIndicator(); + + var destinationAnchor = teleportVolume.destinationAnchor; + if (destinationAnchor == null) + return; + + m_PointerInstance = Instantiate(m_PointerPrefab).transform; + var cameraTrans = teleportVolume.teleportationProvider.mediator.xrOrigin.Camera.transform; + var cameraPosition = cameraTrans.position; + var destinationPosition = destinationAnchor.position; + var destinationDirectionInScreenSpace = cameraTrans.InverseTransformDirection(destinationPosition - cameraPosition); + destinationDirectionInScreenSpace.z = 0f; + var pointerDirection = cameraTrans.TransformDirection(destinationDirectionInScreenSpace).normalized; + m_PointerInstance.position = destinationPosition - pointerDirection * m_PointerDistance; + m_PointerInstance.rotation = Quaternion.LookRotation(pointerDirection, -cameraTrans.forward); + } + + void HideIndicator() + { + if (m_PointerInstance != null) + Destroy(m_PointerInstance.gameObject); + } + } +} diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs.meta new file mode 100644 index 000000000..32bed00b8 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 403f8ba1dc82bb842b2dd5de318ed2ab \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs b/Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs new file mode 100644 index 000000000..59c023d40 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs @@ -0,0 +1,111 @@ +using UnityEngine; + +namespace VRBuilder.Components.Runtime.XRI +{ + /// + /// Utility methods for locating component instances. + /// + /// The component type. + public static class ComponentLocatorUtility where T : Component + { + /// + /// Cached reference to a found component of type . + /// + static T s_ComponentCache; + + /// + /// Cached reference to a found component of type . + /// + internal static T componentCache => s_ComponentCache; + + /// + /// Last frame that was called. + /// + static int s_LastTryFindFrame = -1; + + static bool FindWasPerformedThisFrame() => s_LastTryFindFrame == Time.frameCount; + + /// + /// Find or create a new GameObject with component . + /// + /// Returns the found or created component. + /// + /// Does not include inactive GameObjects when finding the component, but if a component was previously created + /// as a direct result of this class, it will return that component even if the GameObject is now inactive. + /// + public static T FindOrCreateComponent() + { + if (s_ComponentCache == null) + { + s_ComponentCache = Find(); + + if (s_ComponentCache == null) + s_ComponentCache = new GameObject(typeof(T).Name, typeof(T)).GetComponent(); + } + + return s_ComponentCache; + } + + /// + /// Find a component . + /// + /// Returns the found component, or if one could not be found. + /// + /// Does not include inactive GameObjects when finding the component, but if a component was previously created + /// as a direct result of this class, it will return that component even if the GameObject is now inactive. + /// + public static T FindComponent() + { + TryFindComponent(out var component); + return component; + } + + /// + /// Find a component . + /// + /// When this method returns, contains the found component, or if one could not be found. + /// Returns if the component exists, otherwise returns . + /// + /// Does not include inactive GameObjects when finding the component, but if a component was previously created + /// as a direct result of this class, it will return that component even if the GameObject is now inactive. + /// + /// + public static bool TryFindComponent(out T component) + { + if (s_ComponentCache != null) + { + component = s_ComponentCache; + return true; + } + + s_ComponentCache = Find(); + component = s_ComponentCache; + return component != null; + } + + /// + /// Find a component . + /// + /// When this method returns, contains the found component, or if one could not be found. + /// If , this method will only perform if it has not already been unsuccessfully called this frame. + /// Returns if the component exists, otherwise returns . + /// This function will return a cached component from a previous search regardless if is . + internal static bool TryFindComponent(out T component, bool limitTryFindPerFrame) + { + // If a search for this component has already been unsuccessfully performed this frame, don't search again. + if (limitTryFindPerFrame && FindWasPerformedThisFrame() && s_ComponentCache == null) + { + component = null; + return false; + } + return TryFindComponent(out component); + } + + static T Find() + { + s_LastTryFindFrame = Time.frameCount; + + return Object.FindFirstObjectByType(); + } + } +} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs.meta new file mode 100644 index 000000000..65d6dcfbc --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d8551c3f3d60c7040b806d80f2e014b6 \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs new file mode 100644 index 000000000..4eeea6ee8 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs @@ -0,0 +1,85 @@ +using UnityEngine; +using UnityEngine.XR.Interaction.Toolkit.Inputs.Readers; + +namespace VRBuilder.Components.Runtime.XRIStarterAssets +{ + /// + /// Component which reads input values and drives the thumbstick, trigger, and grip transforms + /// to animate a controller model. + /// + public class ControllerAnimator : MonoBehaviour + { + [Header("Thumbstick")] + [SerializeField] + Transform m_ThumbstickTransform; + + [SerializeField] + Vector2 m_StickRotationRange = new Vector2(30f, 30f); + + [SerializeField] + XRInputValueReader m_StickInput = new XRInputValueReader("Thumbstick"); + + [Header("Trigger")] + [SerializeField] + Transform m_TriggerTransform; + + [SerializeField] + Vector2 m_TriggerXAxisRotationRange = new Vector2(0f, -15f); + + [SerializeField] + XRInputValueReader m_TriggerInput = new XRInputValueReader("Trigger"); + + [Header("Grip")] + [SerializeField] + Transform m_GripTransform; + + [SerializeField] + Vector2 m_GripRightRange = new Vector2(-0.0125f, -0.011f); + + [SerializeField] + XRInputValueReader m_GripInput = new XRInputValueReader("Grip"); + + void OnEnable() + { + if (m_ThumbstickTransform == null || m_GripTransform == null || m_TriggerTransform == null) + { + enabled = false; + Debug.LogWarning($"Controller Animator component missing references on {gameObject.name}", this); + return; + } + + m_StickInput?.EnableDirectActionIfModeUsed(); + m_TriggerInput?.EnableDirectActionIfModeUsed(); + m_GripInput?.EnableDirectActionIfModeUsed(); + } + + void OnDisable() + { + m_StickInput?.DisableDirectActionIfModeUsed(); + m_TriggerInput?.DisableDirectActionIfModeUsed(); + m_GripInput?.DisableDirectActionIfModeUsed(); + } + + void Update() + { + if (m_StickInput != null) + { + var stickVal = m_StickInput.ReadValue(); + m_ThumbstickTransform.localRotation = Quaternion.Euler(-stickVal.y * m_StickRotationRange.x, 0f, -stickVal.x * m_StickRotationRange.y); + } + + if (m_TriggerInput != null) + { + var triggerVal = m_TriggerInput.ReadValue(); + m_TriggerTransform.localRotation = Quaternion.Euler(Mathf.Lerp(m_TriggerXAxisRotationRange.x, m_TriggerXAxisRotationRange.y, triggerVal), 0f, 0f); + } + + if (m_GripInput != null) + { + var gripVal = m_GripInput.ReadValue(); + var currentPos = m_GripTransform.localPosition; + m_GripTransform.localPosition = new Vector3(Mathf.Lerp(m_GripRightRange.x, m_GripRightRange.y, gripVal), currentPos.y, currentPos.z); + } + } + } +} \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs.meta new file mode 100644 index 000000000..e3393415b --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerAnimator.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 099767effc44a8e478d295d0c4d98289 \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs new file mode 100644 index 000000000..9f83239ba --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs @@ -0,0 +1,464 @@ +using System.Collections.Generic; +using Unity.XR.CoreUtils.Bindings; +using UnityEngine; +using UnityEngine.Events; +using UnityEngine.InputSystem; +using UnityEngine.Serialization; +using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactors; +using UnityEngine.XR.Interaction.Toolkit.UI; + +namespace VRBuilder.Components.Runtime.XRIStarterAssets +{ + /// + /// Use this class to mediate the interactors for a controller under different interaction states + /// and the input actions used by them. + /// + /// + /// If the teleport ray input is engaged, the Ray Interactor used for distant manipulation is disabled + /// and the Ray Interactor used for teleportation is enabled. If the Ray Interactor is selecting and it + /// is configured to allow for attach transform manipulation, all locomotion input actions are disabled + /// (teleport ray, move, and turn controls) to prevent input collision with the manipulation inputs used + /// by the ray interactor. + ///
+ /// A typical hierarchy also includes an XR Interaction Group component to mediate between interactors. + /// The interaction group ensures that the Direct and Ray Interactors cannot interact at the same time, + /// with the Direct Interactor taking priority over the Ray Interactor. + ///
+ [AddComponentMenu("XR/Controller Input Action Manager")] + public class ControllerInputActionManager : MonoBehaviour + { + [Space] + [Header("Interactors")] + + [SerializeField] + [Tooltip("The interactor used for distant/ray manipulation. Use this or Near-Far Interactor, not both.")] + XRRayInteractor m_RayInteractor; + + [SerializeField] + [Tooltip("Near-Far Interactor used for distant/ray manipulation. Use this or Ray Interactor, not both.")] + NearFarInteractor m_NearFarInteractor; + + [SerializeField] + [Tooltip("The interactor used for teleportation.")] + XRRayInteractor m_TeleportInteractor; + + [Space] + [Header("Controller Actions")] + + [SerializeField] + [Tooltip("The reference to the action to start the teleport aiming mode for this controller.")] + [FormerlySerializedAs("m_TeleportModeActivate")] + InputActionReference m_TeleportMode; + + [SerializeField] + [Tooltip("The reference to the action to cancel the teleport aiming mode for this controller.")] + InputActionReference m_TeleportModeCancel; + + [SerializeField] + [Tooltip("The reference to the action of continuous turning the XR Origin with this controller.")] + InputActionReference m_Turn; + + [SerializeField] + [Tooltip("The reference to the action of snap turning the XR Origin with this controller.")] + InputActionReference m_SnapTurn; + + [SerializeField] + [Tooltip("The reference to the action of moving the XR Origin with this controller.")] + InputActionReference m_Move; + + [SerializeField] + [Tooltip("The reference to the action of scrolling UI with this controller.")] + InputActionReference m_UIScroll; + + [Space] + [Header("Locomotion Settings")] + + [SerializeField] + [Tooltip("If true, continuous movement will be enabled. If false, teleport will be enabled.")] + bool m_SmoothMotionEnabled; + + [SerializeField] + [Tooltip("If true, continuous turn will be enabled. If false, snap turn will be enabled. Note: If smooth motion is enabled and enable strafe is enabled on the continuous move provider, turn will be overriden in favor of strafe.")] + bool m_SmoothTurnEnabled; + + [SerializeField] + [Tooltip("With the Near-Far Interactor, if true, teleport will be enabled during near interaction. If false, teleport will be disabled during near interaction.")] + bool m_NearFarEnableTeleportDuringNearInteraction = true; + + [Space] + [Header("UI Settings")] + + [SerializeField] + [Tooltip("If true, UI scrolling will be enabled. Locomotion will be disabled when pointing at UI to allow it to be scrolled.")] + bool m_UIScrollingEnabled = true; + + [Space] + [Header("Mediation Events")] + + [SerializeField] + [Tooltip("Event fired when the active ray interactor changes between interaction and teleport.")] + UnityEvent m_RayInteractorChanged; + + public bool smoothMotionEnabled + { + get => m_SmoothMotionEnabled; + set + { + m_SmoothMotionEnabled = value; + UpdateLocomotionActions(); + } + } + + public bool smoothTurnEnabled + { + get => m_SmoothTurnEnabled; + set + { + m_SmoothTurnEnabled = value; + UpdateLocomotionActions(); + } + } + + public bool uiScrollingEnabled + { + get => m_UIScrollingEnabled; + set + { + m_UIScrollingEnabled = value; + UpdateUIActions(); + } + } + + bool m_StartCalled; + bool m_PostponedDeactivateTeleport; + bool m_HoveringScrollableUI; + + readonly HashSet m_LocomotionUsers = new HashSet(); + readonly BindingsGroup m_BindingsGroup = new BindingsGroup(); + + void SetupInteractorEvents() + { + if (m_NearFarInteractor != null) + { + m_NearFarInteractor.uiHoverEntered.AddListener(OnUIHoverEntered); + m_NearFarInteractor.uiHoverExited.AddListener(OnUIHoverExited); + m_BindingsGroup.AddBinding(m_NearFarInteractor.selectionRegion.Subscribe(OnNearFarSelectionRegionChanged)); + } + + if (m_RayInteractor != null) + { + m_RayInteractor.selectEntered.AddListener(OnRaySelectEntered); + m_RayInteractor.selectExited.AddListener(OnRaySelectExited); + m_RayInteractor.uiHoverEntered.AddListener(OnUIHoverEntered); + m_RayInteractor.uiHoverExited.AddListener(OnUIHoverExited); + } + + var teleportModeAction = GetInputAction(m_TeleportMode); + if (teleportModeAction != null) + { + teleportModeAction.performed += OnStartTeleport; + teleportModeAction.performed += OnStartLocomotion; + teleportModeAction.canceled += OnCancelTeleport; + teleportModeAction.canceled += OnStopLocomotion; + } + + var teleportModeCancelAction = GetInputAction(m_TeleportModeCancel); + if (teleportModeCancelAction != null) + { + teleportModeCancelAction.performed += OnCancelTeleport; + } + + var moveAction = GetInputAction(m_Move); + if (moveAction != null) + { + moveAction.started += OnStartLocomotion; + moveAction.canceled += OnStopLocomotion; + } + + var turnAction = GetInputAction(m_Turn); + if (turnAction != null) + { + turnAction.started += OnStartLocomotion; + turnAction.canceled += OnStopLocomotion; + } + + var snapTurnAction = GetInputAction(m_SnapTurn); + if (snapTurnAction != null) + { + snapTurnAction.started += OnStartLocomotion; + snapTurnAction.canceled += OnStopLocomotion; + } + } + + void TeardownInteractorEvents() + { + m_BindingsGroup.Clear(); + + if (m_NearFarInteractor != null) + { + m_NearFarInteractor.uiHoverEntered.RemoveListener(OnUIHoverEntered); + m_NearFarInteractor.uiHoverExited.RemoveListener(OnUIHoverExited); + } + + if (m_RayInteractor != null) + { + m_RayInteractor.selectEntered.RemoveListener(OnRaySelectEntered); + m_RayInteractor.selectExited.RemoveListener(OnRaySelectExited); + m_RayInteractor.uiHoverEntered.RemoveListener(OnUIHoverEntered); + m_RayInteractor.uiHoverExited.RemoveListener(OnUIHoverExited); + } + + var teleportModeAction = GetInputAction(m_TeleportMode); + if (teleportModeAction != null) + { + teleportModeAction.performed -= OnStartTeleport; + teleportModeAction.performed -= OnStartLocomotion; + teleportModeAction.canceled -= OnCancelTeleport; + teleportModeAction.canceled -= OnStopLocomotion; + } + + var teleportModeCancelAction = GetInputAction(m_TeleportModeCancel); + if (teleportModeCancelAction != null) + { + teleportModeCancelAction.performed -= OnCancelTeleport; + } + + var moveAction = GetInputAction(m_Move); + if (moveAction != null) + { + moveAction.started -= OnStartLocomotion; + moveAction.canceled -= OnStopLocomotion; + } + + var turnAction = GetInputAction(m_Turn); + if (turnAction != null) + { + turnAction.started -= OnStartLocomotion; + turnAction.canceled -= OnStopLocomotion; + } + + var snapTurnAction = GetInputAction(m_SnapTurn); + if (snapTurnAction != null) + { + snapTurnAction.started -= OnStartLocomotion; + snapTurnAction.canceled -= OnStopLocomotion; + } + } + + void OnStartTeleport(InputAction.CallbackContext context) + { + m_PostponedDeactivateTeleport = false; + + if (m_TeleportInteractor != null) + m_TeleportInteractor.gameObject.SetActive(true); + + if (m_RayInteractor != null) + m_RayInteractor.gameObject.SetActive(false); + + if (m_NearFarInteractor != null && m_NearFarInteractor.selectionRegion.Value != NearFarInteractor.Region.Near) + m_NearFarInteractor.gameObject.SetActive(false); + + m_RayInteractorChanged?.Invoke(m_TeleportInteractor); + } + + void OnCancelTeleport(InputAction.CallbackContext context) + { + // Do not deactivate the teleport interactor in this callback. + // We delay turning off the teleport interactor in this callback so that + // the teleport interactor has a chance to complete the teleport if needed. + // OnAfterInteractionEvents will handle deactivating its GameObject. + m_PostponedDeactivateTeleport = true; + + if (m_RayInteractor != null) + m_RayInteractor.gameObject.SetActive(true); + + if (m_NearFarInteractor != null) + m_NearFarInteractor.gameObject.SetActive(true); + + m_RayInteractorChanged?.Invoke(m_RayInteractor); + } + + void OnNearFarSelectionRegionChanged(NearFarInteractor.Region selectionRegion) + { + if (selectionRegion == NearFarInteractor.Region.Far || + (selectionRegion == NearFarInteractor.Region.Near && !m_NearFarEnableTeleportDuringNearInteraction)) + DisableTeleportActions(); + else + UpdateLocomotionActions(); + } + + void OnStartLocomotion(InputAction.CallbackContext context) + { + m_LocomotionUsers.Add(context.action); + } + + void OnStopLocomotion(InputAction.CallbackContext context) + { + m_LocomotionUsers.Remove(context.action); + + if (m_LocomotionUsers.Count == 0 && m_HoveringScrollableUI) + { + DisableAllLocomotionActions(); + UpdateUIActions(); + } + } + + void OnRaySelectEntered(SelectEnterEventArgs args) + { + if (m_RayInteractor.manipulateAttachTransform) + { + // Disable locomotion and turn actions + DisableAllLocomotionActions(); + } + } + + void OnRaySelectExited(SelectExitEventArgs args) + { + if (m_RayInteractor.manipulateAttachTransform) + { + // Re-enable the locomotion and turn actions + UpdateLocomotionActions(); + } + } + + void OnUIHoverEntered(UIHoverEventArgs args) + { + m_HoveringScrollableUI = m_UIScrollingEnabled && args.deviceModel.isScrollable; + UpdateUIActions(); + + // If locomotion is occurring, wait + if (m_HoveringScrollableUI && m_LocomotionUsers.Count == 0) + { + // Disable locomotion and turn actions + DisableAllLocomotionActions(); + } + } + + void OnUIHoverExited(UIHoverEventArgs args) + { + m_HoveringScrollableUI = false; + UpdateUIActions(); + + // Re-enable the locomotion and turn actions + UpdateLocomotionActions(); + } + + protected void OnEnable() + { + if (m_RayInteractor != null && m_NearFarInteractor != null) + { + Debug.LogWarning("Both Ray Interactor and Near-Far Interactor are assigned. Only one should be assigned, not both. Clearing Ray Interactor.", this); + m_RayInteractor = null; + } + + if (m_TeleportInteractor != null) + m_TeleportInteractor.gameObject.SetActive(false); + + // Allow the actions to be refreshed when this component is re-enabled. + // See comments in Start for why we wait until Start to enable/disable actions. + if (m_StartCalled) + { + UpdateLocomotionActions(); + UpdateUIActions(); + } + + SetupInteractorEvents(); + } + + protected void OnDisable() + { + TeardownInteractorEvents(); + } + + protected void Start() + { + m_StartCalled = true; + + // Ensure the enabled state of locomotion and turn actions are properly set up. + // Called in Start so it is done after the InputActionManager enables all input actions earlier in OnEnable. + UpdateLocomotionActions(); + UpdateUIActions(); + } + + protected void Update() + { + // Start the coroutine that executes code after the Update phase (during yield null). + // Since this behavior has the default execution order, it runs after the XRInteractionManager, + // so selection events have been finished by now this frame. This means that the teleport interactor + // has had a chance to process its select interaction event and teleport if needed. + if (m_PostponedDeactivateTeleport) + { + if (m_TeleportInteractor != null) + m_TeleportInteractor.gameObject.SetActive(false); + + m_PostponedDeactivateTeleport = false; + } + } + + void UpdateLocomotionActions() + { + // Disable/enable Teleport and Turn when Move is enabled/disabled. + SetEnabled(m_Move, m_SmoothMotionEnabled); + SetEnabled(m_TeleportMode, !m_SmoothMotionEnabled); + SetEnabled(m_TeleportModeCancel, !m_SmoothMotionEnabled); + + // Disable ability to turn when using continuous movement + SetEnabled(m_Turn, !m_SmoothMotionEnabled && m_SmoothTurnEnabled); + SetEnabled(m_SnapTurn, !m_SmoothMotionEnabled && !m_SmoothTurnEnabled); + } + + void DisableTeleportActions() + { + DisableAction(m_TeleportMode); + DisableAction(m_TeleportModeCancel); + } + + void DisableMoveAndTurnActions() + { + DisableAction(m_Move); + DisableAction(m_Turn); + DisableAction(m_SnapTurn); + } + + void DisableAllLocomotionActions() + { + DisableTeleportActions(); + DisableMoveAndTurnActions(); + } + + void UpdateUIActions() + { + SetEnabled(m_UIScroll, m_UIScrollingEnabled && m_HoveringScrollableUI && m_LocomotionUsers.Count == 0); + } + + static void SetEnabled(InputActionReference actionReference, bool enabled) + { + if (enabled) + EnableAction(actionReference); + else + DisableAction(actionReference); + } + + static void EnableAction(InputActionReference actionReference) + { + var action = GetInputAction(actionReference); + if (action != null && !action.enabled) + action.Enable(); + } + + static void DisableAction(InputActionReference actionReference) + { + var action = GetInputAction(actionReference); + if (action != null && action.enabled) + action.Disable(); + } + + static InputAction GetInputAction(InputActionReference actionReference) + { +#pragma warning disable IDE0031 // Use null propagation -- Do not use for UnityEngine.Object types + return actionReference != null ? actionReference.action : null; +#pragma warning restore IDE0031 + } + } +} diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs.meta new file mode 100644 index 000000000..e1e393155 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/ControllerInputActionManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7b9a90fa34d4455469b76611722eae2a \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs b/Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs new file mode 100644 index 000000000..ed6f49426 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs @@ -0,0 +1,191 @@ +using Unity.XR.CoreUtils; +using UnityEngine; +using UnityEngine.Assertions; +using UnityEngine.XR.Interaction.Toolkit.Locomotion.Movement; + +namespace VRBuilder.Components.Runtime.XRIStarterAssets +{ + /// + /// A version of continuous movement that automatically controls the frame of reference that + /// determines the forward direction of movement based on user preference for each hand. + /// For example, can configure to use head relative movement for the left hand and controller relative movement for the right hand. + /// + public class DynamicMoveProvider : ContinuousMoveProvider + { + /// + /// Defines which transform the XR Origin's movement direction is relative to. + /// + /// + /// + public enum MovementDirection + { + /// + /// Use the forward direction of the head (camera) as the forward direction of the XR Origin's movement. + /// + HeadRelative, + + /// + /// Use the forward direction of the hand (controller) as the forward direction of the XR Origin's movement. + /// + HandRelative, + } + + [Space, Header("Movement Direction")] + [SerializeField] + [Tooltip("Directs the XR Origin's movement when using the head-relative mode. If not set, will automatically find and use the XR Origin Camera.")] + Transform m_HeadTransform; + + /// + /// Directs the XR Origin's movement when using the head-relative mode. If not set, will automatically find and use the XR Origin Camera. + /// + public Transform headTransform + { + get => m_HeadTransform; + set => m_HeadTransform = value; + } + + [SerializeField] + [Tooltip("Directs the XR Origin's movement when using the hand-relative mode with the left hand.")] + Transform m_LeftControllerTransform; + + /// + /// Directs the XR Origin's movement when using the hand-relative mode with the left hand. + /// + public Transform leftControllerTransform + { + get => m_LeftControllerTransform; + set => m_LeftControllerTransform = value; + } + + [SerializeField] + [Tooltip("Directs the XR Origin's movement when using the hand-relative mode with the right hand.")] + Transform m_RightControllerTransform; + + public Transform rightControllerTransform + { + get => m_RightControllerTransform; + set => m_RightControllerTransform = value; + } + + [SerializeField] + [Tooltip("Whether to use the specified head transform or left controller transform to direct the XR Origin's movement for the left hand.")] + MovementDirection m_LeftHandMovementDirection; + + /// + /// Whether to use the specified head transform or controller transform to direct the XR Origin's movement for the left hand. + /// + /// + public MovementDirection leftHandMovementDirection + { + get => m_LeftHandMovementDirection; + set => m_LeftHandMovementDirection = value; + } + + [SerializeField] + [Tooltip("Whether to use the specified head transform or right controller transform to direct the XR Origin's movement for the right hand.")] + MovementDirection m_RightHandMovementDirection; + + /// + /// Whether to use the specified head transform or controller transform to direct the XR Origin's movement for the right hand. + /// + /// + public MovementDirection rightHandMovementDirection + { + get => m_RightHandMovementDirection; + set => m_RightHandMovementDirection = value; + } + + Transform m_CombinedTransform; + Pose m_LeftMovementPose = Pose.identity; + Pose m_RightMovementPose = Pose.identity; + + /// + protected override void Awake() + { + base.Awake(); + + m_CombinedTransform = new GameObject("[Dynamic Move Provider] Combined Forward Source").transform; + m_CombinedTransform.SetParent(transform, false); + m_CombinedTransform.localPosition = Vector3.zero; + m_CombinedTransform.localRotation = Quaternion.identity; + + forwardSource = m_CombinedTransform; + } + + /// + protected override Vector3 ComputeDesiredMove(Vector2 input) + { + // Don't need to do anything if the total input is zero. + // This is the same check as the base method. + if (input == Vector2.zero) + return Vector3.zero; + + // Initialize the Head Transform if necessary, getting the Camera from XR Origin + if (m_HeadTransform == null) + { + var xrOrigin = mediator.xrOrigin; + if (xrOrigin != null) + { + var xrCamera = xrOrigin.Camera; + if (xrCamera != null) + m_HeadTransform = xrCamera.transform; + } + } + + // Get the forward source for the left hand input + switch (m_LeftHandMovementDirection) + { + case MovementDirection.HeadRelative: + if (m_HeadTransform != null) + m_LeftMovementPose = m_HeadTransform.GetWorldPose(); + + break; + + case MovementDirection.HandRelative: + if (m_LeftControllerTransform != null) + m_LeftMovementPose = m_LeftControllerTransform.GetWorldPose(); + + break; + + default: + Assert.IsTrue(false, $"Unhandled {nameof(MovementDirection)}={m_LeftHandMovementDirection}"); + break; + } + + // Get the forward source for the right hand input + switch (m_RightHandMovementDirection) + { + case MovementDirection.HeadRelative: + if (m_HeadTransform != null) + m_RightMovementPose = m_HeadTransform.GetWorldPose(); + + break; + + case MovementDirection.HandRelative: + if (m_RightControllerTransform != null) + m_RightMovementPose = m_RightControllerTransform.GetWorldPose(); + + break; + + default: + Assert.IsTrue(false, $"Unhandled {nameof(MovementDirection)}={m_RightHandMovementDirection}"); + break; + } + + // Combine the two poses into the forward source based on the magnitude of input + var leftHandValue = leftHandMoveInput.ReadValue(); + var rightHandValue = rightHandMoveInput.ReadValue(); + + var totalSqrMagnitude = leftHandValue.sqrMagnitude + rightHandValue.sqrMagnitude; + var leftHandBlend = 0.5f; + if (totalSqrMagnitude > Mathf.Epsilon) + leftHandBlend = leftHandValue.sqrMagnitude / totalSqrMagnitude; + + var combinedPosition = Vector3.Lerp(m_RightMovementPose.position, m_LeftMovementPose.position, leftHandBlend); + var combinedRotation = Quaternion.Slerp(m_RightMovementPose.rotation, m_LeftMovementPose.rotation, leftHandBlend); + m_CombinedTransform.SetPositionAndRotation(combinedPosition, combinedRotation); + + return base.ComputeDesiredMove(input); + } + } +} diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs.meta new file mode 100644 index 000000000..47f3200b8 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/DynamicMoveProvider.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 4b724061ba0dd1144bd85f70904124d0 \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs b/Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs new file mode 100644 index 000000000..2d3d15749 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs @@ -0,0 +1,99 @@ +using System.Collections.Generic; +using UnityEngine; +using InputSystem = UnityEngine.InputSystem; +using InputDevice = UnityEngine.XR.InputDevice; +using InputDevices = UnityEngine.XR.InputDevices; +using InputDeviceCharacteristics = UnityEngine.XR.InputDeviceCharacteristics; + +namespace VRBuilder.Components.Runtime.XRIStarterAssets +{ + /// + /// Manages input fallback for when eye tracking is not available. + /// + public class GazeInputManager : MonoBehaviour + { + // This is the name of the layout that is registered by EyeGazeInteraction in the OpenXR Plugin package + const string k_EyeGazeLayoutName = "EyeGaze"; + + [SerializeField] + [Tooltip("Enable fallback to head tracking if eye tracking is unavailable.")] + bool m_FallbackIfEyeTrackingUnavailable = true; + + /// + /// Enable fallback to head tracking if eye tracking is unavailable. + /// + public bool fallbackIfEyeTrackingUnavailable + { + get => m_FallbackIfEyeTrackingUnavailable; + set => m_FallbackIfEyeTrackingUnavailable = value; + } + + + bool m_EyeTrackingDeviceFound; + + /// + /// See . + /// + protected void Awake() + { + // Check if we have eye tracking support + List inputDeviceList = new List(); + InputDevices.GetDevicesWithCharacteristics(InputDeviceCharacteristics.EyeTracking, inputDeviceList); + if (inputDeviceList.Count > 0) + { + Debug.Log("Eye tracking device found!", this); + m_EyeTrackingDeviceFound = true; + return; + } + + foreach (var device in InputSystem.InputSystem.devices) + { + if (device.layout == k_EyeGazeLayoutName) + { + Debug.Log("Eye gaze device found!", this); + m_EyeTrackingDeviceFound = true; + return; + } + } + + Debug.LogWarning($"Could not find a device that supports eye tracking on Awake. {this} has subscribed to device connected events and will activate the GameObject when an eye tracking device is connected.", this); + + InputDevices.deviceConnected += OnDeviceConnected; + InputSystem.InputSystem.onDeviceChange += OnDeviceChange; + + gameObject.SetActive(m_FallbackIfEyeTrackingUnavailable); + } + + /// + /// See . + /// + protected void OnDestroy() + { + InputDevices.deviceConnected -= OnDeviceConnected; + InputSystem.InputSystem.onDeviceChange -= OnDeviceChange; + } + + void OnDeviceConnected(InputDevice inputDevice) + { + if (m_EyeTrackingDeviceFound || !inputDevice.characteristics.HasFlag(InputDeviceCharacteristics.EyeTracking)) + return; + + Debug.Log("Eye tracking device found!", this); + m_EyeTrackingDeviceFound = true; + gameObject.SetActive(true); + } + + void OnDeviceChange(InputSystem.InputDevice device, InputSystem.InputDeviceChange change) + { + if (m_EyeTrackingDeviceFound || change != InputSystem.InputDeviceChange.Added) + return; + + if (device.layout == k_EyeGazeLayoutName) + { + Debug.Log("Eye gaze device found!", this); + m_EyeTrackingDeviceFound = true; + gameObject.SetActive(true); + } + } + } +} diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs.meta new file mode 100644 index 000000000..9e73de6b7 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/GazeInputManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: b19db2de414f1e347bab5bf4426be20d \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md b/Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md new file mode 100644 index 000000000..bbc293ca7 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md @@ -0,0 +1,5 @@ +Files in this folder are copies of files from "XR Interaction Toolkit/3.0.5/Starter Assets" and XRI incase of "ComponentLocatorUtility.cs". +They are under the Unity Companion License http://www.unity3d.com/legal/licenses/Unity_Companion_License + +The reasons for copying is to remove dependency of XRI Samples. +When updating XRI to another version this files might need updates as well. \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md.meta b/Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md.meta new file mode 100644 index 000000000..11498bc12 --- /dev/null +++ b/Source/XR-Interaction-Component/Source/Runtime/XRI/NOTICE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 70c5a2709c462904a9a525146d082557 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based.meta b/Source/XR-Interaction-Component/StaticAssets.meta similarity index 77% rename from Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based.meta rename to Source/XR-Interaction-Component/StaticAssets.meta index d461a1ac8..4996baf71 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Interaction/Device-based.meta +++ b/Source/XR-Interaction-Component/StaticAssets.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a48cb661e017cd84286be5e0438e4fd1 +guid: bac764fe2bebc1e4d893647b711147be folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes.meta b/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes.meta new file mode 100644 index 000000000..8951f594c --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fa6e1973fdcfe034db478df08f09e184 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset b/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset new file mode 100644 index 000000000..1716e89c0 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eeb2935a9199a3f2afec0b05260298589cb363d3c671eda3e7c9a11a76cec568 +size 2690 diff --git a/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset.meta b/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset.meta new file mode 100644 index 000000000..6ed97cb60 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0eab193f3deddf459ada93a8c8366ef +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Filters.meta b/Source/XR-Interaction-Component/StaticAssets/Filters.meta new file mode 100644 index 000000000..4b434f991 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Filters.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef104c873ab8bdc419b34c661ac38e35 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset b/Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset new file mode 100644 index 000000000..994d4a8d1 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d64a030b16ad8df2bd1b42cd31889771dc2eea19b29a7e6e5b91e56da4a1fe1c +size 1767 diff --git a/Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset.meta b/Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset.meta new file mode 100644 index 000000000..adc42da3b --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22becb1b271978f41bb17d1c741842e8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Hands.meta b/Source/XR-Interaction-Component/StaticAssets/Hands.meta new file mode 100644 index 000000000..9ae679d03 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Hands.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 110990ec6345f604bba5cecceb3f490d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.controller b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/HandAnimatorController.controller similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.controller rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/HandAnimatorController.controller diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.controller.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/HandAnimatorController.controller.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/HandAnimatorController.controller.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/HandAnimatorController.controller.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Index.mask b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Index.mask similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Index.mask rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Index.mask diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Index.mask.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Index.mask.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Index.mask.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Index.mask.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/OtherFingers.mask b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/OtherFingers.mask similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/OtherFingers.mask rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/OtherFingers.mask diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/OtherFingers.mask.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/OtherFingers.mask.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/OtherFingers.mask.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/OtherFingers.mask.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Grasp.anim b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Grasp.anim similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Grasp.anim rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Grasp.anim diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Grasp.anim.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Grasp.anim.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Grasp.anim.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Grasp.anim.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Idle.anim b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Idle.anim similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Idle.anim rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Idle.anim diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Idle.anim.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Idle.anim.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Idle.anim.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Idle.anim.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Point.anim b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Point.anim similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Point.anim rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Point.anim diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Point.anim.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Point.anim.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Animation/Poses/Point.anim.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Animation/Poses/Point.anim.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/LeftHand.prefab b/Source/XR-Interaction-Component/StaticAssets/Hands/LeftHand.prefab similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/LeftHand.prefab rename to Source/XR-Interaction-Component/StaticAssets/Hands/LeftHand.prefab diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/LeftHand.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/LeftHand.prefab.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/LeftHand.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/LeftHand.prefab.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Materials.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Materials.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/AvatarMaterial.mat b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials/AvatarMaterial.mat similarity index 52% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/AvatarMaterial.mat rename to Source/XR-Interaction-Component/StaticAssets/Hands/Materials/AvatarMaterial.mat index 1539485a3..53d22c8dd 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/AvatarMaterial.mat +++ b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials/AvatarMaterial.mat @@ -8,21 +8,33 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: AvatarMaterial - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - - _ALPHABLEND_ON + - _ALPHAPREMULTIPLY_ON - _EMISSION - m_InvalidKeywords: [] + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: + - _ALPHABLEND_ON m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -59,12 +71,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -72,16 +111,38 @@ Material: - _Mode: 2 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 - _RimPower: 3 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - - _SrcBlend: 5 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 - _WireThickness: 100 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.9058824, g: 0.25098038, b: 1, a: 0.49803922} + - _BaseColor: {r: 0.9058824, g: 0.25098035, b: 1, a: 0.49803922} + - _Color: {r: 0.9058824, g: 0.25098032, b: 1, a: 0.49803922} - _EmissionColor: {r: 0.21215619, g: 0.98833734, b: 0.9210683, a: 1} - _InnerColor: {r: 1, g: 1, b: 1, a: 1} - _RimColor: {r: 0.26, g: 0.19, b: 0.16, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &7816566763778851679 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/AvatarMaterial.mat.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials/AvatarMaterial.mat.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/AvatarMaterial.mat.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Materials/AvatarMaterial.mat.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/HandsMaterial.mat b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials/HandsMaterial.mat similarity index 51% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/HandsMaterial.mat rename to Source/XR-Interaction-Component/StaticAssets/Hands/Materials/HandsMaterial.mat index 3e8ab1249..65dc14829 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/HandsMaterial.mat +++ b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials/HandsMaterial.mat @@ -2,24 +2,40 @@ %TAG !u! tag:unity3d.com,2011: --- !u!21 &2100000 Material: - serializedVersion: 6 + serializedVersion: 8 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: HandsMaterial - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON _EMISSION _NORMALMAP + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - _ALPHAPREMULTIPLY_ON + - _EMISSION + - _NORMALMAP + - _SURFACE_TYPE_TRANSPARENT + m_InvalidKeywords: + - _ALPHABLEND_ON m_LightmapFlags: 1 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 3000 stringTagMap: RenderType: Transparent - disabledShaderPasses: [] + disabledShaderPasses: + - MOTIONVECTORS + - DepthOnly + - SHADOWCASTER + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 2800000, guid: 7173c639dbda2134387192375d29d027, type: 3} m_Scale: {x: 1, y: 1} @@ -56,11 +72,39 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 - _DetailNormalMapScale: 1 - _DstBlend: 10 + - _DstBlendAlpha: 10 + - _EnvironmentReflections: 1 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -68,16 +112,38 @@ Material: - _Mode: 2 - _OcclusionStrength: 1 - _Parallax: 0.02 + - _QueueOffset: 0 + - _ReceiveShadows: 1 - _RimPower: 3 + - _Smoothness: 0.5 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - - _SrcBlend: 5 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 1 - _UVSec: 0 - _WireThickness: 100 + - _WorkflowMode: 1 - _ZWrite: 0 m_Colors: - - _Color: {r: 0.9058824, g: 0.25098038, b: 1, a: 0.49803922} + - _BaseColor: {r: 0.9058824, g: 0.25098035, b: 1, a: 0.49803922} + - _Color: {r: 0.9058824, g: 0.25098032, b: 1, a: 0.49803922} - _EmissionColor: {r: 0.21215619, g: 0.98833734, b: 0.9210683, a: 1} - _InnerColor: {r: 1, g: 1, b: 1, a: 1} - _RimColor: {r: 0.26, g: 0.19, b: 0.16, a: 0} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &1122061686115923002 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/HandsMaterial.mat.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Materials/HandsMaterial.mat.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Materials/HandsMaterial.mat.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Materials/HandsMaterial.mat.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Meshes.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Meshes.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandLeftGeo.fbx b/Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandLeftGeo.fbx similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandLeftGeo.fbx rename to Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandLeftGeo.fbx diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandLeftGeo.fbx.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandLeftGeo.fbx.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandLeftGeo.fbx.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandLeftGeo.fbx.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandRightGeo.fbx b/Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandRightGeo.fbx similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandRightGeo.fbx rename to Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandRightGeo.fbx diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandRightGeo.fbx.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandRightGeo.fbx.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Meshes/BigHandRightGeo.fbx.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Meshes/BigHandRightGeo.fbx.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/RightHand.prefab b/Source/XR-Interaction-Component/StaticAssets/Hands/RightHand.prefab similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/RightHand.prefab rename to Source/XR-Interaction-Component/StaticAssets/Hands/RightHand.prefab diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/RightHand.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/RightHand.prefab.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/RightHand.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/RightHand.prefab.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Textures.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Textures.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Textures.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Textures.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Textures/BigHandsTex_N.png b/Source/XR-Interaction-Component/StaticAssets/Hands/Textures/BigHandsTex_N.png similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Textures/BigHandsTex_N.png rename to Source/XR-Interaction-Component/StaticAssets/Hands/Textures/BigHandsTex_N.png diff --git a/Source/XR-Interaction-Component/Source/Runtime/Hands/Textures/BigHandsTex_N.png.meta b/Source/XR-Interaction-Component/StaticAssets/Hands/Textures/BigHandsTex_N.png.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Runtime/Hands/Textures/BigHandsTex_N.png.meta rename to Source/XR-Interaction-Component/StaticAssets/Hands/Textures/BigHandsTex_N.png.meta diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials.meta b/Source/XR-Interaction-Component/StaticAssets/Materials.meta new file mode 100644 index 000000000..f52281ce9 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58f66153196ca78428b1009603527c49 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat new file mode 100644 index 000000000..253e76736 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat @@ -0,0 +1,187 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Controller_Grey + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AO_Texture: + m_Texture: {fileID: 2800000, guid: 85e675893a909864d9c237e20202651b, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTexture: + m_Texture: {fileID: 0} + 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} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 2800000, guid: 85e675893a909864d9c237e20202651b, type: 3} + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AO_Intensity: 0.75 + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 0 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _BumpStrength: 1 + - _CastShadows: 0 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _NormalStrength: 0.2 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _RimPower: 5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + m_Colors: + - _BaseColor: {r: 0.75294125, g: 0.75294125, b: 0.75294125, a: 1} + - _BumpOffset: {r: 0, g: 0, b: 0, a: 0} + - _BumpTiling: {r: 1, g: 1, b: 0, a: 0} + - _Color: {r: 0.75294125, g: 0.75294125, b: 0.75294125, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _NormalOffset: {r: 0, g: 0, b: 0, a: 0} + - _NormalTiling: {r: 1, g: 1, b: 0, a: 0} + - _RimColor: {r: 1, g: 1, b: 1, a: 0.5803922} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &2844382753039495902 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 +--- !u!114 &3175206980477369162 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat.meta b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat.meta similarity index 79% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat.meta rename to Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat.meta index 772f368b7..7402baea5 100644 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/ControllerMaterial.mat.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_Grey.mat.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 055291900e2c5a140b7adc1d5abf6dd4 +guid: d20dcc1b8d971e0459877a92d15415c1 NativeFormatImporter: externalObjects: {} mainObjectFileID: 2100000 diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat new file mode 100644 index 000000000..3995f70aa --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat @@ -0,0 +1,173 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4601201219206549488 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!114 &-1555896807369559897 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Controller_White + m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AO_Texture: + m_Texture: {fileID: 2800000, guid: 85e675893a909864d9c237e20202651b, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + 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: 2800000, guid: 85e675893a909864d9c237e20202651b, type: 3} + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AO_Intensity: 1 + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 0 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _CastShadows: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BumpOffset: {r: 0, g: 0, b: 0, a: 0} + - _BumpTiling: {r: 1, g: 1, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat.meta b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat.meta new file mode 100644 index 000000000..faf3bc1da --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/Controller_White.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dca6b5fc8485ffd4c88bf8ae060949bc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat b/Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat new file mode 100644 index 000000000..14f36d509 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat @@ -0,0 +1,176 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4454421181341466485 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: FresnelHighlight + m_Shader: {fileID: -6465566751694194690, guid: 7e6c6f81c812eb84c800ee5a4e85c9ad, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - SHADOWCASTER + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTexture: + m_Texture: {fileID: 0} + 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} + - _NormalMap: + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 0 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BumpScale: 1 + - _CastShadows: 0 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _EnvironmentReflections: 1 + - _FresnelPower: 1.5 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _NormalStrength: 0.2 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 0 + - _RimPower: 1.5 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _Surface: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + m_Colors: + - _BaseColor: {r: 0.7529412, g: 0.7529412, b: 0.7529412, a: 0.33333334} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _FresnelColor: {r: 1, g: 1, b: 1, a: 1} + - _NormalOffset: {r: 0, g: 0, b: 0, a: 0} + - _NormalTiling: {r: 1, g: 1, b: 0, a: 0} + - _RimColor: {r: 1, g: 1, b: 1, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &743812867147283137 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat.meta similarity index 78% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset.meta rename to Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat.meta index ed160aed1..57e7d6f59 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder PresetManager.preset.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/FresnelHighlight.mat.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ae7e3398afd914b4ba3cbdf74bd4ae9c +guid: f5ccd52dc494e054fbe7d7161dcabe25 NativeFormatImporter: externalObjects: {} mainObjectFileID: 0 diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/SimpleTeleportHighlight.mat b/Source/XR-Interaction-Component/StaticAssets/Materials/SimpleTeleportHighlight.mat similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/SimpleTeleportHighlight.mat rename to Source/XR-Interaction-Component/StaticAssets/Materials/SimpleTeleportHighlight.mat diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/SimpleTeleportHighlight.mat.meta b/Source/XR-Interaction-Component/StaticAssets/Materials/SimpleTeleportHighlight.mat.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/SimpleTeleportHighlight.mat.meta rename to Source/XR-Interaction-Component/StaticAssets/Materials/SimpleTeleportHighlight.mat.meta diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat b/Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat new file mode 100644 index 000000000..f749dd275 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat @@ -0,0 +1,174 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-859374318456194000 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 9 +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Telport Anchor + m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: + - _GLOSSYREFLECTIONS_OFF + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: + RenderType: Opaque + disabledShaderPasses: + - MOTIONVECTORS + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _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: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + 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} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AO_Intensity: 1 + - _AddPrecomputedVelocity: 0 + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _BUILTIN_AlphaClip: 0 + - _BUILTIN_Blend: 0 + - _BUILTIN_CullMode: 2 + - _BUILTIN_DstBlend: 0 + - _BUILTIN_QueueControl: 0 + - _BUILTIN_QueueOffset: 0 + - _BUILTIN_SrcBlend: 1 + - _BUILTIN_Surface: 0 + - _BUILTIN_ZTest: 4 + - _BUILTIN_ZWrite: 1 + - _BUILTIN_ZWriteControl: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _CastShadows: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossinessSource: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueControl: 0 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _RimPower: 5 + - _Shininess: 0 + - _Smoothness: 0.5 + - _SmoothnessSource: 0 + - _SmoothnessTextureChannel: 0 + - _SpecSource: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Surface: 0 + - _UVSec: 0 + - _WorkflowMode: 1 + - _ZTest: 4 + - _ZWrite: 1 + - _ZWriteControl: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _RimColor: {r: 1, g: 1, b: 1, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] + m_AllowLocking: 1 +--- !u!114 &1825622308456155611 +MonoBehaviour: + m_ObjectHideFlags: 11 + 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: 639247ca83abc874e893eb93af2b5e44, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 0 diff --git a/Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat.meta b/Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat.meta new file mode 100644 index 000000000..7538a8f61 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Materials/Telport Anchor.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7715c273796647d459a92e6c39a0850f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models.meta b/Source/XR-Interaction-Component/StaticAssets/Models.meta similarity index 77% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Models.meta rename to Source/XR-Interaction-Component/StaticAssets/Models.meta index 2add635ad..3e31a0b7c 100644 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Models.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 26edcfa6fc382934894c6cb36d300f8e +guid: 9daa2c08435ee53408f27715ad40ce61 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx b/Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx new file mode 100644 index 000000000..66c46baec --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ef0d1bff5ac57e9e07fd06a17f427004f0a0fa637dcd1eb1294e1047fbbfada +size 34416 diff --git a/Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx.meta b/Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx.meta new file mode 100644 index 000000000..3b8589c55 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Models/BlinkVisual.fbx.meta @@ -0,0 +1,111 @@ +fileFormatVersion: 2 +guid: d80e4051e5b63944b9361161afdc9cb6 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: aiAmbientOcclusion1 + second: {fileID: 2100000, guid: fd3c5d8fce991e04f9c11109dde95b3b, type: 2} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx b/Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx new file mode 100644 index 000000000..c9ef69865 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0901b06d0d7c847adcec991922ba1bdcf124656c4d39eb678224d43367cef4c8 +size 36156 diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx.meta b/Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx.meta similarity index 80% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx.meta rename to Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx.meta index 6a9e7a4a8..4d53f9757 100644 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/controller.fbx.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Models/Pinch_Pointer_LOD0.fbx.meta @@ -1,11 +1,11 @@ fileFormatVersion: 2 -guid: e3881b2fb79daf942aa3338ec96dadf3 +guid: b4b483f74ea008746be752bb01d9849b ModelImporter: - serializedVersion: 26 + serializedVersion: 21300 internalIDToNameTable: [] externalObjects: {} materials: - importMaterials: 1 + materialImportMode: 2 materialName: 0 materialSearch: 1 materialLocation: 1 @@ -14,6 +14,7 @@ ModelImporter: bakeSimulation: 0 resampleCurves: 1 optimizeGameObjects: 0 + removeConstantScaleCurves: 1 motionNodeName: rigImportErrors: rigImportWarnings: @@ -34,7 +35,7 @@ ModelImporter: isReadable: 0 meshes: lODScreenPercentages: [] - globalScale: 4 + globalScale: 1 meshCompression: 0 addColliders: 0 useSRGBMaterialColor: 1 @@ -43,20 +44,27 @@ ModelImporter: importBlendShapes: 1 importCameras: 1 importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 swapUVChannels: 0 generateSecondaryUV: 0 useFileUnits: 1 keepQuads: 0 weldVertices: 1 + bakeAxisConversion: 0 preserveHierarchy: 0 skinWeightsMode: 0 maxBonesPerVertex: 4 minBoneWeight: 0.001 + optimizeBones: 1 meshOptimizationFlags: -1 indexFormat: 0 secondaryUVAngleDistortion: 8 secondaryUVAreaDistortion: 15.000001 secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 1 tangentSpace: @@ -69,7 +77,6 @@ ModelImporter: normalSmoothingSource: 0 referencedClips: [] importAnimation: 1 - copyAvatar: 0 humanDescription: serializedVersion: 3 human: [] @@ -81,14 +88,18 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 - globalScale: 4 + globalScale: 1 rootMotionBoneName: hasTranslationDoF: 0 hasExtraRoot: 0 skeletonHasParents: 1 lastHumanDescriptionAvatarSource: {instanceID: 0} - animationType: 0 + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: diff --git a/Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx b/Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx new file mode 100644 index 000000000..7e62e3cef --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:348e210fda42df410db93a66ee4c0602706ba3d3ea01df78e393171bb1567beb +size 317024 diff --git a/Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx.meta b/Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx.meta new file mode 100644 index 000000000..6818fa985 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Models/UniversalController.fbx.meta @@ -0,0 +1,116 @@ +fileFormatVersion: 2 +guid: e207c0ed9ef81ab48a0b24a5748d5460 +ModelImporter: + serializedVersion: 21300 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: aiAmbientOcclusion1 + second: {fileID: 2100000, guid: 99685157b02e4d446bbecb015645e5e8, type: 2} + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: wire_204204204 + second: {fileID: 2100000, guid: 9f12d299d16099343a3c5c0d7285822a, type: 2} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 1 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + meshes: + lODScreenPercentages: [] + globalScale: 1 + meshCompression: 0 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/teleportHightlight.fbx b/Source/XR-Interaction-Component/StaticAssets/Models/teleportHightlight.fbx similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Models/teleportHightlight.fbx rename to Source/XR-Interaction-Component/StaticAssets/Models/teleportHightlight.fbx diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Models/teleportHightlight.fbx.meta b/Source/XR-Interaction-Component/StaticAssets/Models/teleportHightlight.fbx.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Models/teleportHightlight.fbx.meta rename to Source/XR-Interaction-Component/StaticAssets/Models/teleportHightlight.fbx.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs.meta similarity index 77% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs.meta rename to Source/XR-Interaction-Component/StaticAssets/Prefabs.meta index 565e01fcf..a66d236c2 100644 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 4a2a8a9399b711d40a9a45227dc5c4a3 +guid: 6976734388a349f41bb13b2bef4d6b2e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances.meta new file mode 100644 index 000000000..cabb573d8 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3e54bde5a1a9b146be9698953de4dde +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab new file mode 100644 index 000000000..ac9e6c0cc --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab @@ -0,0 +1,278 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3774509235512974894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5258331117553129771} + - component: {fileID: 8634317094661461186} + m_Layer: 0 + m_Name: Highlight Interaction Affordance + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5258331117553129771 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3774509235512974894} + 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: 1868228307608861978} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8634317094661461186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3774509235512974894} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49e0a5b5ff5540f5b14dd29d46faec22, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractableSource: {fileID: 0} + m_IgnoreHoverEvents: 0 + m_IgnoreHoverPriorityEvents: 1 + m_IgnoreFocusEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.1 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!1 &4896237787779704601 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1868228307608861978} + - component: {fileID: 7396278978564332023} + - component: {fileID: 2489836559761890320} + - component: {fileID: 5298392244203567607} + m_Layer: 0 + m_Name: Material Affordance + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1868228307608861978 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4896237787779704601} + 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: 5258331117553129771} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7396278978564332023 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4896237787779704601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Renderer: {fileID: 0} + m_MaterialIndex: 0 +--- !u!114 &2489836559761890320 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4896237787779704601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 8634317094661461186} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: 8b0b5aede76faac438e02d2a468f4805, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 7396278978564332023} + m_ColorPropertyName: _RimColor +--- !u!114 &5298392244203567607 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4896237787779704601} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 629ea686265f47f082ba5732cffad1cf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 8634317094661461186} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: 0 + animationStateEndValue: 0 + - stateName: idle + animationStateStartValue: 0 + animationStateEndValue: 0 + - stateName: hovered + animationStateStartValue: 0 + animationStateEndValue: 0 + - stateName: hoveredPriority + animationStateStartValue: 0 + animationStateEndValue: 0 + - stateName: selected + animationStateStartValue: 0 + animationStateEndValue: 0 + - stateName: activated + animationStateStartValue: 0 + animationStateEndValue: 0 + - stateName: focused + animationStateStartValue: 0 + animationStateEndValue: 0 + m_Variable: {fileID: 11400000, guid: 795305341a8dbbd46ae54e9a01d6ea95, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 7396278978564332023} + m_FloatPropertyName: _RimPower diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab.meta similarity index 74% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab.meta index 3426855b9..dfe83e644 100644 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 902b196ba17fa284bae10bdc5878a72d +guid: 2ac9b2eca6bd29c4f84b4eefa0384cf9 PrefabImporter: externalObjects: {} userData: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab new file mode 100644 index 000000000..72c0402dd --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab @@ -0,0 +1,379 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8566740855607336484 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7456724525581481010} + m_Layer: 0 + m_Name: Poke Point Affordances + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7456724525581481010 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8566740855607336484} + 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: + - {fileID: 2359438471596262726} + - {fileID: 211802685368332664} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8696341009629078374 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 211802685368332664} + - component: {fileID: 5725187078628880006} + - component: {fileID: 5443855567296666238} + - component: {fileID: 2709837357557836318} + m_Layer: 0 + m_Name: NearFar + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &211802685368332664 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696341009629078374} + 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: 7456724525581481010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5725187078628880006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696341009629078374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractorSource: {fileID: 0} + m_IgnoreHoverEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 1 + m_IgnoreUGUIHover: 0 + m_IgnoreUGUISelect: 0 + m_IgnoreXRInteractionEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!114 &5443855567296666238 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696341009629078374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Renderer: {fileID: 0} + m_MaterialIndex: 0 +--- !u!114 &2709837357557836318 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8696341009629078374} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 5725187078628880006} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: d0eab193f3deddf459ada93a8c8366ef, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 5443855567296666238} + m_ColorPropertyName: _BaseColor +--- !u!1 &8988906707166369926 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2359438471596262726} + - component: {fileID: 4657708972433093653} + - component: {fileID: 1607543218005642621} + - component: {fileID: 4521726492427148565} + m_Layer: 0 + m_Name: Poke + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2359438471596262726 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8988906707166369926} + 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: 7456724525581481010} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4657708972433093653 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8988906707166369926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c83f12c537584f51b92c01f10d7090c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractorSource: {fileID: 0} + m_IgnoreHoverEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 1 + m_IgnoreUGUIHover: 0 + m_IgnoreUGUISelect: 0 + m_IgnoreXRInteractionEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} +--- !u!114 &1607543218005642621 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8988906707166369926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1410cbaaadf84a7aaa6459d37ad21b3a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Renderer: {fileID: 0} + m_MaterialIndex: 0 +--- !u!114 &4521726492427148565 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8988906707166369926} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f86d13fca2ec430d870c0f7765ad0dde, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AffordanceStateProvider: {fileID: 4657708972433093653} + m_ReplaceIdleStateValueWithInitialValue: 0 + m_AffordanceThemeDatum: + m_UseConstant: 0 + m_ConstantValue: + m_StateAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} + m_List: + - stateName: disabled + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: idle + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hovered + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: hoveredPriority + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: selected + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: activated + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + - stateName: focused + animationStateStartValue: {r: 0, g: 0, b: 0, a: 0} + animationStateEndValue: {r: 0, g: 0, b: 0, a: 0} + m_ColorBlendMode: 0 + m_BlendAmount: 1 + m_Variable: {fileID: 11400000, guid: d0eab193f3deddf459ada93a8c8366ef, type: 2} + m_ValueUpdated: + m_PersistentCalls: + m_Calls: [] + m_MaterialPropertyBlockHelper: {fileID: 1607543218005642621} + m_ColorPropertyName: _BaseColor diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab.meta similarity index 74% rename from Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab.meta index 3ddd0d1c1..f8a22c3db 100644 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_Hands.prefab.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 48c5e3bd3e1b105488e36d4d0d00cdc3 +guid: e082957c591e21345bada46a4854d2b1 PrefabImporter: externalObjects: {} userData: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers.meta new file mode 100644 index 000000000..73bfeb19f --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39b5bfde6f24dd349a3602d978074a8e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab new file mode 100644 index 000000000..9a99d5fe8 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab @@ -0,0 +1,941 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &838925125806505752 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5578866909471720403} + m_Layer: 0 + m_Name: XRController_Thumbstick_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5578866909471720403 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 838925125806505752} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, 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: 1407258461600868627} + - {fileID: 1476312919962420616} + - {fileID: 4772667435036090619} + - {fileID: 9090878679503450943} + m_Father: {fileID: 3831596280851641935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1448679902374812222 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4317934089355988218} + - component: {fileID: 2804512364258829926} + - component: {fileID: 6946131598073123524} + m_Layer: 0 + m_Name: Button_Home + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4317934089355988218 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448679902374812222} + serializedVersion: 2 + m_LocalRotation: {x: 0.18379451, y: -0.00000008593347, z: 0.000000016067828, w: 0.9829647} + m_LocalPosition: {x: 0.0000000071757764, y: -0.0032368493, z: 0.024549427} + m_LocalScale: {x: 1.01935, y: 1.01935, z: 1.01935} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3831596280851641935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2804512364258829926 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448679902374812222} + m_Mesh: {fileID: -8429650256770907399, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &6946131598073123524 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1448679902374812222} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &1698198350110287309 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1407258461600868627} + - component: {fileID: 3825292597872868106} + - component: {fileID: 8302382506611171500} + m_Layer: 0 + m_Name: Button_A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1407258461600868627 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698198350110287309} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.007800013, y: 0.0013757758, z: 0.0055} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5578866909471720403} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3825292597872868106 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698198350110287309} + m_Mesh: {fileID: 5083779560280695074, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &8302382506611171500 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1698198350110287309} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &3658530253221974222 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3708264189882788950} + - component: {fileID: 3226976990141940512} + - component: {fileID: 908184320783622234} + m_Layer: 0 + m_Name: Bumper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3708264189882788950 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658530253221974222} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000013985816, y: -0.1305262, z: 0.000000018412676, w: 0.9914449} + m_LocalPosition: {x: -0.012636564, y: -0.028556997, z: 0.027326612} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3831596280851641935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3226976990141940512 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658530253221974222} + m_Mesh: {fileID: -4189514412694937182, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &908184320783622234 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3658530253221974222} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &4007647503543292280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 606542200399518481} + - component: {fileID: 2791758539991239432} + - component: {fileID: 8009757945635403463} + m_Layer: 0 + m_Name: Controller_Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &606542200399518481 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4007647503543292280} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3831596280851641935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2791758539991239432 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4007647503543292280} + m_Mesh: {fileID: 22788929071467060, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &8009757945635403463 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4007647503543292280} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dca6b5fc8485ffd4c88bf8ae060949bc, 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!1 &4173161556249022688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9090878679503450943} + - component: {fileID: 7940978787584295671} + - component: {fileID: 5658544185046500831} + m_Layer: 0 + m_Name: ThumbStick_Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9090878679503450943 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4173161556249022688} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775877, y: 0.00152745, z: -0.0074315914} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5578866909471720403} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7940978787584295671 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4173161556249022688} + m_Mesh: {fileID: -2014588322676101042, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &5658544185046500831 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4173161556249022688} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &4496633296992529653 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3831596280851641935} + m_Layer: 0 + m_Name: UniversalController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3831596280851641935 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4496633296992529653} + 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: + - {fileID: 3708264189882788950} + - {fileID: 4317934089355988218} + - {fileID: 606542200399518481} + - {fileID: 3227744485374104613} + - {fileID: 3290220732042902362} + - {fileID: 5578866909471720403} + m_Father: {fileID: 8270855663187062767} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5479181676923438292 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4772667435036090619} + - component: {fileID: 8252842386947597077} + - component: {fileID: 430567819290339060} + m_Layer: 0 + m_Name: ThumbStick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4772667435036090619 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5479181676923438292} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775876, y: -0.002558912, z: -0.0074315914} + m_LocalScale: {x: 1.342947, y: 1.342947, z: 1.342947} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5578866909471720403} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8252842386947597077 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5479181676923438292} + m_Mesh: {fileID: -2564423107879867638, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &430567819290339060 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5479181676923438292} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &5908322354616421163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3227744485374104613} + - component: {fileID: 8151713988064746545} + - component: {fileID: 2071210351488613610} + m_Layer: 0 + m_Name: TouchPad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3227744485374104613 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5908322354616421163} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: -0.0020741627, z: -0.0052528577} + m_LocalScale: {x: 0.982392, y: 1.55, z: 0.982392} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3831596280851641935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8151713988064746545 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5908322354616421163} + m_Mesh: {fileID: -1120971793077124694, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &2071210351488613610 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5908322354616421163} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &6593186904332347165 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1476312919962420616} + - component: {fileID: 3046491538343432697} + - component: {fileID: 5573814406739661245} + m_Layer: 0 + m_Name: Button_B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1476312919962420616 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6593186904332347165} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.012, y: 0.0013757758, z: -0.009} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5578866909471720403} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3046491538343432697 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6593186904332347165} + m_Mesh: {fileID: 8449303727733987256, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &5573814406739661245 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6593186904332347165} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &7600421817103596258 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3290220732042902362} + - component: {fileID: 8482456410926060172} + - component: {fileID: 3594184993934668465} + m_Layer: 0 + m_Name: Trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3290220732042902362 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600421817103596258} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6.952414e-10, y: -0.012954317, z: -0.020195028} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3831596280851641935} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8482456410926060172 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600421817103596258} + m_Mesh: {fileID: -8653722315008560443, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &3594184993934668465 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7600421817103596258} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &8758423527188247893 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8270855663187062767} + - component: {fileID: 4191173498026243746} + m_Layer: 0 + m_Name: XR Controller Left + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8270855663187062767 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8758423527188247893} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3831596280851641935} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &4191173498026243746 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8758423527188247893} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 099767effc44a8e478d295d0c4d98289, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ThumbstickTransform: {fileID: 4772667435036090619} + m_StickRotationRange: {x: 30, y: 30} + m_StickInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Thumbstick + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 499d6586-a749-4626-8410-e23d3a945a6e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -60998027439631388, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TriggerTransform: {fileID: 3290220732042902362} + m_TriggerXAxisRotationRange: {x: 0, y: -15} + m_TriggerInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Trigger + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 9501238c-1324-4ba4-8e59-8c14278ef44d + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -4289430672226363583, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 + m_GripTransform: {fileID: 3708264189882788950} + m_GripRightRange: {x: -0.0125, y: -0.011} + m_GripInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Grip + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 8d37d0f0-8996-4ad8-bc49-be5eec2ad875 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 6558622148059887818, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab.meta similarity index 74% rename from Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab.meta index 670ec469a..43eb619f3 100644 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based.prefab.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5aac64a257ad11e41908ccc1ccef9635 +guid: 4fd135f06adb27142bdcfafb7f7fd335 PrefabImporter: externalObjects: {} userData: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab new file mode 100644 index 000000000..4bcda5ae1 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab @@ -0,0 +1,941 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &383438424965467249 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4871301772669071546} + m_Layer: 0 + m_Name: XRController_Thumbstick_Buttons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4871301772669071546 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 383438424965467249} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, 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: 2121719750533061242} + - {fileID: 1912516935883159265} + - {fileID: 5534257073571976082} + - {fileID: 8133223008797737046} + m_Father: {fileID: 4312999587465610534} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1830568820149819044 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2121719750533061242} + - component: {fileID: 4314555765524351075} + - component: {fileID: 9061724193437782981} + m_Layer: 0 + m_Name: Button_A + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2121719750533061242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1830568820149819044} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.007800013, y: 0.0013757758, z: 0.0055} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4871301772669071546} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4314555765524351075 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1830568820149819044} + m_Mesh: {fileID: 5083779560280695074, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &9061724193437782981 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1830568820149819044} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &1940194302770129239 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3826415840535314323} + - component: {fileID: 2890725886003467535} + - component: {fileID: 7967948701137510829} + m_Layer: 0 + m_Name: Button_Home + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3826415840535314323 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940194302770129239} + serializedVersion: 2 + m_LocalRotation: {x: 0.18379451, y: -0.00000008593347, z: 0.000000016067828, w: 0.9829647} + m_LocalPosition: {x: 0.0000000071757764, y: -0.0032368493, z: 0.024549427} + m_LocalScale: {x: 1.01935, y: 1.01935, z: 1.01935} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4312999587465610534} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2890725886003467535 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940194302770129239} + m_Mesh: {fileID: -8429650256770907399, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &7967948701137510829 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940194302770129239} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &3499590388232691612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4312999587465610534} + m_Layer: 0 + m_Name: UniversalController + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4312999587465610534 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3499590388232691612} + 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: + - {fileID: 4431590825886359359} + - {fileID: 3826415840535314323} + - {fileID: 476418562824415352} + - {fileID: 2467139442371389260} + - {fileID: 2548892874240362547} + - {fileID: 4871301772669071546} + m_Father: {fileID: 3475118261464492563} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3971126562083824521 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8133223008797737046} + - component: {fileID: 6972219698470072734} + - component: {fileID: 4643603977460086454} + m_Layer: 0 + m_Name: ThumbStick_Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8133223008797737046 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3971126562083824521} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775877, y: 0.00152745, z: -0.0074315914} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4871301772669071546} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6972219698470072734 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3971126562083824521} + m_Mesh: {fileID: -2014588322676101042, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &4643603977460086454 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3971126562083824521} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &4136640823569162769 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 476418562824415352} + - component: {fileID: 2902600039765555297} + - component: {fileID: 7052120983454352814} + m_Layer: 0 + m_Name: Controller_Base + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &476418562824415352 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4136640823569162769} + serializedVersion: 2 + m_LocalRotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4312999587465610534} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2902600039765555297 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4136640823569162769} + m_Mesh: {fileID: 22788929071467060, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &7052120983454352814 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4136640823569162769} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dca6b5fc8485ffd4c88bf8ae060949bc, 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!1 &4283425761326543017 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3475118261464492563} + - component: {fileID: 8648301851190464386} + m_Layer: 0 + m_Name: XR Controller Right + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3475118261464492563 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4283425761326543017} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 1, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: -0.05} + m_LocalScale: {x: -1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4312999587465610534} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0} +--- !u!114 &8648301851190464386 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4283425761326543017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 099767effc44a8e478d295d0c4d98289, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ThumbstickTransform: {fileID: 5534257073571976082} + m_StickRotationRange: {x: 30, y: 30} + m_StickInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Thumbstick + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: aa13759d-7cf9-4d6f-aaf3-41bd3fe4e97e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8666952849799569744, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TriggerTransform: {fileID: 2548892874240362547} + m_TriggerXAxisRotationRange: {x: 0, y: -15} + m_TriggerInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Trigger + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 2d080dc4-1ed2-46db-b106-3bbc94b9243c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 83097790271614945, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 + m_GripTransform: {fileID: 4431590825886359359} + m_GripRightRange: {x: -0.0125, y: -0.011} + m_GripInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Grip + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 2b6a1672-1377-4cbc-9b16-5a50bd489433 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 187161793506945269, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!1 &4338091395681428391 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4431590825886359359} + - component: {fileID: 2467634753240625225} + - component: {fileID: 174741061115499315} + m_Layer: 0 + m_Name: Bumper + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4431590825886359359 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4338091395681428391} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000013985816, y: -0.1305262, z: 0.000000018412676, w: 0.9914449} + m_LocalPosition: {x: -0.0125, y: -0.028556997, z: 0.027326612} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4312999587465610534} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2467634753240625225 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4338091395681428391} + m_Mesh: {fileID: -4189514412694937182, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &174741061115499315 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4338091395681428391} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &4827784543866730429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5534257073571976082} + - component: {fileID: 8967149194210545788} + - component: {fileID: 797108429923947933} + m_Layer: 0 + m_Name: ThumbStick + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5534257073571976082 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827784543866730429} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000059604645, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0.008775876, y: -0.002558912, z: -0.0074315914} + m_LocalScale: {x: 1.342947, y: 1.342947, z: 1.342947} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4871301772669071546} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8967149194210545788 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827784543866730429} + m_Mesh: {fileID: -2564423107879867638, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &797108429923947933 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4827784543866730429} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &6163737171295032436 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1912516935883159265} + - component: {fileID: 2643900140894839440} + - component: {fileID: 4876378503311385300} + m_Layer: 0 + m_Name: Button_B + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1912516935883159265 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6163737171295032436} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.012, y: 0.0013757758, z: -0.009} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4871301772669071546} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2643900140894839440 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6163737171295032436} + m_Mesh: {fileID: 8449303727733987256, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &4876378503311385300 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6163737171295032436} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &6847961977512048706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2467139442371389260} + - component: {fileID: 9211829831748775768} + - component: {fileID: 1317338165740228483} + m_Layer: 0 + m_Name: TouchPad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2467139442371389260 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6847961977512048706} + serializedVersion: 2 + m_LocalRotation: {x: 0.00000008146034, y: 0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: -0.0020741627, z: -0.0052528577} + m_LocalScale: {x: 0.982392, y: 1.55, z: 0.982392} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4312999587465610534} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9211829831748775768 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6847961977512048706} + m_Mesh: {fileID: -1120971793077124694, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &1317338165740228483 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6847961977512048706} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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!1 &7461432819638815115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2548892874240362547} + - component: {fileID: 8881652531632955877} + - component: {fileID: 4546197970950160856} + m_Layer: 0 + m_Name: Trigger + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2548892874240362547 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7461432819638815115} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -0.012954317, z: -0.02} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4312999587465610534} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8881652531632955877 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7461432819638815115} + m_Mesh: {fileID: -8653722315008560443, guid: e207c0ed9ef81ab48a0b24a5748d5460, type: 3} +--- !u!23 &4546197970950160856 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7461432819638815115} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d20dcc1b8d971e0459877a92d15415c1, 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} diff --git a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab.meta similarity index 74% rename from Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab.meta index 32cf5cbce..0a33b295d 100644 --- a/Source/XR-Interaction-Component/Source/Resources/XR_Setup_Action_Based_HandTracking.prefab.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 49738f3a17501d7499d78f66d4808100 +guid: e6566b12365b1654cb5238ad582fa096 PrefabImporter: externalObjects: {} userData: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors.meta new file mode 100644 index 000000000..a1481d8c4 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf6afa9eb39cf8a4fb0a7d629b30968c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab new file mode 100644 index 000000000..83c5c4e6c --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab @@ -0,0 +1,229 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8841706926471734270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6189354538098044173} + - component: {fileID: 664489801923019586} + - component: {fileID: 6059725000919627127} + - component: {fileID: 4350281875766305713} + m_Layer: 0 + m_Name: Direct Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6189354538098044173 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8841706926471734270} + 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_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &664489801923019586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8841706926471734270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4253f32900bcc4d499d675566142ded0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 0 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: c915d8ba-cdda-48ee-9269-e3993d7c736b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 08e85da7-e479-4e36-a3f4-42032015b0df + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 68925782-6dea-49c5-be53-a244ff25f229 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: cbe4bb4e-1f55-4428-be51-5b9d2cc24fa8 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 1 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_ImproveAccuracyWithSphereCollider: 1 + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_PhysicsTriggerInteraction: 1 +--- !u!135 &6059725000919627127 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8841706926471734270} + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!114 &4350281875766305713 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8841706926471734270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 664489801923019586} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab.meta new file mode 100644 index 000000000..6923740b4 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0d0865eb0c50113479131890e0fcad3c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab new file mode 100644 index 000000000..93093d272 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab @@ -0,0 +1,447 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3055433562365713971 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7378618157167557198} + - component: {fileID: 6766910295942714439} + - component: {fileID: 6161168854630649507} + - component: {fileID: 2894763562165408636} + m_Layer: 0 + m_Name: Gaze Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &7378618157167557198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3055433562365713971} + 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!114 &6766910295942714439 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3055433562365713971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c416f1a5c494e224fb5564fd1362b50d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 0 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 26dcb486-2cd5-4bf0-83a4-8252a6419ca1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: d589f510-c88e-41dc-89ee-4accd74ded87 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 1b75ac5e-63d2-4c5c-9b86-0fe382e6b137 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: fde38f1d-c7ff-4233-b8ba-2548488943d7 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 16 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 20 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 0 + m_HitClosestOnly: 0 + m_HoverToSelect: 1 + m_HoverTimeToSelect: 1 + m_AutoDeselect: 1 + m_TimeToAutoDeselect: 0.25 + m_EnableUIInteraction: 1 + m_BlockInteractionsWithScreenSpaceUI: 0 + m_BlockUIOnInteractableSelection: 1 + m_ManipulateAttachTransform: 0 + m_UseForceGrab: 0 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_RotateReferenceFrame: {fileID: 0} + m_RotateMode: 0 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_EnableARRaycasting: 0 + m_OccludeARHitsWith3DObjects: 0 + m_OccludeARHitsWith2DObjects: 0 + m_ScaleMode: 0 + m_UIPressInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: 8e16e22c-3195-4e76-b0d2-9ec60d8bfc8e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: f2af0d9f-965a-4778-accc-36828a6e40b8 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 83ec219e-cbbd-4b69-9013-f330cea06247 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TranslateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Translate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 78fd2d8b-06b9-4583-8d46-a896cee22152 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RotateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Rotate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 2941b9e4-5f6c-48d5-9338-136ff3a60e62 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_DirectionalManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Directional Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 4decd4bd-22c4-4e97-af9b-f22d09a3ea8e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleToggleInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Scale Toggle + m_Type: 1 + m_ExpectedControlType: + m_Id: 4e7a5ca5-86e4-4d9d-9678-01fb7083e39b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Scale Toggle Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 0c82215d-82dc-4f94-a5a2-cd3a7186171a + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ScaleOverTimeInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Over Time + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: ec6d1bcc-90c1-4e80-98a9-7de37426ef90 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleDistanceDeltaInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Distance Delta + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 7e170bb1-3339-4b96-bbd9-61c01cb414db + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 + m_GazeAssistanceCalculation: 1 + m_GazeAssistanceColliderFixedSize: 1 + m_GazeAssistanceColliderScale: 1 + m_GazeAssistanceSnapVolume: {fileID: 0} + m_GazeAssistanceDistanceScaling: 0 + m_ClampGazeAssistanceDistanceScaling: 0 + m_GazeAssistanceDistanceScalingClampValue: 0 +--- !u!114 &6161168854630649507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3055433562365713971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b19db2de414f1e347bab5bf4426be20d, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FallbackIfEyeTrackingUnavailable: 1 +--- !u!114 &2894763562165408636 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3055433562365713971} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: e0974d43-a211-4251-882f-3f0b4749db16 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 3220680263695665919, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 0a88b07c-2048-460b-b52d-880dd98ceb35 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -5930349909990434036, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: ca2485cb-f4d4-4bef-84e6-b085e080175c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 2069149553511882089, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: b902054d-edbb-440a-a455-68558ef17b58 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: 629180f1-a17a-4e47-a583-481808df540f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab.meta new file mode 100644 index 000000000..6bafcdba2 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 72dcd83e777d6c94fb8e6e19947daa90 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab new file mode 100644 index 000000000..4af3f2c1e --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab @@ -0,0 +1,738 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1323442585405899171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 893315461643433812} + - component: {fileID: 3755238779732181253} + - component: {fileID: 3053154067257784704} + - component: {fileID: 6278253758758756215} + m_Layer: 0 + m_Name: LineVisual + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &893315461643433812 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323442585405899171} + 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: 5745700813747042508} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3755238779732181253 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323442585405899171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 80e353695beb436ab39a90d9ecefaee6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineRenderer: {fileID: 3053154067257784704} + m_CurveVisualObject: {fileID: 2442306273320644280} + m_OverrideLineOrigin: 1 + m_LineOriginTransform: {fileID: 5745700813747042508} + m_VisualPointCount: 20 + m_MaxVisualCurveDistance: 10 + m_RestingVisualLineLength: 0.25 + m_LineDynamicsMode: 1 + m_RetractDelay: 1 + m_RetractDuration: 1 + m_ExtendLineToEmptyHit: 0 + m_ExtensionRate: 10 + m_EndPointExpansionRate: 10 + m_ComputeMidPointWithComplexCurves: 0 + m_SnapToSelectedAttachIfAvailable: 1 + m_SnapToSnapVolumeIfAvailable: 1 + m_CurveStartOffset: 0.015 + m_CurveEndOffset: 0.005 + m_CustomizeLinePropertiesForState: 1 + m_LinePropertyAnimationSpeed: 8 + m_NoValidHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.25 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 1, b: 1, a: 0.5019608} + key2: {r: 0, g: 0, b: 0, a: 0.2509804} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 193 + atime1: 8192 + atime2: 32768 + atime3: 55705 + atime4: 65342 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_UIHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.004 + m_EndWidth: 0.004 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 0.78431374, b: 0.5686275, a: 0.49019608} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 65535 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 32768 + atime3: 65535 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_UIPressHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.5686275, g: 0.78431374, b: 1, a: 0.627451} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0.78431374} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 32768 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 26214 + atime3: 42598 + atime4: 65535 + atime5: 65535 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 5 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_SelectHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.5 + m_AdjustWidth: 1 + m_StarWidth: 0.003 + m_EndWidth: 0.003 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 0.5686275, g: 0.78431374, b: 1, a: 0.627451} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0.78431374} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 32768 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 8192 + atime2: 26214 + atime3: 42598 + atime4: 65535 + atime5: 65535 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 5 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.75 + m_HoverHitProperties: + m_SmoothlyCurveLine: 1 + m_LineBendRatio: 0.25 + m_AdjustWidth: 1 + m_StarWidth: 0.004 + m_EndWidth: 0.004 + m_EndWidthScaleDistanceFactor: 2 + m_AdjustGradient: 1 + m_Gradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 0} + key1: {r: 1, g: 0.78431374, b: 0.5686275, a: 0.49019608} + key2: {r: 1, g: 1, b: 1, a: 1} + key3: {r: 1, g: 1, b: 1, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 16384 + ctime2: 65535 + ctime3: 65535 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 13878 + atime2: 32768 + atime3: 65535 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 3 + m_NumAlphaKeys: 4 + m_CustomizeExpandLineDrawPercent: 1 + m_ExpandModeLineDrawPercent: 0.9 + m_RenderLineInWorldSpace: 1 + m_SwapMaterials: 0 + m_BaseLineMaterial: {fileID: 0} + m_EmptyHitMaterial: {fileID: 0} +--- !u!120 &3053154067257784704 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323442585405899171} + m_Enabled: 0 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, 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_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_Positions: [] + m_Parameters: + serializedVersion: 3 + widthMultiplier: 1 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.012002945 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 8 + numCapVertices: 8 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 0 +--- !u!210 &6278253758758756215 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1323442585405899171} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 + m_SortAtRoot: 0 +--- !u!1 &4804964734930210078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5745700813747042508} + - component: {fileID: 2442306273320644280} + - component: {fileID: 1722882099693224055} + - component: {fileID: 7104419533170684624} + - component: {fileID: 1255647619390271626} + - component: {fileID: 3179295312718945089} + m_Layer: 0 + m_Name: Left Near-Far Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5745700813747042508 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4804964734930210078} + 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: + - {fileID: 893315461643433812} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2442306273320644280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4804964734930210078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25a07ef133a37d140a87cdf1f1c75fdf, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 1 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 2491b664-3d4e-4f20-a7ae-ee1861d845f2 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: fc42dacc-33eb-41ec-9c17-d242ac6b0c5b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -6131295136447488360, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 6558622148059887818, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 77660b9e-6bbe-4740-b80f-1fea8d0f59e1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 94568f52-c27a-47fc-a190-5e3b17572929 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -5982496924579745919, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -4289430672226363583, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 1 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 1 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 1 + m_InteractionAttachController: {fileID: 1722882099693224055} + m_EnableNearCasting: 1 + m_NearInteractionCaster: {fileID: 7104419533170684624} + m_NearCasterSortingStrategy: 1 + m_SortNearTargetsAfterTargetFilter: 0 + m_EnableFarCasting: 1 + m_FarInteractionCaster: {fileID: 1255647619390271626} + m_FarAttachMode: 1 + m_EnableUIInteraction: 1 + m_BlockUIOnInteractableSelection: 1 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_UIPressInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: ded1ccb2-ff18-46c7-ade9-b80985fe2825 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: d762660e-30e0-4a4d-8e2a-e6b553e03f11 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -6395602842196007441, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 71106601250685021, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: ef5cc4a5-b968-432c-9ae7-45e494178db0 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 2464016903823916871, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!114 &1722882099693224055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4804964734930210078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 792f6c7eaa1a4b82abf8351559ac97eb, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransformToFollow: {fileID: 5745700813747042508} + m_MotionStabilizationMode: 1 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_SmoothOffset: 0 + m_SmoothingSpeed: 10 + m_UseDistanceBasedVelocityScaling: 1 + m_UseMomentum: 1 + m_MomentumDecayScale: 1.25 + m_ZVelocityRampThreshold: 0.3 + m_PullVelocityBias: 1 + m_PushVelocityBias: 1.25 + m_MinAdditionalVelocityScalar: 0.05 + m_MaxAdditionalVelocityScalar: 1.5 +--- !u!114 &7104419533170684624 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4804964734930210078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 48139a683d3b4ac3a37cd5d24f71acf1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CastOrigin: {fileID: 5745700813747042508} + m_EnableStabilization: 0 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_AimTargetObject: {fileID: 0} + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_PhysicsTriggerInteraction: 1 + m_CastRadius: 0.1 +--- !u!114 &1255647619390271626 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4804964734930210078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ef20135915079454985abea5a2ec8967, type: 3} + m_Name: + m_EditorClassIdentifier: + m_CastOrigin: {fileID: 5745700813747042508} + m_EnableStabilization: 1 + m_PositionStabilization: 0.25 + m_AngleStabilization: 20 + m_AimTargetObject: {fileID: 2442306273320644280} + m_RaycastMask: + serializedVersion: 2 + m_Bits: 32 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_TargetNumCurveSegments: 1 + m_HitDetectionType: 2 + m_CastDistance: 10 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 +--- !u!114 &3179295312718945089 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4804964734930210078} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 2442306273320644280} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab.meta new file mode 100644 index 000000000..cd5e8056d --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f686de38c0dc7cb40a032720bcaf52c0 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab new file mode 100644 index 000000000..ca88cf987 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab @@ -0,0 +1,318 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1096232077998711156 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8259524632637961923} + m_Layer: 0 + m_Name: Poke Point + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8259524632637961923 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1096232077998711156} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0.0075} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8252519335222770262} + - {fileID: 302338519044372696} + m_Father: {fileID: 780270278251679399} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4125421792874400280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 780270278251679399} + - component: {fileID: 2417358720014700305} + - component: {fileID: 1838083765625025125} + m_Layer: 0 + m_Name: Left Poke Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &780270278251679399 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125421792874400280} + 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: + - {fileID: 8259524632637961923} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2417358720014700305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125421792874400280} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 1 + m_AttachTransform: {fileID: 8259524632637961923} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_PokeDepth: 0.1 + m_PokeWidth: 0.0075 + m_PokeSelectWidth: 0.015 + m_PokeHoverRadius: 0.015 + m_PokeInteractionOffset: 0.005 + m_PhysicsLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_PhysicsTriggerInteraction: 1 + m_RequirePokeFilter: 1 + m_EnableUIInteraction: 1 + m_DebugVisualizationsEnabled: 0 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1838083765625025125 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4125421792874400280} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 2417358720014700305} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 +--- !u!1 &6644272979841061117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 302338519044372696} + - component: {fileID: 7952884697473184361} + m_Layer: 0 + m_Name: Collider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &302338519044372696 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6644272979841061117} + 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: 8259524632637961923} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!135 &7952884697473184361 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6644272979841061117} + 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: 3 + m_Radius: 0.7 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1001 &8434239218263498173 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8259524632637961923} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalScale.x + value: 50 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalScale.y + value: 50 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalScale.z + value: 50 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalRotation.x + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 90 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_DirtyAABB + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_AABB.m_Center.y + value: 0.009045093 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_AABB.m_Extent.x + value: 0.0077457884 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_AABB.m_Extent.y + value: 0.016694028 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_AABB.m_Extent.z + value: 0.0077457884 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: f5ccd52dc494e054fbe7d7161dcabe25, type: 2} + - target: {fileID: 919132149155446097, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + propertyPath: m_Name + value: Pinch_Pointer_LOD0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b4b483f74ea008746be752bb01d9849b, type: 3} +--- !u!4 &8252519335222770262 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: b4b483f74ea008746be752bb01d9849b, type: 3} + m_PrefabInstance: {fileID: 8434239218263498173} + m_PrefabAsset: {fileID: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab.meta new file mode 100644 index 000000000..6fdd60e32 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8d735939873cb5d44bd0d24e1d81399a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab new file mode 100644 index 000000000..884e5429c --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab @@ -0,0 +1,662 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1787346994484839025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5888765399538998960} + - component: {fileID: 7462879561657043759} + - component: {fileID: 7693184380767619946} + - component: {fileID: 4924506573850889901} + - component: {fileID: 759886463073337534} + - component: {fileID: 5800936643595229357} + m_Layer: 0 + m_Name: Left Ray Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5888765399538998960 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787346994484839025} + 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_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &7462879561657043759 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787346994484839025} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 1 + m_Handedness: 0 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 429ea6c2-900b-4600-9dec-ef981c442e74 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: a2b28d4d-fc21-46c4-a146-41ab6eafdc6e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 9463bd95-e6a6-4e29-a93b-3f0fef3a8139 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 2a74813e-aeb0-4476-9b57-ae667c5da716 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 1 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_LineType: 0 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 10 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 12 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 60 + m_HitDetectionType: 2 + m_SphereCastRadius: 0.0125 + m_ConeCastAngle: 3 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 2147483681 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_AutoDeselect: 0 + m_TimeToAutoDeselect: 1 + m_EnableUIInteraction: 1 + m_BlockUIOnInteractableSelection: 1 + m_ManipulateAttachTransform: 1 + m_UseForceGrab: 0 + m_RotateSpeed: 180 + m_TranslateSpeed: 1 + m_RotateReferenceFrame: {fileID: 0} + m_RotateMode: 0 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_EnableARRaycasting: 0 + m_OccludeARHitsWith3DObjects: 0 + m_OccludeARHitsWith2DObjects: 0 + m_ScaleMode: 1 + m_UIPressInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: 114095d0-3f3f-4498-8173-6c1ef51c395f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 28edaf06-248c-4566-9e77-e0a8306f5b23 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: a97b7b43-9f7a-4629-8bf8-cd9e4366135e + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TranslateManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Translate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 4ebd55dc-790f-4902-a152-a2ad2f58b954 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RotateManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Rotate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 57b99265-24c1-4c01-9723-1e2d868d39a3 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_DirectionalManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Directional Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 8745cceb-738c-4169-a81b-c9611ff835c1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleToggleInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Scale Toggle + m_Type: 1 + m_ExpectedControlType: + m_Id: 3f354885-6c35-4d4c-8937-f39f9281823f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Scale Toggle Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 7cb37a30-9cf3-4543-a117-80b77e8a2158 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ScaleOverTimeInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Scale Over Time + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: bb96d9ab-3ef4-47b7-85c5-67f09482637d + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleDistanceDeltaInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Distance Delta + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 16abd2a2-ba80-4824-a33c-cd5a47c3cfa5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!120 &7693184380767619946 +LineRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787346994484839025} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, 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_ReceiveGI: 1 + m_PreserveUVs: 0 + 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 + m_Positions: [] + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + shadowBias: 0 + generateLightingData: 0 + m_UseWorldSpace: 1 + m_Loop: 0 +--- !u!114 &4924506573850889901 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787346994484839025} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.005 + m_OverrideInteractorLineLength: 1 + m_LineLength: 10 + m_AutoAdjustLineLength: 1 + m_MinLineLength: 0.5 + m_UseDistanceToHitAsMaxLineLength: 1 + m_LineRetractionDelay: 0.5 + m_LineLengthChangeSpeed: 12 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + m_SetLineColorGradient: 1 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 0, g: 0.627451, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 0} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 1 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 0} + m_BlockedReticle: {fileID: 0} + m_StopLineAtFirstRaycastHit: 1 + m_StopLineAtSelection: 1 + m_SnapEndpointIfAvailable: 1 + m_LineBendRatio: 0.5 + m_OverrideInteractorLineOrigin: 1 + m_LineOriginTransform: {fileID: 0} + m_LineOriginOffset: 0 +--- !u!210 &759886463073337534 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787346994484839025} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 +--- !u!114 &5800936643595229357 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1787346994484839025} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 7462879561657043759} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 0 diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab.meta new file mode 100644 index 000000000..8d3ebe831 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 79e74f0b53fad664b868e4fdb60c632c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab new file mode 100644 index 000000000..cef24fee8 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab @@ -0,0 +1,681 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2761784063978902507 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2761784063978902506} + - component: {fileID: 2761784063978902503} + - component: {fileID: 2761784063978902504} + - component: {fileID: 2761784063978902505} + - component: {fileID: 7708679388415899527} + - component: {fileID: 3616344554909481683} + m_Layer: 0 + m_Name: Left Teleport Interactor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2761784063978902506 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2761784063978902507} + 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!114 &2761784063978902503 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2761784063978902507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 2 + m_Handedness: 1 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 0 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_SelectInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Select + m_Type: 1 + m_ExpectedControlType: + m_Id: 36843f28-4fd5-4729-b5a6-afe92ef11597 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Select Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 1a51c331-470d-4462-b8e1-2522a24bd40c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ActivateInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Activate + m_Type: 1 + m_ExpectedControlType: + m_Id: 0ace7244-e61f-4e60-8d0b-2ef8c3ae51af + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Activate Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: bdf06a24-21b3-4f27-a8a3-72086e6c7f00 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -5982496924579745919, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -4289430672226363583, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_SelectActionTrigger: 0 + m_AllowHoveredActivate: 0 + m_TargetPriorityMode: 0 + m_HideControllerOnSelect: 0 + m_InputCompatibilityMode: 0 + m_PlayAudioClipOnSelectEntered: 0 + m_AudioClipForOnSelectEntered: {fileID: 0} + m_PlayAudioClipOnSelectExited: 0 + m_AudioClipForOnSelectExited: {fileID: 0} + m_PlayAudioClipOnSelectCanceled: 0 + m_AudioClipForOnSelectCanceled: {fileID: 0} + m_PlayAudioClipOnHoverEntered: 0 + m_AudioClipForOnHoverEntered: {fileID: 0} + m_PlayAudioClipOnHoverExited: 0 + m_AudioClipForOnHoverExited: {fileID: 0} + m_PlayAudioClipOnHoverCanceled: 0 + m_AudioClipForOnHoverCanceled: {fileID: 0} + m_AllowHoverAudioWhileSelecting: 0 + m_PlayHapticsOnSelectEntered: 0 + m_HapticSelectEnterIntensity: 0 + m_HapticSelectEnterDuration: 0 + m_PlayHapticsOnSelectExited: 0 + m_HapticSelectExitIntensity: 0 + m_HapticSelectExitDuration: 0 + m_PlayHapticsOnSelectCanceled: 0 + m_HapticSelectCancelIntensity: 0 + m_HapticSelectCancelDuration: 0 + m_PlayHapticsOnHoverEntered: 0 + m_HapticHoverEnterIntensity: 0 + m_HapticHoverEnterDuration: 0 + m_PlayHapticsOnHoverExited: 0 + m_HapticHoverExitIntensity: 0 + m_HapticHoverExitDuration: 0 + m_PlayHapticsOnHoverCanceled: 0 + m_HapticHoverCancelIntensity: 0 + m_HapticHoverCancelDuration: 0 + m_AllowHoverHapticsWhileSelecting: 0 + m_LineType: 1 + m_BlendVisualLinePoints: 1 + m_MaxRaycastDistance: 30 + m_RayOriginTransform: {fileID: 0} + m_ReferenceFrame: {fileID: 0} + m_Velocity: 10 + m_Acceleration: 9.8 + m_AdditionalGroundHeight: 0.1 + m_AdditionalFlightTime: 0.5 + m_EndPointDistance: 30 + m_EndPointHeight: -10 + m_ControlPointDistance: 10 + m_ControlPointHeight: 5 + m_SampleFrequency: 50 + m_HitDetectionType: 0 + m_SphereCastRadius: 0.1 + m_ConeCastAngle: 6 + m_RaycastMask: + serializedVersion: 2 + m_Bits: 256 + m_RaycastTriggerInteraction: 1 + m_RaycastSnapVolumeInteraction: 1 + m_HitClosestOnly: 0 + m_HoverToSelect: 0 + m_HoverTimeToSelect: 0.5 + m_AutoDeselect: 0 + m_TimeToAutoDeselect: 1 + m_EnableUIInteraction: 0 + m_BlockInteractionsWithScreenSpaceUI: 0 + m_BlockUIOnInteractableSelection: 1 + m_ManipulateAttachTransform: 1 + m_UseForceGrab: 0 + m_RotateSpeed: 180 + m_TranslateSpeed: 0 + m_RotateReferenceFrame: {fileID: 0} + m_RotateMode: 1 + m_UIHoverEntered: + m_PersistentCalls: + m_Calls: [] + m_UIHoverExited: + m_PersistentCalls: + m_Calls: [] + m_EnableARRaycasting: 0 + m_OccludeARHitsWith3DObjects: 0 + m_OccludeARHitsWith2DObjects: 0 + m_ScaleMode: 0 + m_UIPressInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: UI Press + m_Type: 1 + m_ExpectedControlType: + m_Id: 54867c8e-3650-4605-a53c-ee8ffb351dcf + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: UI Press Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 257d8673-0295-4ff5-b278-e63d20cd918b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_UIScrollInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: UI Scroll + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 8c6b1aac-a242-4bf4-a5b3-bfad6e83b638 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_TranslateManipulationInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Translate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 0f9fd0ee-650d-41a6-ab30-2a036c425c21 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RotateManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Rotate Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: cadca2d2-f642-4efc-a222-c1827be3e896 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -7363382999065477798, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_DirectionalManipulationInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Directional Manipulation + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 472cbca3-7add-47a9-a5fc-73d3d10107aa + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8811388872089202044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleToggleInput: + m_InputSourceMode: 0 + m_InputActionPerformed: + m_Name: Scale Toggle + m_Type: 1 + m_ExpectedControlType: + m_Id: 692a9304-a2fd-4dbd-9e2f-2fb4b6154f1c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Scale Toggle Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: d0cf082b-f2d7-4100-b069-651cf2820425 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 0} + m_InputActionReferenceValue: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_ScaleOverTimeInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Over Time + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 6f835f0d-f1c2-461c-b8bc-edc587e89149 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_ScaleDistanceDeltaInput: + m_InputSourceMode: 0 + m_InputAction: + m_Name: Scale Distance Delta + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 9140e1d5-f197-46d4-88c2-a02441edeac5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 0} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: 0 +--- !u!120 &2761784063978902504 +LineRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2761784063978902507} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 0 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10306, 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_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_Positions: [] + m_Parameters: + serializedVersion: 3 + widthMultiplier: 0.02 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 4 + numCapVertices: 4 + alignment: 0 + textureMode: 0 + textureScale: {x: 1, y: 1} + shadowBias: 0.5 + generateLightingData: 0 + m_MaskInteraction: 0 + m_UseWorldSpace: 1 + m_Loop: 0 + m_ApplyActiveColorSpace: 0 +--- !u!114 &2761784063978902505 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2761784063978902507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e988983f96fe1dd48800bcdfc82f23e9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LineWidth: 0.01 + m_OverrideInteractorLineLength: 0 + m_LineLength: 10 + m_AutoAdjustLineLength: 0 + m_MinLineLength: 0.02 + m_UseDistanceToHitAsMaxLineLength: 1 + m_LineRetractionDelay: 0.5 + m_LineLengthChangeSpeed: 12 + m_WidthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + 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: 4 + m_SetLineColorGradient: 1 + m_ValidColorGradient: + serializedVersion: 2 + key0: {r: 0.1254902, g: 0.5882353, b: 0.9529412, a: 0.5882353} + key1: {r: 0.1254902, g: 0.5882353, b: 0.9529412, a: 0.5882353} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_InvalidColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 0.5882353} + key1: {r: 1, g: 0, b: 0, a: 0.5882353} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_BlockedColorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key1: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + m_TreatSelectionAsValidState: 0 + m_SmoothMovement: 0 + m_FollowTightness: 10 + m_SnapThresholdDistance: 10 + m_Reticle: {fileID: 8748868027195207512, guid: 0c9c836faf8b16c4896fef2e890b91db, type: 3} + m_BlockedReticle: {fileID: 3177232254315139758, guid: 8963c70806d0e3441802c7bbc8162b5c, type: 3} + m_StopLineAtFirstRaycastHit: 1 + m_StopLineAtSelection: 0 + m_SnapEndpointIfAvailable: 1 + m_LineBendRatio: 0.5 + m_BendingEnabledInteractionLayers: + m_Bits: 4294967295 + m_OverrideInteractorLineOrigin: 1 + m_LineOriginTransform: {fileID: 0} + m_LineOriginOffset: 0 +--- !u!210 &7708679388415899527 +SortingGroup: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2761784063978902507} + m_Enabled: 1 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 30005 + m_SortAtRoot: 0 +--- !u!114 &3616344554909481683 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2761784063978902507} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd0b9921bce4eeb49bd05815b1135ac2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractorSourceObject: {fileID: 2761784063978902503} + m_HapticImpulsePlayer: {fileID: 0} + m_PlaySelectEntered: 1 + m_SelectEnteredData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectExited: 0 + m_SelectExitedData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlaySelectCanceled: 0 + m_SelectCanceledData: + m_Amplitude: 0.5 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverEntered: 1 + m_HoverEnteredData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverExited: 0 + m_HoverExitedData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_PlayHoverCanceled: 0 + m_HoverCanceledData: + m_Amplitude: 0.25 + m_Duration: 0.1 + m_Frequency: 0 + m_AllowHoverHapticsWhileSelecting: 1 diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab.meta new file mode 100644 index 000000000..df34cbab0 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a2e0d2602b7b30b45af3f8322f3177e3 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab new file mode 100644 index 000000000..863c3b5e9 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab @@ -0,0 +1,91 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &5466934804221647388 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_Handedness + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_UIScrollInput.m_InputActionReference + value: + objectReference: {fileID: -6756787485274679044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_SelectInput.m_InputActionReferenceValue + value: + objectReference: {fileID: -1758520528963094988, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_UIPressInput.m_InputActionReferenceValue + value: + objectReference: {fileID: -5908353012961274365, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_ActivateInput.m_InputActionReferenceValue + value: + objectReference: {fileID: 7904272356298805229, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_SelectInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: 187161793506945269, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_UIPressInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: 3279264004350380116, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_ActivateInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: 83097790271614945, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 4804964734930210078, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_Name + value: Right Near-Far Interactor Variant + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab.meta new file mode 100644 index 000000000..c1930c0f2 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5182b73af4615e542ad931efb94bbfac +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab new file mode 100644 index 000000000..c746bdafd --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab @@ -0,0 +1,63 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &6989042406785534480 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2417358720014700305, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_Handedness + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4125421792874400280, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_Name + value: Right Poke Interactor + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab.meta new file mode 100644 index 000000000..487f06b92 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b237d3b0ac3fe474a80320440feee9ca +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab new file mode 100644 index 000000000..e02d4cf8e --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab @@ -0,0 +1,87 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &1704807229304346339 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_Handedness + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_SelectInput.m_InputActionReferenceValue + value: + objectReference: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_ActivateInput.m_InputActionReferenceValue + value: + objectReference: {fileID: 7904272356298805229, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_SelectInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_ActivateInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: 83097790271614945, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_RotateManipulationInput.m_InputActionReference + value: + objectReference: {fileID: -5913262927076077117, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_DirectionalManipulationInput.m_InputActionReference + value: + objectReference: {fileID: -440298646266941818, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902507, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_Name + value: Right Teleport Interactor + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab.meta new file mode 100644 index 000000000..ed6b0f0de --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0a15e3f2d4fe68c438b7a61fe633c9af +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources.meta new file mode 100644 index 000000000..20632ca2f --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f05cb2f2f35bf4b47aeede5f7a8ff4c9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables.meta new file mode 100644 index 000000000..c94f56a9d --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0ead2971f28fa2847a540089efbe9dac +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab new file mode 100644 index 000000000..137e2335d --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3774509235512974894 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5258331117553129771} + - component: {fileID: 8634317094661461186} + m_Layer: 0 + m_Name: VRBuilderTeleportInteractionAffordancePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5258331117553129771 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3774509235512974894} + 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!114 &8634317094661461186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3774509235512974894} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 49e0a5b5ff5540f5b14dd29d46faec22, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TransitionDuration: 0.125 + m_InteractableSource: {fileID: 0} + m_IgnoreHoverEvents: 0 + m_IgnoreHoverPriorityEvents: 1 + m_IgnoreFocusEvents: 0 + m_IgnoreSelectEvents: 0 + m_IgnoreActivateEvents: 0 + m_SelectClickAnimationMode: 1 + m_ActivateClickAnimationMode: 1 + m_ClickAnimationDuration: 0.25 + m_ClickAnimationCurve: + m_UseConstant: 1 + m_ConstantValue: + 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: 4 + m_Variable: {fileID: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab.meta new file mode 100644 index 000000000..e9af388e6 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6c76e11abd76dee4489e5873bb3dc1cd +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab.meta rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab.meta diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab new file mode 100644 index 000000000..ce3275833 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab @@ -0,0 +1,73 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1970079998938739350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5506923069153496605} + - component: {fileID: 2068195905681438965} + - component: {fileID: 4927279369640064076} + m_Layer: 0 + m_Name: VRBuilderTeleportationSnapVolumePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5506923069153496605 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970079998938739350} + 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!114 &2068195905681438965 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970079998938739350} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 87996e81a5026dc429bfd6a9271548b6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractableObject: {fileID: 0} + m_SnapCollider: {fileID: 4927279369640064076} + m_DisableSnapColliderWhenSelected: 0 + m_SnapToCollider: {fileID: 0} +--- !u!65 &4927279369640064076 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970079998938739350} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1.25, y: 0.6, z: 1.25} + m_Center: {x: 0, y: 0.3, z: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab.meta new file mode 100644 index 000000000..7e7ed69a6 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ea02a43060fe9f54e9bea37ca5c22431 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport.meta new file mode 100644 index 000000000..6f8b0c199 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a545d71d78dcfc418b26537f74c433a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab similarity index 58% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab rename to Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab index a3cf593b0..0be2a4a6d 100644 --- a/Source/Basic-Interaction-Component/Runtime/Static Assets/Prefabs/controller.prefab +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &2628209756082337060 +--- !u!1 &3177232254315139758 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,33 +8,33 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1306640934352848695} + - component: {fileID: 2563787388445243513} m_Layer: 0 - m_Name: controller + m_Name: Blocking Teleport Reticle m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1306640934352848695 +--- !u!4 &2563787388445243513 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2628209756082337060} + m_GameObject: {fileID: 3177232254315139758} 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: 8344996962695277796} - - {fileID: 1848765027741141891} - - {fileID: 7567424807152353748} - - {fileID: 7019551104157351595} + - {fileID: 3734495568408943953} + - {fileID: 778375324165619322} + - {fileID: 7987415996582467311} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5144984381855325886 +--- !u!1 &4078087813272782827 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -42,56 +42,60 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 8344996962695277796} - - component: {fileID: 3190665940219338050} - - component: {fileID: 6681864472371505638} + - component: {fileID: 3734495568408943953} + - component: {fileID: 323217367318794996} + - component: {fileID: 2565005812390356542} m_Layer: 0 - m_Name: pCube1 + m_Name: Reticle_Torus m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &8344996962695277796 +--- !u!4 &3734495568408943953 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5144984381855325886} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: -0.11332694} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 4078087813272782827} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: -0, y: 0.02, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1306640934352848695} + m_Father: {fileID: 2563787388445243513} m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3190665940219338050 + m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} +--- !u!33 &323217367318794996 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5144984381855325886} - m_Mesh: {fileID: 4068373912626513877, guid: e3881b2fb79daf942aa3338ec96dadf3, type: 3} ---- !u!23 &6681864472371505638 + m_GameObject: {fileID: 4078087813272782827} + m_Mesh: {fileID: 1865056248366311061, guid: be2911572dc3afa448d24b4e97edc5f1, type: 3} +--- !u!23 &2565005812390356542 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5144984381855325886} + m_GameObject: {fileID: 4078087813272782827} 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: 055291900e2c5a140b7adc1d5abf6dd4, type: 2} + - {fileID: 5561349426305759274, guid: be2911572dc3afa448d24b4e97edc5f1, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -112,7 +116,8 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!1 &5250333270696328470 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4758630291384489580 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -120,86 +125,60 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 7567424807152353748} + - component: {fileID: 778375324165619322} + - component: {fileID: 2927918565195676834} + - component: {fileID: 8768212848982897536} m_Layer: 0 - m_Name: pDisc1 + m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &7567424807152353748 +--- !u!4 &778375324165619322 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5250333270696328470} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0.023186134, z: 0.111999996} - m_LocalScale: {x: 0.8, y: 1, z: 0.8} + m_GameObject: {fileID: 4758630291384489580} + m_LocalRotation: {x: 0, y: 0.38268343, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0.02, z: 0} + m_LocalScale: {x: 0.045, y: 0.01, z: 0.42} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1306640934352848695} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7955750494850048608 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1848765027741141891} - - component: {fileID: 7240680133510941581} - - component: {fileID: 2015494493864104044} - m_Layer: 0 - m_Name: pCylinder1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1848765027741141891 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7955750494850048608} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0.02431608, z: -0.0013269399} - m_LocalScale: {x: 0.75, y: 0.01, z: 0.75} - m_Children: [] - m_Father: {fileID: 1306640934352848695} + m_Father: {fileID: 2563787388445243513} m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7240680133510941581 + m_LocalEulerAnglesHint: {x: 0, y: 45, z: 0} +--- !u!33 &2927918565195676834 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7955750494850048608} - m_Mesh: {fileID: -5076798556035486163, guid: e3881b2fb79daf942aa3338ec96dadf3, type: 3} ---- !u!23 &2015494493864104044 + m_GameObject: {fileID: 4758630291384489580} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8768212848982897536 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7955750494850048608} + m_GameObject: {fileID: 4758630291384489580} 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: 055291900e2c5a140b7adc1d5abf6dd4, type: 2} + - {fileID: 5561349426305759274, guid: be2911572dc3afa448d24b4e97edc5f1, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -220,7 +199,8 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 ---- !u!1 &8612368384391320526 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &7695955595699998785 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -228,56 +208,60 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 7019551104157351595} - - component: {fileID: 6284710057567706848} - - component: {fileID: 2041682521695266817} + - component: {fileID: 7987415996582467311} + - component: {fileID: 2013048276783952217} + - component: {fileID: 6597926611939023800} m_Layer: 0 - m_Name: pSphere1 + m_Name: Cube m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &7019551104157351595 +--- !u!4 &7987415996582467311 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8612368384391320526} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 0, z: -0.0013269399} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 7695955595699998785} + m_LocalRotation: {x: 0, y: -0.38268343, z: 0, w: 0.92387956} + m_LocalPosition: {x: 0, y: 0.02, z: 0} + m_LocalScale: {x: 0.045, y: 0.01, z: 0.42} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1306640934352848695} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6284710057567706848 + m_Father: {fileID: 2563787388445243513} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0} +--- !u!33 &2013048276783952217 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8612368384391320526} - m_Mesh: {fileID: 2540817853737639666, guid: e3881b2fb79daf942aa3338ec96dadf3, type: 3} ---- !u!23 &2041682521695266817 + m_GameObject: {fileID: 7695955595699998785} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &6597926611939023800 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8612368384391320526} + m_GameObject: {fileID: 7695955595699998785} 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: 055291900e2c5a140b7adc1d5abf6dd4, type: 2} + - {fileID: 5561349426305759274, guid: be2911572dc3afa448d24b4e97edc5f1, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -298,3 +282,4 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab.meta new file mode 100644 index 000000000..5ee9e6603 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8963c70806d0e3441802c7bbc8162b5c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab new file mode 100644 index 000000000..31575b2d1 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab @@ -0,0 +1,342 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1012474302365061065 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8934229655344817645} + - component: {fileID: 5962201224213111797} + - component: {fileID: 4425444026892826216} + m_Layer: 5 + m_Name: LegibilityMask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8934229655344817645 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012474302365061065} + 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: 675172513429724377} + m_RootOrder: 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: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5962201224213111797 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012474302365061065} + m_CullTransparentMesh: 1 +--- !u!114 &4425444026892826216 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1012474302365061065} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 6f3d696f7c3365846b6dc2402afb3d3e, type: 2} + m_Color: {r: 0, g: 0, b: 0, a: 0.7490196} + 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: 21300000, guid: a85d80c1edb5d2f458d42e79f78055b9, type: 3} + m_Type: 0 + 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!1 &2381863983095932316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 675172513429724377} + - component: {fileID: 3525437950293334695} + - component: {fileID: 6685223427317928156} + - component: {fileID: 6603494849455392037} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &675172513429724377 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2381863983095932316} + m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8934229655344817645} + - {fileID: 625181587466419018} + m_Father: {fileID: 4241918020790837401} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 90, 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: 50, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!223 &3525437950293334695 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2381863983095932316} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 2 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &6685223427317928156 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2381863983095932316} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 1 +--- !u!114 &6603494849455392037 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2381863983095932316} + 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!1 &4664704153202512397 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 625181587466419018} + - component: {fileID: 5426692648920724456} + - component: {fileID: 4346818701845822207} + m_Layer: 5 + m_Name: ArrowImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &625181587466419018 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4664704153202512397} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 675172513429724377} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5426692648920724456 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4664704153202512397} + m_CullTransparentMesh: 1 +--- !u!114 &4346818701845822207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4664704153202512397} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: 6f3d696f7c3365846b6dc2402afb3d3e, type: 2} + 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: 21300000, guid: f8ecc54972abacc46a93f671b0602139, type: 3} + m_Type: 0 + 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!1 &5212361887338514247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2012181715459153768} + - component: {fileID: 3190360804220159386} + m_Layer: 0 + m_Name: Climb Teleport Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2012181715459153768 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5212361887338514247} + 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: 4241918020790837401} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &3190360804220159386 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5212361887338514247} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: db6239f7ccb29ca4aac63126c6a35e7d, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!1 &6551041024203653996 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4241918020790837401} + m_Layer: 0 + m_Name: Arrow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4241918020790837401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6551041024203653996} + 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: 675172513429724377} + m_Father: {fileID: 2012181715459153768} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab.meta new file mode 100644 index 000000000..36afdc6b2 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bb7ea2e5c009e7c46afed352eb1941aa +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab new file mode 100644 index 000000000..439274603 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab @@ -0,0 +1,187 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &267897047611828928 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4559510824621843958} + - component: {fileID: 3945107309013936975} + - component: {fileID: 20787158971208101} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4559510824621843958 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267897047611828928} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.025, y: 0.025, z: 0.025} + m_ConstrainProportionsScale: 1 + m_Children: [] + m_Father: {fileID: 8568544637412148623} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3945107309013936975 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267897047611828928} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &20787158971208101 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 267897047611828928} + 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_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 91ff3830fc4055a4fb0d0d2be32101a7, 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!1 &8748868027195207512 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8568544637412148623} + m_Layer: 0 + m_Name: Directional Teleport Reticle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8568544637412148623 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8748868027195207512} + 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: + - {fileID: 8315389621443197127} + - {fileID: 4559510824621843958} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &8425262593981685548 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 8568544637412148623} + m_Modifications: + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: -7511558181221131132, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: 'm_Materials.Array.data[0]' + value: + objectReference: {fileID: 2100000, guid: 7715c273796647d459a92e6c39a0850f, type: 2} + - target: {fileID: 919132149155446097, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + propertyPath: m_Name + value: BlinkVisual + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} +--- !u!4 &8315389621443197127 stripped +Transform: + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: d80e4051e5b63944b9361161afdc9cb6, type: 3} + m_PrefabInstance: {fileID: 8425262593981685548} + m_PrefabAsset: {fileID: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab.meta new file mode 100644 index 000000000..8878c0a32 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0c9c836faf8b16c4896fef2e890b91db +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig.meta new file mode 100644 index 000000000..f9c2e3657 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7f4d1eefc0fbd0144883d558b76857bb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab new file mode 100644 index 000000000..37af7dee3 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab @@ -0,0 +1,2556 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &680565149850653683 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5988839063423520483} + m_Layer: 0 + m_Name: Left Controller Stabilized Attach + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5988839063423520483 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 680565149850653683} + 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: 298040897239730288} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &807987889076539232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3959939962666503032} + m_Layer: 0 + m_Name: Camera Offset + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3959939962666503032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 807987889076539232} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.36144, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8078486964815253479} + - {fileID: 8133312513105669296} + - {fileID: 72536092009288277} + - {fileID: 5520994112468678325} + - {fileID: 298040897239730288} + - {fileID: 7830304639371603829} + - {fileID: 5104734919487269941} + m_Father: {fileID: 6578433699197303339} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1148638540520929317 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3779888397263787978} + - component: {fileID: 8123215858274805866} + - component: {fileID: 3361771730690789630} + m_Layer: 2 + m_Name: Climb Teleport + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3779888397263787978 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1148638540520929317} + 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: 7085941789521148762} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8123215858274805866 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1148638540520929317} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3c5f6c9defa4ae9ad41bcc3f8754f86, type: 3} + m_Name: + m_EditorClassIdentifier: + m_InteractionManager: {fileID: 0} + m_InteractionLayers: + m_Bits: 4294967295 + m_Handedness: 0 + m_AttachTransform: {fileID: 0} + m_KeepSelectedTargetValid: 1 + m_DisableVisualsWhenBlockedInGroup: 1 + m_StartingSelectedInteractable: {fileID: 0} + m_StartingTargetFilter: {fileID: 0} + m_HoverEntered: + m_PersistentCalls: + m_Calls: [] + m_HoverExited: + m_PersistentCalls: + m_Calls: [] + m_SelectEntered: + m_PersistentCalls: + m_Calls: [] + m_SelectExited: + m_PersistentCalls: + m_Calls: [] + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] + m_ClimbProvider: {fileID: 4744638590257093535} + m_DestinationEvaluationSettings: + m_UseConstant: 1 + m_ConstantValue: + m_EnableDestinationEvaluationDelay: 0 + m_DestinationEvaluationDelayTime: 1 + m_PollForDestinationChange: 1 + m_DestinationPollFrequency: 1 + m_DestinationFilterObject: {fileID: 11400000, guid: 22becb1b271978f41bb17d1c741842e8, type: 2} + m_Variable: {fileID: 0} +--- !u!114 &3361771730690789630 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1148638540520929317} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 403f8ba1dc82bb842b2dd5de318ed2ab, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ClimbTeleportInteractor: {fileID: 8123215858274805866} + m_PointerPrefab: {fileID: 5212361887338514247, guid: bb7ea2e5c009e7c46afed352eb1941aa, type: 3} + m_PointerDistance: 0.3 +--- !u!1 &1463673325037618275 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6578433699197303339} + - component: {fileID: 9169449210091686126} + - component: {fileID: 585130180470662022} + - component: {fileID: 8505043569064221958} + - component: {fileID: 274093747024218467} + - component: {fileID: 4874657719394551041} + m_Layer: 2 + m_Name: XRI Rig + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6578433699197303339 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463673325037618275} + 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: + - {fileID: 3959939962666503032} + - {fileID: 9052800340542691862} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &9169449210091686126 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463673325037618275} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e0cb9aa70a22847b5925ee5f067c10a9, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Camera: {fileID: 3208376025090446691} + m_OriginBaseGameObject: {fileID: 1463673325037618275} + m_CameraFloorOffsetObject: {fileID: 807987889076539232} + m_RequestedTrackingOriginMode: 0 + m_CameraYOffset: 1.36144 +--- !u!143 &585130180470662022 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463673325037618275} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 1.36144 + m_Radius: 0.1 + m_SlopeLimit: 45 + m_StepOffset: 0.5 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.76072, z: 0} +--- !u!114 &8505043569064221958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463673325037618275} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 017c5e3933235514c9520e1dace2a4b2, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ActionAssets: + - {fileID: -944628639613478452, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} +--- !u!114 &274093747024218467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463673325037618275} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82bc72d2ecc8add47b2fe00d40318500, type: 3} + m_Name: + m_EditorClassIdentifier: + m_LeftHand: {fileID: 0} + m_RightHand: {fileID: 0} + m_LeftController: {fileID: 6465276583138103291} + m_RightController: {fileID: 7454234181192335656} + m_TrackedHandModeStarted: + m_PersistentCalls: + m_Calls: [] + m_TrackedHandModeEnded: + m_PersistentCalls: + m_Calls: [] + m_MotionControllerModeStarted: + m_PersistentCalls: + m_Calls: [] + m_MotionControllerModeEnded: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &4874657719394551041 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1463673325037618275} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c9b3d17eeb2e6bc47ada81d8f7f638d8, type: 3} + m_Name: + m_EditorClassIdentifier: + m_GazeInteractor: {fileID: 5427312207031845561} + m_FallbackDivergence: 60 + m_HideCursorWithNoActiveRays: 1 + m_RayInteractors: + - m_Interactor: {fileID: 0} + m_TeleportRay: 0 + - m_Interactor: {fileID: 0} + m_TeleportRay: 1 + - m_Interactor: {fileID: 0} + m_TeleportRay: 0 + - m_Interactor: {fileID: 0} + m_TeleportRay: 1 + m_AimAssistRequiredAngle: 30 + m_AimAssistRequiredSpeed: 0.25 + m_AimAssistPercent: 0.8 + m_AimAssistMaxSpeedPercent: 10 +--- !u!1 &1896253379878763677 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2177026004203292198} + m_Layer: 0 + m_Name: Right Controller Stabilized Attach + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2177026004203292198 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1896253379878763677} + 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: 5104734919487269941} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2870162753067900310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 298040897239730288} + - component: {fileID: 8194363176017792424} + m_Layer: 0 + m_Name: Left Controller Teleport Stabilized Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &298040897239730288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2870162753067900310} + 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: + - {fileID: 5988839063423520483} + m_Father: {fileID: 3959939962666503032} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8194363176017792424 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2870162753067900310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 438990380313266221} + m_AimTargetObject: {fileID: 7086510513979687868} + m_UseLocalSpace: 0 + m_AngleStabilization: 20 + m_PositionStabilization: 0.25 +--- !u!1 &3245518215864242236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7085941789521148762} + - component: {fileID: 4744638590257093535} + m_Layer: 2 + m_Name: Climb + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7085941789521148762 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3245518215864242236} + 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: + - {fileID: 3779888397263787978} + m_Father: {fileID: 9052800340542691862} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4744638590257093535 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3245518215864242236} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 496880615cd240be960d436c1c8ae570, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_ClimbSettings: + m_UseConstant: 1 + m_ConstantValue: + m_AllowFreeXMovement: 1 + m_AllowFreeYMovement: 1 + m_AllowFreeZMovement: 1 + m_Variable: {fileID: 0} +--- !u!1 &3389193693165691771 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8142400933305096202} + m_Layer: 0 + m_Name: Gaze Stabilized Attach + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8142400933305096202 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3389193693165691771} + 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: 72536092009288277} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4756470081746441111 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 72536092009288277} + - component: {fileID: 3227424381715905221} + m_Layer: 0 + m_Name: Gaze Stabilized + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &72536092009288277 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4756470081746441111} + 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: + - {fileID: 8142400933305096202} + m_Father: {fileID: 3959939962666503032} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3227424381715905221 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4756470081746441111} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 8133312513105669296} + m_AimTargetObject: {fileID: 0} + m_UseLocalSpace: 1 + m_AngleStabilization: 20 + m_PositionStabilization: 0.25 +--- !u!1 &5834990298637912825 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4349389966346483727} + - component: {fileID: 6712179180355978297} + - component: {fileID: 4394517144110144287} + m_Layer: 2 + m_Name: Turn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4349389966346483727 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5834990298637912825} + 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: 9052800340542691862} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6712179180355978297 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5834990298637912825} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e9f365cf844c03449bc8973eead2c3c1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_TurnAmount: 45 + m_DebounceTime: 0.5 + m_EnableTurnLeftRight: 1 + m_EnableTurnAround: 1 + m_DelayTime: 0 + m_LeftHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Left Hand Snap Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 536e141d-ee23-4272-b0fd-3984d1655f02 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -7374733323251553461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RightHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Right Hand Snap Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: b17ca378-4740-48c7-abe1-7f35bce317e9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8525429354371678379, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!114 &4394517144110144287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5834990298637912825} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 75b29b6c6428c984a8a73ffc2d58063b, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_TurnSpeed: 60 + m_LeftHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Left Hand Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: 3610965d-108d-4451-a143-a78d1ee8f9b8 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 1010738217276881514, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RightHandTurnInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Right Hand Turn + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: eeb82678-2af4-4b6c-87fc-621bb707edc5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -6493913391331992944, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} +--- !u!1 &6042744667277377776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9052800340542691862} + - component: {fileID: 1898783407439701257} + - component: {fileID: 295342365334092654} + m_Layer: 2 + m_Name: Locomotion + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9052800340542691862 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6042744667277377776} + 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: + - {fileID: 4349389966346483727} + - {fileID: 5100379558906863498} + - {fileID: 5397552371647261012} + - {fileID: 3373645224384528896} + - {fileID: 7085941789521148762} + m_Father: {fileID: 6578433699197303339} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1898783407439701257 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6042744667277377776} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6fa7b4195685c3846be746c74f0ab2f8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &295342365334092654 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6042744667277377776} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6a26c941eb8a46f7b6d00416227ab8c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_XROrigin: {fileID: 9169449210091686126} + m_BodyPositionEvaluatorObject: {fileID: 0} + m_ConstrainedBodyManipulatorObject: {fileID: 0} + m_UseCharacterControllerIfExists: 1 +--- !u!1 &6403947127413367061 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5100379558906863498} + - component: {fileID: 5749926742304552325} + m_Layer: 2 + m_Name: Move + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5100379558906863498 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6403947127413367061} + 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: 9052800340542691862} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5749926742304552325 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6403947127413367061} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4b724061ba0dd1144bd85f70904124d0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_MoveSpeed: 2.5 + m_EnableStrafe: 1 + m_EnableFly: 0 + m_UseGravity: 1 + m_ForwardSource: {fileID: 8078486964815253479} + m_LeftHandMoveInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Left Hand Move + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: a0889756-f4c0-4539-9bac-9066c586d8a2 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_RightHandMoveInput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Right Hand Move + m_Type: 0 + m_ExpectedControlType: Vector2 + m_Id: c2221eec-40e7-408b-8ad6-fffc2b2e7ac1 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualValue: {x: 0, y: 0} + m_HeadTransform: {fileID: 8078486964815253479} + m_LeftControllerTransform: {fileID: 5520994112468678325} + m_RightControllerTransform: {fileID: 7830304639371603829} + m_LeftHandMovementDirection: 0 + m_RightHandMovementDirection: 0 +--- !u!1 &6465276583138103291 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5520994112468678325} + - component: {fileID: 366933456950218288} + - component: {fileID: 8355389168634371259} + - component: {fileID: 360731541086947872} + - component: {fileID: 3787788458751710053} + m_Layer: 0 + m_Name: Left Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5520994112468678325 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465276583138103291} + 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: + - {fileID: 9105206593035120713} + - {fileID: 8972998487817039605} + - {fileID: 7086510513979687857} + - {fileID: 247625738427660002} + m_Father: {fileID: 3959939962666503032} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &366933456950218288 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465276583138103291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b9a90fa34d4455469b76611722eae2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RayInteractor: {fileID: 0} + m_NearFarInteractor: {fileID: 1359658803068352641} + m_TeleportInteractor: {fileID: 7086510513979687868} + m_TeleportMode: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TeleportModeCancel: {fileID: 737890489006591557, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Turn: {fileID: 1010738217276881514, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SnapTurn: {fileID: -7374733323251553461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Move: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_UIScroll: {fileID: 2464016903823916871, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SmoothMotionEnabled: 1 + m_SmoothTurnEnabled: 0 + m_NearFarEnableTeleportDuringNearInteraction: 1 + m_UIScrollingEnabled: 1 + m_RayInteractorChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &8355389168634371259 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465276583138103291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} + m_Name: + m_EditorClassIdentifier: + m_GroupName: Left + m_InteractionManager: {fileID: 0} + m_StartingGroupMembers: + - {fileID: 6126035111435629055} + - {fileID: 1359658803068352641} + m_StartingInteractionOverridesMap: + - groupMember: {fileID: 6126035111435629055} + overrideGroupMembers: + - {fileID: 1359658803068352641} +--- !u!114 &360731541086947872 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465276583138103291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b734f2bd29eeddd4d85afb0c266228c3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HapticOutput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Haptic + m_Type: 2 + m_ExpectedControlType: + m_Id: a67d36a7-d7d4-428e-877d-0cad8d4a162f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8785819595477538065, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_AmplitudeMultiplier: 1 +--- !u!114 &3787788458751710053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6465276583138103291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: cd22b81e-c39a-4170-bdbf-33b5a06ea86f + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -2024308242397127297, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 04fa80c1-7876-441c-8416-c5ea3caea5c4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 8248158260566104461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: fdcc0d62-5cd0-4fcc-8c3a-c07cf6230b7d + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 684395432459739428, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: ddb05e9d-4218-401c-a7a8-003424f4b4fa + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: de98cdb6-b2c4-4d67-af3c-9c8bd60b295a + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 +--- !u!1 &6808735608163607718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3373645224384528896} + - component: {fileID: 4038978509450397245} + m_Layer: 2 + m_Name: Teleportation + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3373645224384528896 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6808735608163607718} + 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: 9052800340542691862} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4038978509450397245 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6808735608163607718} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01f69dc1cb084aa42b2f2f8cd87bc770, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_DelayTime: 0 +--- !u!1 &7154861742368210664 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5104734919487269941} + - component: {fileID: 5045705674499428421} + m_Layer: 0 + m_Name: Right Controller Teleport Stabilized Origin + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5104734919487269941 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7154861742368210664} + 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: + - {fileID: 2177026004203292198} + m_Father: {fileID: 3959939962666503032} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5045705674499428421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7154861742368210664} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 64d299502104b064388841ec2adf6def, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Target: {fileID: 4397328547476934974} + m_AimTargetObject: {fileID: 3573058871122886203} + m_UseLocalSpace: 0 + m_AngleStabilization: 20 + m_PositionStabilization: 0.25 +--- !u!1 &7454234181192335656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7830304639371603829} + - component: {fileID: 9016159333640056254} + - component: {fileID: 8930862307641048639} + - component: {fileID: 628538181776599457} + - component: {fileID: 1243724206867280834} + m_Layer: 0 + m_Name: Right Controller + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7830304639371603829 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7454234181192335656} + 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: + - {fileID: 4993886497146530138} + - {fileID: 8328178559152862735} + - {fileID: 3573058871122886198} + - {fileID: 1480852776976848989} + m_Father: {fileID: 3959939962666503032} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &9016159333640056254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7454234181192335656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7b9a90fa34d4455469b76611722eae2a, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RayInteractor: {fileID: 0} + m_NearFarInteractor: {fileID: 2146992893438992507} + m_TeleportInteractor: {fileID: 3573058871122886203} + m_TeleportMode: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TeleportModeCancel: {fileID: 2307464322626738743, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Turn: {fileID: -6493913391331992944, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SnapTurn: {fileID: -8525429354371678379, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_Move: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_UIScroll: {fileID: -6756787485274679044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SmoothMotionEnabled: 0 + m_SmoothTurnEnabled: 0 + m_NearFarEnableTeleportDuringNearInteraction: 1 + m_UIScrollingEnabled: 1 + m_RayInteractorChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &8930862307641048639 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7454234181192335656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4a50d88b55b45648927679791f472de, type: 3} + m_Name: + m_EditorClassIdentifier: + m_GroupName: Right + m_InteractionManager: {fileID: 0} + m_StartingGroupMembers: + - {fileID: 7932497088231647468} + - {fileID: 2146992893438992507} + m_StartingInteractionOverridesMap: + - groupMember: {fileID: 7932497088231647468} + overrideGroupMembers: + - {fileID: 2146992893438992507} +--- !u!114 &628538181776599457 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7454234181192335656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b734f2bd29eeddd4d85afb0c266228c3, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HapticOutput: + m_InputSourceMode: 2 + m_InputAction: + m_Name: Haptic + m_Type: 2 + m_ExpectedControlType: + m_Id: b71b5bb4-1b09-415f-a4df-1476771fcae6 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReference: {fileID: -8222252007134549311, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_AmplitudeMultiplier: 1 +--- !u!114 &1243724206867280834 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7454234181192335656} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: Vector3 + m_Id: c21ad7d3-c46f-48ad-99da-097df39312cc + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -3326005586356538449, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: Quaternion + m_Id: 69f091ba-e646-4189-9296-d68870a4d922 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 5101698808175986029, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: 05873c58-6d6f-4aea-8e06-78c4544c58dc + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: -1277054153949319361, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: e0c62bbd-29f9-48af-967b-21babef9a6a4 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_RotationAction: + m_Name: + m_Type: 0 + m_ExpectedControlType: + m_Id: 303ef588-e0d6-494e-9ceb-2d2edc0eb8e5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 +--- !u!1 &7633669760952696546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8078486964815253479} + - component: {fileID: 3208376025090446691} + - component: {fileID: 1550668105874661837} + - component: {fileID: 3472677042935621751} + - component: {fileID: 2760619834549865873} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8078486964815253479 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7633669760952696546} + 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: 3959939962666503032} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &3208376025090446691 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7633669760952696546} + 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.01 + 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!81 &1550668105874661837 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7633669760952696546} + m_Enabled: 1 +--- !u!114 &3472677042935621751 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7633669760952696546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c2fadf230d1919748a9aa21d40f74619, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackingType: 0 + m_UpdateType: 0 + m_IgnoreTrackingState: 0 + m_PositionInput: + m_UseReference: 1 + m_Action: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: 7862207684358717888, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RotationInput: + m_UseReference: 1 + m_Action: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 + m_Reference: {fileID: -530380113134220495, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_TrackingStateInput: + m_UseReference: 1 + m_Action: + m_Name: Tracking State Input + m_Type: 0 + m_ExpectedControlType: Integer + m_Id: be9cc21d-5595-4ea6-aa72-e48652a11968 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 1031966339891076899, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_PositionAction: + m_Name: Position + m_Type: 0 + m_ExpectedControlType: + m_Id: 0bacfa51-7938-4a88-adae-9e8ba6c59d23 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f5efb008-b167-4d0f-b9e0-49a2350a85b3 + m_Path: /centerEyePosition + m_Interactions: + m_Processors: + m_Groups: + m_Action: Position + m_Flags: 0 + m_Flags: 0 + m_RotationAction: + m_Name: Rotation + m_Type: 0 + m_ExpectedControlType: + m_Id: 5439f14e-c9da-4bd1-ad3f-7121a75c10d9 + m_Processors: + m_Interactions: + m_SingletonActionBindings: + - m_Name: + m_Id: f984a7fd-f7e2-45ef-b21d-699a5d160f29 + m_Path: /centerEyeRotation + m_Interactions: + m_Processors: + m_Groups: + m_Action: Rotation + m_Flags: 0 + m_Flags: 0 +--- !u!114 &2760619834549865873 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7633669760952696546} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_RenderShadows: 1 + m_RequiresDepthTextureOption: 2 + m_RequiresOpaqueTextureOption: 2 + m_CameraType: 0 + m_Cameras: [] + m_RendererIndex: -1 + m_VolumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + m_VolumeTrigger: {fileID: 0} + m_VolumeFrameworkUpdateModeOption: 2 + m_RenderPostProcessing: 0 + m_Antialiasing: 0 + m_AntialiasingQuality: 2 + m_StopNaN: 0 + m_Dithering: 0 + m_ClearDepth: 1 + m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} + m_RequiresDepthTexture: 0 + m_RequiresColorTexture: 0 + m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!1 &8246906386280122017 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5397552371647261012} + - component: {fileID: 4440787107935638723} + - component: {fileID: 6817246192045587268} + - component: {fileID: 7826020219111858160} + m_Layer: 2 + m_Name: Grab Move + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5397552371647261012 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8246906386280122017} + 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: 9052800340542691862} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4440787107935638723 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8246906386280122017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_EnableFreeXMovement: 1 + m_EnableFreeYMovement: 0 + m_EnableFreeZMovement: 1 + m_UseGravity: 1 + m_GravityApplicationMode: 0 + m_ControllerTransform: {fileID: 5520994112468678325} + m_EnableMoveWhileSelecting: 0 + m_MoveFactor: 1 + m_GrabMoveInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Grab Move + m_Type: 1 + m_ExpectedControlType: + m_Id: 2e9a23ce-d949-4c67-9b12-7a9a35510733 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Grab Move Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: 3680a95b-119c-4eba-b8fe-7e0a362e460b + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: -3742484312079769484, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: -3742484312079769484, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_GrabMoveAction: + m_UseReference: 1 + m_Action: + m_Name: Grab Move + m_Type: 0 + m_ExpectedControlType: + m_Id: 3d33edcf-0043-45cb-95a7-008204badf83 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} +--- !u!114 &6817246192045587268 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8246906386280122017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_EnableFreeXMovement: 1 + m_EnableFreeYMovement: 0 + m_EnableFreeZMovement: 1 + m_UseGravity: 1 + m_GravityApplicationMode: 0 + m_ControllerTransform: {fileID: 7830304639371603829} + m_EnableMoveWhileSelecting: 0 + m_MoveFactor: 1 + m_GrabMoveInput: + m_InputSourceMode: 2 + m_InputActionPerformed: + m_Name: Grab Move + m_Type: 1 + m_ExpectedControlType: + m_Id: 67220c99-f046-4e98-aa6f-d84114cad173 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionValue: + m_Name: Grab Move Value + m_Type: 0 + m_ExpectedControlType: Axis + m_Id: ed114d26-3fbf-41fc-80fa-9675240038c5 + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_InputActionReferencePerformed: {fileID: 15759602096507913, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_InputActionReferenceValue: {fileID: 15759602096507913, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ObjectReferenceObject: {fileID: 0} + m_ManualPerformed: 0 + m_ManualValue: 0 + m_ManualQueuePerformed: 0 + m_ManualQueueWasPerformedThisFrame: 0 + m_ManualQueueWasCompletedThisFrame: 0 + m_ManualQueueValue: 0 + m_ManualQueueTargetFrame: 0 + m_GrabMoveAction: + m_UseReference: 1 + m_Action: + m_Name: Grab Move + m_Type: 0 + m_ExpectedControlType: + m_Id: de56d195-bf90-4347-9982-6bf8ffa3420c + m_Processors: + m_Interactions: + m_SingletonActionBindings: [] + m_Flags: 0 + m_Reference: {fileID: 0} +--- !u!114 &7826020219111858160 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8246906386280122017} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 760ff70c1c91bdd45907d0ff0cdcaf7f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Mediator: {fileID: 1898783407439701257} + m_TransformationPriority: 0 + m_EnableFreeXMovement: 1 + m_EnableFreeYMovement: 0 + m_EnableFreeZMovement: 1 + m_UseGravity: 1 + m_GravityApplicationMode: 0 + m_LeftGrabMoveProvider: {fileID: 4440787107935638723} + m_RightGrabMoveProvider: {fileID: 6817246192045587268} + m_OverrideSharedSettingsOnInit: 1 + m_MoveFactor: 1 + m_RequireTwoHandsForTranslation: 0 + m_EnableRotation: 1 + m_EnableScaling: 0 + m_MinimumScale: 0.2 + m_MaximumScale: 5 +--- !u!1001 &30800350662261567 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7830304639371603829} + m_Modifications: + - target: {fileID: 3601581031544063236, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_AttachTransform + value: + objectReference: {fileID: 2177026004203292198} + - target: {fileID: 3601581031544063236, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_RayOriginTransform + value: + objectReference: {fileID: 5104734919487269941} + - target: {fileID: 3601581031544063240, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_Name + value: Right Teleport Interactor + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3601581031544063242, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + propertyPath: m_LineOriginTransform + value: + objectReference: {fileID: 4397328547476934974} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} +--- !u!4 &3573058871122886198 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3601581031544063241, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + m_PrefabInstance: {fileID: 30800350662261567} + m_PrefabAsset: {fileID: 0} +--- !u!114 &3573058871122886203 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3601581031544063236, guid: 0a15e3f2d4fe68c438b7a61fe633c9af, type: 3} + m_PrefabInstance: {fileID: 30800350662261567} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &1080184754975360255 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 4993886497146530138} + m_Modifications: + - target: {fileID: 1607543218005642621, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_Renderer + value: + objectReference: {fileID: 8113327935727755858} + - target: {fileID: 4657708972433093653, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_InteractorSource + value: + objectReference: {fileID: 7932497088231647468} + - target: {fileID: 5443855567296666238, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_Renderer + value: + objectReference: {fileID: 8113327935727755858} + - target: {fileID: 5725187078628880006, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_InteractorSource + value: + objectReference: {fileID: 7932497088231647468} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8566740855607336484, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_Name + value: Poke Point Affordances + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e082957c591e21345bada46a4854d2b1, type: 3} +--- !u!4 &7603779576826917069 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + m_PrefabInstance: {fileID: 1080184754975360255} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &1637422118253565694 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 3959939962666503032} + m_Modifications: + - target: {fileID: 3055433562365713971, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_Name + value: Gaze Interactor + objectReference: {fileID: 0} + - target: {fileID: 6766910295942714439, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_AttachTransform + value: + objectReference: {fileID: 8142400933305096202} + - target: {fileID: 6766910295942714439, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_RayOriginTransform + value: + objectReference: {fileID: 72536092009288277} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} +--- !u!114 &5427312207031845561 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6766910295942714439, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + m_PrefabInstance: {fileID: 1637422118253565694} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c416f1a5c494e224fb5564fd1362b50d, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &8133312513105669296 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7378618157167557198, guid: 72dcd83e777d6c94fb8e6e19947daa90, type: 3} + m_PrefabInstance: {fileID: 1637422118253565694} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &2645603529750442574 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7830304639371603829} + m_Modifications: + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalPosition.z + value: -0.05 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4283425761326543017, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + propertyPath: m_Name + value: Right Controller Visual + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e6566b12365b1654cb5238ad582fa096, type: 3} +--- !u!4 &1480852776976848989 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3475118261464492563, guid: e6566b12365b1654cb5238ad582fa096, type: 3} + m_PrefabInstance: {fileID: 2645603529750442574} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3415940642405264877 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7830304639371603829} + m_Modifications: + - target: {fileID: 6466711983620669448, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_Name + value: Right Poke Interactor + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8753940461454506101, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + propertyPath: m_HapticImpulsePlayer + value: + objectReference: {fileID: 628538181776599457} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + insertIndex: -1 + addedObject: {fileID: 7603779576826917069} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} +--- !u!4 &4397328547476934974 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 1324525507281075411, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + m_PrefabInstance: {fileID: 3415940642405264877} + m_PrefabAsset: {fileID: 0} +--- !u!4 &4993886497146530138 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7649929824792429751, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + m_PrefabInstance: {fileID: 3415940642405264877} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7932497088231647468 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 4715902096908256513, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + m_PrefabInstance: {fileID: 3415940642405264877} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!137 &8113327935727755858 stripped +SkinnedMeshRenderer: + m_CorrespondingSourceObject: {fileID: 6917404984810983359, guid: b237d3b0ac3fe474a80320440feee9ca, type: 3} + m_PrefabInstance: {fileID: 3415940642405264877} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3691450757344859705 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5520994112468678325} + m_Modifications: + - target: {fileID: 4804964734930210078, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_Name + value: Left Near-Far Interactor + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} +--- !u!114 &1359658803068352641 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2442306273320644280, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + m_PrefabInstance: {fileID: 3691450757344859705} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25a07ef133a37d140a87cdf1f1c75fdf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &8972998487817039605 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5745700813747042508, guid: f686de38c0dc7cb40a032720bcaf52c0, type: 3} + m_PrefabInstance: {fileID: 3691450757344859705} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3984397581731072066 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 9105206593035120713} + m_Modifications: + - target: {fileID: 1607543218005642621, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_Renderer + value: + objectReference: {fileID: 5443089078757145409} + - target: {fileID: 4657708972433093653, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_InteractorSource + value: + objectReference: {fileID: 6126035111435629055} + - target: {fileID: 5443855567296666238, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_Renderer + value: + objectReference: {fileID: 5443089078757145409} + - target: {fileID: 5725187078628880006, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_InteractorSource + value: + objectReference: {fileID: 6126035111435629055} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8566740855607336484, guid: e082957c591e21345bada46a4854d2b1, type: 3} + propertyPath: m_Name + value: Poke Point Affordances + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e082957c591e21345bada46a4854d2b1, type: 3} +--- !u!4 &5778389967059008624 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7456724525581481010, guid: e082957c591e21345bada46a4854d2b1, type: 3} + m_PrefabInstance: {fileID: 3984397581731072066} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &4903158016936284251 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5520994112468678325} + m_Modifications: + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_AttachTransform + value: + objectReference: {fileID: 5988839063423520483} + - target: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_RayOriginTransform + value: + objectReference: {fileID: 298040897239730288} + - target: {fileID: 2761784063978902505, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LineOriginTransform + value: + objectReference: {fileID: 4397328547476934974} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2761784063978902507, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_Name + value: Left Teleport Interactor + objectReference: {fileID: 0} + - target: {fileID: 3616344554909481683, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + propertyPath: m_HapticImpulsePlayer + value: + objectReference: {fileID: 360731541086947872} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} +--- !u!4 &7086510513979687857 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 2761784063978902506, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + m_PrefabInstance: {fileID: 4903158016936284251} + m_PrefabAsset: {fileID: 0} +--- !u!114 &7086510513979687868 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2761784063978902503, guid: a2e0d2602b7b30b45af3f8322f3177e3, type: 3} + m_PrefabInstance: {fileID: 4903158016936284251} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &8189871976327911693 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5520994112468678325} + m_Modifications: + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalPosition.z + value: -0.05 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8758423527188247893, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + propertyPath: m_Name + value: Left Controller Visual + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} +--- !u!4 &247625738427660002 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8270855663187062767, guid: 4fd135f06adb27142bdcfafb7f7fd335, type: 3} + m_PrefabInstance: {fileID: 8189871976327911693} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &8396999475756515054 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 5520994112468678325} + m_Modifications: + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1838083765625025125, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_HapticImpulsePlayer + value: + objectReference: {fileID: 360731541086947872} + - target: {fileID: 4125421792874400280, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + propertyPath: m_Name + value: Left Poke Interactor + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + insertIndex: -1 + addedObject: {fileID: 5778389967059008624} + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} +--- !u!4 &438990380313266221 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8259524632637961923, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + m_PrefabInstance: {fileID: 8396999475756515054} + m_PrefabAsset: {fileID: 0} +--- !u!137 &5443089078757145409 stripped +SkinnedMeshRenderer: + m_CorrespondingSourceObject: {fileID: 4540083781649499567, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + m_PrefabInstance: {fileID: 8396999475756515054} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6126035111435629055 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 2417358720014700305, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + m_PrefabInstance: {fileID: 8396999475756515054} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0924bcaa9eb50df458a783ae0e2b59f5, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &9105206593035120713 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 780270278251679399, guid: 8d735939873cb5d44bd0d24e1d81399a, type: 3} + m_PrefabInstance: {fileID: 8396999475756515054} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &8642691400105579743 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 7830304639371603829} + m_Modifications: + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 680287406340085506, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + propertyPath: m_Name + value: Right Near-Far Interactor + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} +--- !u!114 &2146992893438992507 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7654611527431222436, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + m_PrefabInstance: {fileID: 8642691400105579743} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 25a07ef133a37d140a87cdf1f1c75fdf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &8328178559152862735 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 315991189105500880, guid: 5182b73af4615e542ad931efb94bbfac, type: 3} + m_PrefabInstance: {fileID: 8642691400105579743} + m_PrefabAsset: {fileID: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab.meta new file mode 100644 index 000000000..a3868007a --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 550ca5f5c17e3564ab1d38eaad81efce +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets.meta b/Source/XR-Interaction-Component/StaticAssets/Presets.meta new file mode 100644 index 000000000..3e020d21f --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 006d12feb5da65b4f8c452f3c00f45b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input.meta new file mode 100644 index 000000000..4a0591a58 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d4c9d333807eeb4395ee59a3322e48a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset new file mode 100644 index 000000000..a232d7263 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset @@ -0,0 +1,164 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Continuous Move + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: 626a4d6723d6ad24b9aebb811ad5a3dd, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Mediator + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TransformationPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MoveSpeed + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableStrafe + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFly + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UseGravity + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ForwardSource + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Name + value: Left Hand Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Id + value: 2c9225f2-be1b-4f69-8acc-007d58b10449 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputActionReference + value: + objectReference: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Name + value: Right Hand Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Id + value: 4e18714b-a6d2-4e88-b89e-4d9aa436967b + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputActionReference + value: + objectReference: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset.meta similarity index 80% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset.meta rename to Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset.meta index d8af31c0d..a9f72952a 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Move.preset.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 940f542ec154b0b4b81c8d6ea7b1649d +guid: 52c5458eafc0b22418d85a28e3a3112c NativeFormatImporter: externalObjects: {} mainObjectFileID: 2655988077585873504 diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset new file mode 100644 index 000000000..a999e334c --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset @@ -0,0 +1,148 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Continuous Turn + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: 75b29b6c6428c984a8a73ffc2d58063b, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Mediator + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TransformationPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TurnSpeed + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Name + value: Left Hand Turn + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Id + value: 3610965d-108d-4451-a143-a78d1ee8f9b8 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputActionReference + value: + objectReference: {fileID: 1010738217276881514, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Name + value: Right Hand Turn + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Id + value: eeb82678-2af4-4b6c-87fc-621bb707edc5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputActionReference + value: + objectReference: {fileID: -6493913391331992944, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset.meta similarity index 80% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset.meta rename to Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset.meta index aa45906f0..8dcdc67ae 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Right Controller.preset.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b7956b4a23be6f04a9adf3819204cfb5 +guid: 4434981ef69e5384baa95f5caa4ea7ce NativeFormatImporter: externalObjects: {} mainObjectFileID: 2655988077585873504 diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset new file mode 100644 index 000000000..438c992d5 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset @@ -0,0 +1,184 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Dynamic Move + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: 9b1e8c997df241c1a67045eeac79b41b, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Mediator + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TransformationPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MoveSpeed + value: 2.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableStrafe + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFly + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UseGravity + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ForwardSource + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Name + value: Left Hand Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Id + value: 16c2fabb-fb1c-4a11-94d0-0b1d894b8593 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_InputActionReference + value: + objectReference: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMoveInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Name + value: Right Hand Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Id + value: af2e3d83-024e-4a1f-8bc1-f97f0b4ae1d5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_InputActionReference + value: + objectReference: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMoveInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_HeadTransform + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftControllerTransform + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightControllerTransform + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandMovementDirection + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandMovementDirection + value: 0 + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset.meta similarity index 80% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset.meta rename to Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset.meta index b7980c293..917c297eb 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Continuous Turn.preset.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ab47a43f0b059e247b89eb9b40c90e84 +guid: 8290208fb1f9ba34eb25281ce05909a5 NativeFormatImporter: externalObjects: {} mainObjectFileID: 2655988077585873504 diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset new file mode 100644 index 000000000..c2d1b7d31 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset @@ -0,0 +1,88 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Left Controller Input Action Manager 1 + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: f9ac216f0eb04754b1d938aac6380b31, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RayInteractor + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_NearFarInteractor + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TeleportInteractor + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TeleportMode + value: + objectReference: {fileID: 1263111715868034790, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_TeleportModeCancel + value: + objectReference: {fileID: 737890489006591557, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_Turn + value: + objectReference: {fileID: 1010738217276881514, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_SnapTurn + value: + objectReference: {fileID: -7374733323251553461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_Move + value: + objectReference: {fileID: 6972639530819350904, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_UIScroll + value: + objectReference: {fileID: 2464016903823916871, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_SmoothMotionEnabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SmoothTurnEnabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_NearFarEnableTeleportDuringNearInteraction + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UIScrollingEnabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RayInteractorChanged.m_PersistentCalls.m_Calls.Array.size + value: 0 + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset.meta similarity index 80% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset.meta rename to Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset.meta index cee014d8e..8a451628c 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Left Controller.preset.meta +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 85980dd02d09f6b41b84f9e91f5d30a4 +guid: e9b5b0780177fa444828883c75fc900b NativeFormatImporter: externalObjects: {} mainObjectFileID: 2655988077585873504 diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset new file mode 100644 index 000000000..f7535c5bc --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset @@ -0,0 +1,220 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Left Grab Move + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Mediator + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TransformationPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFreeXMovement + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFreeYMovement + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFreeZMovement + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UseGravity + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GravityApplicationMode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ControllerTransform + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableMoveWhileSelecting + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MoveFactor + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Name + value: Grab Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_ExpectedControlType + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Id + value: 2e9a23ce-d949-4c67-9b12-7a9a35510733 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Name + value: Grab Move Value + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_ExpectedControlType + value: Axis + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Id + value: 3680a95b-119c-4eba-b8fe-7e0a362e460b + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: -3742484312079769484, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionReferenceValue + value: + objectReference: {fileID: -3742484312079769484, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualPerformed + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualValue + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueuePerformed + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueWasPerformedThisFrame + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueWasCompletedThisFrame + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueValue + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueTargetFrame + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_UseReference + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Name + value: Grab Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_ExpectedControlType + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Id + value: 3d33edcf-0043-45cb-95a7-008204badf83 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Reference + value: + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset.meta new file mode 100644 index 000000000..b4d4389e0 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 535d252a9b986ca41baf10605cb5353c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2655988077585873504 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset new file mode 100644 index 000000000..1bf7c3cfc --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset @@ -0,0 +1,88 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Right Controller Input Action Manager 1 + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: f9ac216f0eb04754b1d938aac6380b31, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RayInteractor + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_NearFarInteractor + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TeleportInteractor + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TeleportMode + value: + objectReference: {fileID: -8061240218431744966, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_TeleportModeCancel + value: + objectReference: {fileID: 2307464322626738743, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_Turn + value: + objectReference: {fileID: -6493913391331992944, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_SnapTurn + value: + objectReference: {fileID: -8525429354371678379, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_Move + value: + objectReference: {fileID: -8198699208435500284, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_UIScroll + value: + objectReference: {fileID: -6756787485274679044, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_SmoothMotionEnabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SmoothTurnEnabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_NearFarEnableTeleportDuringNearInteraction + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UIScrollingEnabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RayInteractorChanged.m_PersistentCalls.m_Calls.Array.size + value: 0 + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset.meta new file mode 100644 index 000000000..5ac987728 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 89167b1d4b8745e4cba1e382be4fef07 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2655988077585873504 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset new file mode 100644 index 000000000..cc7e1bcac --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset @@ -0,0 +1,220 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Right Grab Move + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: 8b94c4c83dec6a94fbaebf543478259e, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Mediator + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TransformationPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFreeXMovement + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFreeYMovement + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableFreeZMovement + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UseGravity + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GravityApplicationMode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ControllerTransform + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableMoveWhileSelecting + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MoveFactor + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Name + value: Grab Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Type + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_ExpectedControlType + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Id + value: 67220c99-f046-4e98-aa6f-d84114cad173 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionPerformed.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Name + value: Grab Move Value + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_ExpectedControlType + value: Axis + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Id + value: ed114d26-3fbf-41fc-80fa-9675240038c5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionValue.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionReferencePerformed + value: + objectReference: {fileID: 15759602096507913, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_InputActionReferenceValue + value: + objectReference: {fileID: 15759602096507913, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualPerformed + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualValue + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueuePerformed + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueWasPerformedThisFrame + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueWasCompletedThisFrame + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueValue + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveInput.m_ManualQueueTargetFrame + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_UseReference + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Name + value: Grab Move + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_ExpectedControlType + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Id + value: de56d195-bf90-4347-9982-6bf8ffa3420c + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Action.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrabMoveAction.m_Reference + value: + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset.meta new file mode 100644 index 000000000..07783c455 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe21836fa796fe14c8c36662566387b7 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2655988077585873504 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset new file mode 100644 index 000000000..c27c4dc27 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset @@ -0,0 +1,164 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder Snap Turn + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: e9f365cf844c03449bc8973eead2c3c1, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Mediator + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TransformationPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TurnAmount + value: 45 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_DebounceTime + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableTurnLeftRight + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableTurnAround + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_DelayTime + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Name + value: Left Hand Snap Turn + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Id + value: 536e141d-ee23-4272-b0fd-3984d1655f02 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_InputActionReference + value: + objectReference: {fileID: -7374733323251553461, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LeftHandTurnInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputSourceMode + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Name + value: Right Hand Snap Turn + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Type + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_ExpectedControlType + value: Vector2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Id + value: b17ca378-4740-48c7-abe1-7f35bce317e9 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Processors + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Interactions + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_SingletonActionBindings.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputAction.m_Flags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_InputActionReference + value: + objectReference: {fileID: -8525429354371678379, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_ObjectReferenceObject + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_ManualValue.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RightHandTurnInput.m_ManualValue.y + value: 0 + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset.meta new file mode 100644 index 000000000..191e72962 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e5743ed5413a6d489ca915b6e2f6aaa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2655988077585873504 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset new file mode 100644 index 000000000..d00987c23 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset @@ -0,0 +1,136 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: XRI VR Builder XR UI Input Module + m_TargetType: + m_NativeTypeID: 114 + m_ManagedTypePPtr: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorHideFlags + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EditorClassIdentifier + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SendPointerHoverToParent + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ClickSpeed + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MoveDeadzone + value: 0.6 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RepeatDelay + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_RepeatRate + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TrackedDeviceDragThresholdMultiplier + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TrackedScrollDeltaMultiplier + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ActiveInputMode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableXRInput + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableMouseInput + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableTouchInput + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PointAction + value: + objectReference: {fileID: 2869410428622933342, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_LeftClickAction + value: + objectReference: {fileID: 1855836014308820768, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_MiddleClickAction + value: + objectReference: {fileID: -6289560987278519447, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_RightClickAction + value: + objectReference: {fileID: -2562941478296515153, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_ScrollWheelAction + value: + objectReference: {fileID: 5825226938762934180, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_NavigateAction + value: + objectReference: {fileID: -7967456002180160679, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_SubmitAction + value: + objectReference: {fileID: 3994978066732806534, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_CancelAction + value: + objectReference: {fileID: 2387711382375263438, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + - target: {fileID: 0} + propertyPath: m_EnableBuiltinActionsAsFallback + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableGamepadInput + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableJoystickInput + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_HorizontalAxis + value: Horizontal + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_VerticalAxis + value: Vertical + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SubmitButton + value: Submit + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_CancelButton + value: Cancel + objectReference: {fileID: 0} + m_ExcludedProperties: [] + m_CoupledType: + m_NativeTypeID: 0 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_CoupledProperties: [] diff --git a/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset.meta b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset.meta new file mode 100644 index 000000000..354d7c0a7 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e347396794bf78e4fb244713e178e3aa +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2655988077585873504 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/Source/Resources.meta b/Source/XR-Interaction-Component/StaticAssets/Resources.meta similarity index 100% rename from Source/XR-Interaction-Component/Source/Resources.meta rename to Source/XR-Interaction-Component/StaticAssets/Resources.meta diff --git a/Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab b/Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab new file mode 100644 index 000000000..1983a6797 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab @@ -0,0 +1,406 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6819434277416910784 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6160975337213176857} + - component: {fileID: 654221993490226482} + - component: {fileID: 188081215847116528} + m_Layer: 2 + m_Name: VRB_XR_Setup + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6160975337213176857 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6819434277416910784} + 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: + - {fileID: 6936079036903146101} + - {fileID: 5905294994482478954} + - {fileID: 7646452383058998902} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &654221993490226482 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6819434277416910784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f391ac734d94ea34697b6cde3269f11a, type: 3} + m_Name: + m_EditorClassIdentifier: + head: {fileID: 5410547930670544825} + leftHand: {fileID: 8616564068428254955} + rightHand: {fileID: 6314179923622631211} + rigBase: {fileID: 6936079036903146101} +--- !u!114 &188081215847116528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6819434277416910784} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: eb84184823a056249bfba5107e766ec3, type: 3} + m_Name: + m_EditorClassIdentifier: + layerSet: 2 + interactors: + - {fileID: 6436482239918046178} + - {fileID: 764665971002443365} +--- !u!1 &7246305238415544751 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7646452383058998902} + - component: {fileID: 6935133339884272710} + - component: {fileID: 6836677844666505195} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7646452383058998902 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7246305238415544751} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.028, y: 0, z: -5.929} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6160975337213176857} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6935133339884272710 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7246305238415544751} + 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!114 &6836677844666505195 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7246305238415544751} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ab68ce6587aab0146b8dabefbd806791, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_ClickSpeed: 0.3 + m_MoveDeadzone: 0.6 + m_RepeatDelay: 0.5 + m_RepeatRate: 0.1 + m_TrackedDeviceDragThresholdMultiplier: 2 + m_TrackedScrollDeltaMultiplier: 5 + m_ActiveInputMode: 1 + m_EnableXRInput: 1 + m_EnableMouseInput: 1 + m_EnableTouchInput: 1 + m_PointAction: {fileID: 2869410428622933342, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_LeftClickAction: {fileID: 1855836014308820768, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_MiddleClickAction: {fileID: -6289560987278519447, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_RightClickAction: {fileID: -2562941478296515153, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_ScrollWheelAction: {fileID: 5825226938762934180, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_NavigateAction: {fileID: -7967456002180160679, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_SubmitAction: {fileID: 3994978066732806534, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_CancelAction: {fileID: 2387711382375263438, guid: ed310a0831549ec44a986bf5d1ca06d5, type: 3} + m_EnableBuiltinActionsAsFallback: 1 + m_EnableGamepadInput: 1 + m_EnableJoystickInput: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel +--- !u!1 &7393986750649879114 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5905294994482478954} + - component: {fileID: 838948448131132431} + m_Layer: 0 + m_Name: XR Interaction Manager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5905294994482478954 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7393986750649879114} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3.028, y: 0, z: -5.929} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6160975337213176857} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &838948448131132431 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7393986750649879114} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83e4e6cca11330d4088d729ab4fc9d9f, type: 3} + m_Name: + m_EditorClassIdentifier: + m_StartingHoverFilters: [] + m_StartingSelectFilters: [] +--- !u!1001 &4254403816469330014 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 6160975337213176857} + m_Modifications: + - target: {fileID: 1463673325037618275, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_Name + value: XRI Rig + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 7633669760952696546, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + insertIndex: -1 + addedObject: {fileID: 1392600451119360923} + m_SourcePrefab: {fileID: 100100000, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} +--- !u!114 &764665971002443365 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3573058871122886203, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &5410547930670544825 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 8078486964815253479, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} +--- !u!1 &5979253672201258684 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7633669760952696546, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} +--- !u!82 &1392600451119360923 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5979253672201258684} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: 0} + m_audioClip: {fileID: 0} + m_Resource: {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!4 &6314179923622631211 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 7830304639371603829, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} +--- !u!114 &6436482239918046178 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 7086510513979687868, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6803edce0201f574f923fd9d10e5b30a, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &6936079036903146101 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 6578433699197303339, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} +--- !u!4 &8616564068428254955 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 5520994112468678325, guid: 550ca5f5c17e3564ab1d38eaad81efce, type: 3} + m_PrefabInstance: {fileID: 4254403816469330014} + m_PrefabAsset: {fileID: 0} diff --git a/Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab.meta b/Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab.meta new file mode 100644 index 000000000..51d0e88e8 --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Resources/VRB_XR_Setup.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4fe3736bd61cd5546b24aa8e53a62cef +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/XR-Interaction-Component/StaticAssets/Shaders.meta b/Source/XR-Interaction-Component/StaticAssets/Shaders.meta new file mode 100644 index 000000000..dfebd88dd --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 73814474a27729147a78b2723b72fa7f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/SimpleTeleportHighlight.shader b/Source/XR-Interaction-Component/StaticAssets/Shaders/SimpleTeleportHighlight.shader similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/SimpleTeleportHighlight.shader rename to Source/XR-Interaction-Component/StaticAssets/Shaders/SimpleTeleportHighlight.shader diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/SimpleTeleportHighlight.shader.meta b/Source/XR-Interaction-Component/StaticAssets/Shaders/SimpleTeleportHighlight.shader.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/SimpleTeleportHighlight.shader.meta rename to Source/XR-Interaction-Component/StaticAssets/Shaders/SimpleTeleportHighlight.shader.meta diff --git a/Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph b/Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph new file mode 100644 index 000000000..d2cb6950e --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph @@ -0,0 +1,2197 @@ +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "34a2241cace747c1aab795b47b74d96c", + "m_Properties": [ + { + "m_Id": "13226371ac59487c895d28a58a0b3e3a" + }, + { + "m_Id": "8b7d12739f9d4a64ad74d97000195713" + }, + { + "m_Id": "0e2d0060fb6647d8acd0791e1a2eb28f" + } + ], + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "ce7e4776faf54c8c921c004ff57e6a67" + } + ], + "m_Nodes": [ + { + "m_Id": "dc5c91e79c014636a601536af3db47c8" + }, + { + "m_Id": "92a68cfb809948f78bed1524817e802f" + }, + { + "m_Id": "cee5b6702a794bbeb43982d32bfc94fd" + }, + { + "m_Id": "420cff3beaab447a98e34cbb581c753f" + }, + { + "m_Id": "09b3896ce0154c11be905235318d515f" + }, + { + "m_Id": "eafb2f1b4ba4441e9fa3108ff8dca237" + }, + { + "m_Id": "2bdcefbcdf6c41c6a3e2987caa8c3026" + }, + { + "m_Id": "0acf8bd626b94aabb7d43f6b72ce295d" + }, + { + "m_Id": "ae5e313f8d344ca893e946534337db18" + }, + { + "m_Id": "5f73c8e6a9e04ee6bd08c7ec664f9ead" + }, + { + "m_Id": "4f3ed500dc274e0aa11ac48d35310f1a" + }, + { + "m_Id": "9be4b481dfe642d3960f2b92e27f46f7" + }, + { + "m_Id": "e6385eca93e04655ac0c7e189b3fcc60" + }, + { + "m_Id": "287d175dfb7e44c18187bdf69ed6d5d0" + }, + { + "m_Id": "168e578c571c4e899268bfd7419acebb" + }, + { + "m_Id": "aaaf13e266e24c96b49d642e1d29febc" + }, + { + "m_Id": "1225ed0d1aa34528bbc8820b38841316" + }, + { + "m_Id": "3a2438f9bbdd447ca9be452f10c6038b" + } + ], + "m_GroupDatas": [ + { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + { + "m_Id": "9366a6b5dbf4480fa0dbd4f5767c9c60" + } + ], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "0acf8bd626b94aabb7d43f6b72ce295d" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2bdcefbcdf6c41c6a3e2987caa8c3026" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1225ed0d1aa34528bbc8820b38841316" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a2438f9bbdd447ca9be452f10c6038b" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "168e578c571c4e899268bfd7419acebb" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "287d175dfb7e44c18187bdf69ed6d5d0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "287d175dfb7e44c18187bdf69ed6d5d0" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "420cff3beaab447a98e34cbb581c753f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "2bdcefbcdf6c41c6a3e2987caa8c3026" + }, + "m_SlotId": 3 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5f73c8e6a9e04ee6bd08c7ec664f9ead" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "3a2438f9bbdd447ca9be452f10c6038b" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "168e578c571c4e899268bfd7419acebb" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4f3ed500dc274e0aa11ac48d35310f1a" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "09b3896ce0154c11be905235318d515f" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "4f3ed500dc274e0aa11ac48d35310f1a" + }, + "m_SlotId": 4 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "287d175dfb7e44c18187bdf69ed6d5d0" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5f73c8e6a9e04ee6bd08c7ec664f9ead" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "168e578c571c4e899268bfd7419acebb" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "9be4b481dfe642d3960f2b92e27f46f7" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2bdcefbcdf6c41c6a3e2987caa8c3026" + }, + "m_SlotId": 2 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "aaaf13e266e24c96b49d642e1d29febc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1225ed0d1aa34528bbc8820b38841316" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "aaaf13e266e24c96b49d642e1d29febc" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a2438f9bbdd447ca9be452f10c6038b" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "ae5e313f8d344ca893e946534337db18" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "2bdcefbcdf6c41c6a3e2987caa8c3026" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e6385eca93e04655ac0c7e189b3fcc60" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "4f3ed500dc274e0aa11ac48d35310f1a" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "e6385eca93e04655ac0c7e189b3fcc60" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5f73c8e6a9e04ee6bd08c7ec664f9ead" + }, + "m_SlotId": 1 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 112.99992370605469, + "y": 132.00003051757813 + }, + "m_Blocks": [ + { + "m_Id": "dc5c91e79c014636a601536af3db47c8" + }, + { + "m_Id": "92a68cfb809948f78bed1524817e802f" + }, + { + "m_Id": "cee5b6702a794bbeb43982d32bfc94fd" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 112.99992370605469, + "y": 331.9999084472656 + }, + "m_Blocks": [ + { + "m_Id": "420cff3beaab447a98e34cbb581c753f" + }, + { + "m_Id": "09b3896ce0154c11be905235318d515f" + }, + { + "m_Id": "eafb2f1b4ba4441e9fa3108ff8dca237" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + }, + "preventRotation": false + }, + "m_Path": "Shader Graphs", + "m_GraphPrecision": 1, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "7f4faf20e056441da3400fcf5a01bd1d" + }, + { + "m_Id": "4aa8a973dd78498e827b15fa6d213bc0" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "000fa6abe01e4941816071bbc2cb95dc", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "010c84257e1d457c9139b10afe0c86ce", + "m_Id": 0, + "m_DisplayName": "Alpha Clip Threshold", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "AlphaClipThreshold", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "07b346956d8e427a8fb6a4e597439425", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "090dac5d94e9450bbca9bf47c6502992", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "093e7e86995446d2ab10f431b05ef76a", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "09b3896ce0154c11be905235318d515f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1b62da38b8ef48edb6ff30ae07ce41b8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.ViewDirectionNode", + "m_ObjectId": "0acf8bd626b94aabb7d43f6b72ce295d", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "View Direction", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1810.0001220703125, + "y": 332.0, + "width": 207.3333740234375, + "height": 134.66677856445313 + } + }, + "m_Slots": [ + { + "m_Id": "07b346956d8e427a8fb6a4e597439425" + } + ], + "synonyms": [ + "eye direction" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2 +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "0e2d0060fb6647d8acd0791e1a2eb28f", + "m_Guid": { + "m_GuidSerialized": "c5c7a42b-05c6-4506-8cd3-7905607cdb99" + }, + "m_Name": "_RimColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_RimColor", + "m_DefaultReferenceName": "_RimColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 1.0, + "g": 1.0, + "b": 1.0, + "a": 1.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "1225ed0d1aa34528bbc8820b38841316", + "m_Group": { + "m_Id": "9366a6b5dbf4480fa0dbd4f5767c9c60" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1626.666748046875, + "y": -184.66664123535157, + "width": 120.6666259765625, + "height": 150.66668701171876 + } + }, + "m_Slots": [ + { + "m_Id": "d5376d2c832b407dab229ebc86c45dbe" + }, + { + "m_Id": "833fbccf318544d39d7164fab452a107" + }, + { + "m_Id": "ca09841cca9a4690a1c73b29a09ceffa" + }, + { + "m_Id": "f4d4793d915849e59674f61477e74517" + }, + { + "m_Id": "4144cd4ea63745f18260f8c6319348a9" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty", + "m_ObjectId": "13226371ac59487c895d28a58a0b3e3a", + "m_Guid": { + "m_GuidSerialized": "63931a48-e350-41dc-959a-31ee6a7dd197" + }, + "m_Name": "_BaseColor", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_BaseColor", + "m_DefaultReferenceName": "_BaseColor", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 0.0 + }, + "isMainColor": false, + "m_ColorMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.AddNode", + "m_ObjectId": "168e578c571c4e899268bfd7419acebb", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Add", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -950.0, + "y": 212.00009155273438, + "width": 209.33343505859376, + "height": 303.9999694824219 + } + }, + "m_Slots": [ + { + "m_Id": "c80b647882c94d8787e4f128cd9e7f29" + }, + { + "m_Id": "000fa6abe01e4941816071bbc2cb95dc" + }, + { + "m_Id": "1908a33a15f442f5b9213bd2a0249aee" + } + ], + "synonyms": [ + "addition", + "sum", + "plus" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1908a33a15f442f5b9213bd2a0249aee", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "1b62da38b8ef48edb6ff30ae07ce41b8", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "287d175dfb7e44c18187bdf69ed6d5d0", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -687.3333129882813, + "y": 804.6666259765625, + "width": 209.33328247070313, + "height": 304.000244140625 + } + }, + "m_Slots": [ + { + "m_Id": "9373dada293e4cfe873ee24758aab624" + }, + { + "m_Id": "48d0163f1eb44689bd2d92db8b83c26d" + }, + { + "m_Id": "9b7541f5acf24bebab9e6e52ddbd6978" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.FresnelNode", + "m_ObjectId": "2bdcefbcdf6c41c6a3e2987caa8c3026", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Fresnel Effect", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1574.0, + "y": 187.99996948242188, + "width": 209.333251953125, + "height": 328.0000915527344 + } + }, + "m_Slots": [ + { + "m_Id": "093e7e86995446d2ab10f431b05ef76a" + }, + { + "m_Id": "c2bc03b289c8414faefea80453a771d7" + }, + { + "m_Id": "fb35a4ac50284fd7be5ad8f9852599d8" + }, + { + "m_Id": "a3abbf8c77134dfb883d49bd47948ff5" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "3048608fbe8642e28d956117310e0289", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "3a2438f9bbdd447ca9be452f10c6038b", + "m_Group": { + "m_Id": "9366a6b5dbf4480fa0dbd4f5767c9c60" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1373.33349609375, + "y": -305.3332824707031, + "width": 209.3333740234375, + "height": 304.0 + } + }, + "m_Slots": [ + { + "m_Id": "e1135e6b17d64d509abf98c806937086" + }, + { + "m_Id": "45dba6cbeb7b46f0a2e873d6331798f7" + }, + { + "m_Id": "dfb61dcd21c049d58e6ea6d0a7258051" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "4144cd4ea63745f18260f8c6319348a9", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "420cff3beaab447a98e34cbb581c753f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "3048608fbe8642e28d956117310e0289" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "45dba6cbeb7b46f0a2e873d6331798f7", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "477e186e47b34829a9654e492c14b7aa", + "m_Id": 0, + "m_DisplayName": "_BaseColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "48d0163f1eb44689bd2d92db8b83c26d", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", + "m_ObjectId": "4aa8a973dd78498e827b15fa6d213bc0", + "m_ActiveSubTarget": { + "m_Id": "82b2f67b52b0430a8982266199ef17c0" + }, + "m_AllowMaterialOverride": true, + "m_SurfaceType": 1, + "m_ZTestMode": 4, + "m_ZWriteControl": 0, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CastShadows": false, + "m_ReceiveShadows": true, + "m_CustomEditorGUI": "", + "m_SupportVFX": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SplitNode", + "m_ObjectId": "4f3ed500dc274e0aa11ac48d35310f1a", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Split", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1664.0, + "y": 745.3333129882813, + "width": 120.6666259765625, + "height": 150.666748046875 + } + }, + "m_Slots": [ + { + "m_Id": "a25121cc210e4d98839a6414ec205c52" + }, + { + "m_Id": "55f511eff23a439d8e7bb1b90e286404" + }, + { + "m_Id": "c0d7bc7d667546cfa35d8b3f8dcd2a91" + }, + { + "m_Id": "aeaf3c2e18ac44519565912a2a226e0d" + }, + { + "m_Id": "a949b7346d8e49ebb5620272fcfb649b" + } + ], + "synonyms": [ + "separate" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "55f511eff23a439d8e7bb1b90e286404", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.MultiplyNode", + "m_ObjectId": "5f73c8e6a9e04ee6bd08c7ec664f9ead", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Multiply", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1304.0, + "y": 364.0, + "width": 209.3331298828125, + "height": 304.00006103515627 + } + }, + "m_Slots": [ + { + "m_Id": "f1e906005cdd4adb8ed714ff5a11decf" + }, + { + "m_Id": "b4d6ff520223479b96c05d917958b9ea" + }, + { + "m_Id": "89c379a11bff4e06a02b4f273fafe67a" + } + ], + "synonyms": [ + "multiplication", + "times", + "x" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "7eb10e80af9945558dfdd46a9ab7711d", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInUnlitSubTarget", + "m_ObjectId": "7ec39f14b8b1406aaf27b19e88495159" +} + +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInTarget", + "m_ObjectId": "7f4faf20e056441da3400fcf5a01bd1d", + "m_ActiveSubTarget": { + "m_Id": "7ec39f14b8b1406aaf27b19e88495159" + }, + "m_AllowMaterialOverride": true, + "m_SurfaceType": 1, + "m_ZWriteControl": 0, + "m_ZTestMode": 4, + "m_AlphaMode": 0, + "m_RenderFace": 2, + "m_AlphaClip": false, + "m_CustomEditorGUI": "" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalUnlitSubTarget", + "m_ObjectId": "82b2f67b52b0430a8982266199ef17c0" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "82d125805fb943fe9c4a333fbd8e7255", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "833fbccf318544d39d7164fab452a107", + "m_Id": 1, + "m_DisplayName": "R", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "R", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "89c379a11bff4e06a02b4f273fafe67a", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "8b7d12739f9d4a64ad74d97000195713", + "m_Guid": { + "m_GuidSerialized": "e6af6915-1660-4e93-8ebe-6218e0863f03" + }, + "m_Name": "_RimPower", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "_RimPower", + "m_DefaultReferenceName": "_RimPower", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 5.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "92a68cfb809948f78bed1524817e802f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "7eb10e80af9945558dfdd46a9ab7711d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "9366a6b5dbf4480fa0dbd4f5767c9c60", + "m_Title": "Base Color", + "m_Position": { + "x": -1808.7840576171875, + "y": -363.76800537109377 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9373dada293e4cfe873ee24758aab624", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "9b7541f5acf24bebab9e6e52ddbd6978", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "9be4b481dfe642d3960f2b92e27f46f7", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1725.3333740234375, + "y": 507.3334045410156, + "width": 133.9998779296875, + "height": 35.999969482421878 + } + }, + "m_Slots": [ + { + "m_Id": "bc6beafdb79a48e0a51da2b31c014b0d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "8b7d12739f9d4a64ad74d97000195713" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "a25121cc210e4d98839a6414ec205c52", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a3abbf8c77134dfb883d49bd47948ff5", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "a949b7346d8e49ebb5620272fcfb649b", + "m_Id": 4, + "m_DisplayName": "A", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "aaaf13e266e24c96b49d642e1d29febc", + "m_Group": { + "m_Id": "9366a6b5dbf4480fa0dbd4f5767c9c60" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1784.0, + "y": -256.6666564941406, + "width": 137.3331298828125, + "height": 36.000030517578128 + } + }, + "m_Slots": [ + { + "m_Id": "477e186e47b34829a9654e492c14b7aa" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "13226371ac59487c895d28a58a0b3e3a" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalVectorNode", + "m_ObjectId": "ae5e313f8d344ca893e946534337db18", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Normal Vector", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1810.0001220703125, + "y": 187.99996948242188, + "width": 207.3333740234375, + "height": 134.666748046875 + } + }, + "m_Slots": [ + { + "m_Id": "090dac5d94e9450bbca9bf47c6502992" + } + ], + "synonyms": [ + "surface direction" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "aeaf3c2e18ac44519565912a2a226e0d", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "b4d6ff520223479b96c05d917958b9ea", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "e00": 2.0, + "e01": 2.0, + "e02": 2.0, + "e03": 2.0, + "e10": 2.0, + "e11": 2.0, + "e12": 2.0, + "e13": 2.0, + "e20": 2.0, + "e21": 2.0, + "e22": 2.0, + "e23": 2.0, + "e30": 2.0, + "e31": 2.0, + "e32": 2.0, + "e33": 2.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bc6beafdb79a48e0a51da2b31c014b0d", + "m_Id": 0, + "m_DisplayName": "_RimPower", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c0d7bc7d667546cfa35d8b3f8dcd2a91", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ViewDirectionMaterialSlot", + "m_ObjectId": "c2bc03b289c8414faefea80453a771d7", + "m_Id": 1, + "m_DisplayName": "View Dir", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "ViewDir", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c80b647882c94d8787e4f128cd9e7f29", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "ca09841cca9a4690a1c73b29a09ceffa", + "m_Id": 2, + "m_DisplayName": "G", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "G", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "ce7e4776faf54c8c921c004ff57e6a67", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "13226371ac59487c895d28a58a0b3e3a" + }, + { + "m_Id": "8b7d12739f9d4a64ad74d97000195713" + }, + { + "m_Id": "0e2d0060fb6647d8acd0791e1a2eb28f" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "cee5b6702a794bbeb43982d32bfc94fd", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "d0a6e92f04b14b07ba374bcd06109ec8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "d0a6e92f04b14b07ba374bcd06109ec8", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "d2387c00d8984e4aa40d39ea25262374", + "m_Title": "Edge Highlight", + "m_Position": { + "x": -1987.020263671875, + "y": 129.37379455566407 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d5376d2c832b407dab229ebc86c45dbe", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "dc5c91e79c014636a601536af3db47c8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "82d125805fb943fe9c4a333fbd8e7255" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "dfb61dcd21c049d58e6ea6d0a7258051", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "e1135e6b17d64d509abf98c806937086", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "e6385eca93e04655ac0c7e189b3fcc60", + "m_Group": { + "m_Id": "d2387c00d8984e4aa40d39ea25262374" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1962.0, + "y": 726.0001220703125, + "width": 130.6666259765625, + "height": 35.99993896484375 + } + }, + "m_Slots": [ + { + "m_Id": "ea6145f6bbac4c32be932805370dbecc" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "0e2d0060fb6647d8acd0791e1a2eb28f" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", + "m_ObjectId": "ea6145f6bbac4c32be932805370dbecc", + "m_Id": 0, + "m_DisplayName": "_RimColor", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eafb2f1b4ba4441e9fa3108ff8dca237", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.AlphaClipThreshold", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "010c84257e1d457c9139b10afe0c86ce" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.AlphaClipThreshold" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", + "m_ObjectId": "f1e906005cdd4adb8ed714ff5a11decf", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "e00": 0.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 0.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 0.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 0.0 + }, + "m_DefaultValue": { + "e00": 1.0, + "e01": 0.0, + "e02": 0.0, + "e03": 0.0, + "e10": 0.0, + "e11": 1.0, + "e12": 0.0, + "e13": 0.0, + "e20": 0.0, + "e21": 0.0, + "e22": 1.0, + "e23": 0.0, + "e30": 0.0, + "e31": 0.0, + "e32": 0.0, + "e33": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f4d4793d915849e59674f61477e74517", + "m_Id": 3, + "m_DisplayName": "B", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "fb35a4ac50284fd7be5ad8f9852599d8", + "m_Id": 2, + "m_DisplayName": "Power", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Power", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + diff --git a/Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph.meta b/Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph.meta new file mode 100644 index 000000000..fde875c1e --- /dev/null +++ b/Source/XR-Interaction-Component/StaticAssets/Shaders/Unlit_Fresnel.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 7e6c6f81c812eb84c800ee5a4e85c9ad +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Textures.meta b/Source/XR-Interaction-Component/StaticAssets/Textures.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Textures.meta rename to Source/XR-Interaction-Component/StaticAssets/Textures.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Textures/default anchor.png b/Source/XR-Interaction-Component/StaticAssets/Textures/default anchor.png similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Textures/default anchor.png rename to Source/XR-Interaction-Component/StaticAssets/Textures/default anchor.png diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Textures/default anchor.png.meta b/Source/XR-Interaction-Component/StaticAssets/Textures/default anchor.png.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Textures/default anchor.png.meta rename to Source/XR-Interaction-Component/StaticAssets/Textures/default anchor.png.meta diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions b/Source/XR-Interaction-Component/StaticAssets/XRI VR Builder Input Actions.inputactions similarity index 73% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions rename to Source/XR-Interaction-Component/StaticAssets/XRI VR Builder Input Actions.inputactions index e660de301..1fdb235e2 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions +++ b/Source/XR-Interaction-Component/StaticAssets/XRI VR Builder Input Actions.inputactions @@ -1,5 +1,5 @@ { - "name": "XRI Builder Hand Input Actions", + "name": "XRI VR Builder Input Actions", "maps": [ { "name": "XRI Head", @@ -85,7 +85,7 @@ "path": "/centerEyePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": false @@ -107,7 +107,7 @@ "path": "/centerEyeRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": false @@ -140,7 +140,7 @@ "path": "/pose/rotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Rotation", "isComposite": false, "isPartOfComposite": true @@ -151,7 +151,7 @@ "path": "/centerEyeRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Rotation", "isComposite": false, "isPartOfComposite": true @@ -162,7 +162,7 @@ "path": "", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Rotation", "isComposite": false, "isPartOfComposite": true @@ -184,7 +184,7 @@ "path": "/pose/position", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Position", "isComposite": false, "isPartOfComposite": true @@ -195,7 +195,7 @@ "path": "/centerEyePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Position", "isComposite": false, "isPartOfComposite": true @@ -206,7 +206,7 @@ "path": "", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Position", "isComposite": false, "isPartOfComposite": true @@ -228,7 +228,7 @@ "path": "/pose/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Tracking State", "isComposite": false, "isPartOfComposite": true @@ -239,7 +239,7 @@ "path": "/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Tracking State", "isComposite": false, "isPartOfComposite": true @@ -250,7 +250,7 @@ "path": "", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Tracking State", "isComposite": false, "isPartOfComposite": true @@ -261,7 +261,7 @@ "path": "/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Tracking State", "isComposite": false, "isPartOfComposite": false @@ -272,7 +272,7 @@ "path": "/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Is Tracked", "isComposite": false, "isPartOfComposite": false @@ -294,7 +294,7 @@ "path": "/pose/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Is Tracked", "isComposite": false, "isPartOfComposite": true @@ -305,7 +305,7 @@ "path": "/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Is Tracked", "isComposite": false, "isPartOfComposite": true @@ -316,7 +316,7 @@ "path": "", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Eye Gaze Is Tracked", "isComposite": false, "isPartOfComposite": true @@ -324,7 +324,7 @@ ] }, { - "name": "XRI LeftHand", + "name": "XRI Left", "id": "5fe596f9-1b7b-49b7-80a7-3b5195caf74d", "actions": [ { @@ -391,7 +391,7 @@ "initialStateCheck": true }, { - "name": "Aim Flags", + "name": "Meta Aim Flags", "type": "Value", "id": "f98e71db-49b4-4882-8991-a0e386733e87", "expectedControlType": "Integer", @@ -443,6 +443,15 @@ "processors": "", "interactions": "", "initialStateCheck": true + }, + { + "name": "Thumbstick", + "type": "Value", + "id": "c01850c4-700b-4ae6-a187-a894afef5bbd", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true } ], "bindings": [ @@ -463,7 +472,7 @@ "path": "{LeftHand}/pointerRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": true @@ -474,7 +483,7 @@ "path": "{LeftHand}/deviceRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": true @@ -485,7 +494,7 @@ "path": "{LeftHand}/deviceRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": true @@ -507,7 +516,7 @@ "path": "{LeftHand}/pointerPosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": true @@ -518,7 +527,7 @@ "path": "{LeftHand}/devicePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": true @@ -529,7 +538,7 @@ "path": "{LeftHand}/devicePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": true @@ -540,7 +549,7 @@ "path": "{LeftHand}/*", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Haptic Device", "isComposite": false, "isPartOfComposite": false @@ -551,7 +560,7 @@ "path": "{LeftHand}/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Tracking State", "isComposite": false, "isPartOfComposite": false @@ -562,7 +571,7 @@ "path": "{LeftHand}/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Tracking State", "isComposite": false, "isPartOfComposite": false @@ -573,7 +582,40 @@ "path": "{LeftHand}/devicePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Aim Position", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8ee39b25-fde6-4195-bc6e-68caadef9183", + "path": "{LeftHand}/pointer/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Position", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ec4a1046-3843-445d-8ad4-a769823faa86", + "path": "{LeftHand}/pointer/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Position", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d29757d4-ec35-4477-8a26-1d14acd14ba9", + "path": "{LeftHand}/pointer/position", + "interactions": "", + "processors": "", + "groups": "", "action": "Aim Position", "isComposite": false, "isPartOfComposite": false @@ -584,43 +626,175 @@ "path": "{LeftHand}/deviceRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Aim Rotation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c3ff2c3c-d1ef-40c9-8777-72ee03df3ff3", + "path": "{LeftHand}/pointer/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Rotation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "68633061-addf-447b-969e-06249302eaad", + "path": "{LeftHand}/pointer/rotation", + "interactions": "", + "processors": "", + "groups": "", "action": "Aim Rotation", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "f7a37505-52bd-4a96-8f88-c761a62a71e7", + "id": "4848899c-8c90-455a-a915-6422290f501b", + "path": "{LeftHand}/pointer/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Rotation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Vector 3 Fallback", + "id": "aff6849b-544f-473c-9d7e-da40488aa6ab", + "path": "Vector3Fallback", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Position", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "first", + "id": "e62f5918-8922-4a59-ae42-179b1fde0d29", "path": "{LeftHand}/pinchPosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Pinch Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "second", + "id": "1e9cdc2b-24e6-4624-9bd8-02c7dcf68fb4", + "path": "{LeftHand}/pinchPose/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "third", + "id": "0adea6d4-f14c-4243-8217-dd63b6529bcc", + "path": "{LeftHand}/pinchPose/position", + "interactions": "", + "processors": "", + "groups": "", "action": "Pinch Position", "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Vector 3 Fallback", + "id": "2ef93166-d4e5-471d-8321-71e7cdec9220", + "path": "Vector3Fallback", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Position", + "isComposite": true, "isPartOfComposite": false }, { - "name": "", - "id": "017a01a2-6e1a-4b39-9b5e-e115d5d2dd6a", + "name": "first", + "id": "55020194-7022-4059-8424-8ecc0de92c13", "path": "{LeftHand}/pokePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Poke Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "second", + "id": "9a8820cc-2172-4641-9fae-0c416b2649e2", + "path": "{LeftHand}/pokePose/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "third", + "id": "ef0a4717-47f8-47a3-8dae-fd0cba366115", + "path": "{LeftHand}/pokePose/position", + "interactions": "", + "processors": "", + "groups": "", "action": "Poke Position", "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Quaternion Fallback", + "id": "892e5765-05a7-460a-942c-32e8a36bd441", + "path": "QuaternionFallback", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Rotation", + "isComposite": true, "isPartOfComposite": false }, { - "name": "", - "id": "3ab4651e-837c-4352-9055-6671517f1917", + "name": "first", + "id": "5f5fb46a-effc-4105-bb74-d30dc9cd1f43", "path": "{LeftHand}/pokeRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Poke Rotation", "isComposite": false, - "isPartOfComposite": false + "isPartOfComposite": true + }, + { + "name": "second", + "id": "8fba8372-e2dd-4a31-8048-45d49484323e", + "path": "{LeftHand}/pokePose/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Rotation", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "third", + "id": "8c1d4e9b-88f5-4966-a6e4-0f22f7bb896d", + "path": "{LeftHand}/pokePose/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Rotation", + "isComposite": false, + "isPartOfComposite": true }, { "name": "", @@ -628,7 +802,7 @@ "path": "{LeftHand}/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Is Tracked", "isComposite": false, "isPartOfComposite": false @@ -639,7 +813,7 @@ "path": "{LeftHand}/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Is Tracked", "isComposite": false, "isPartOfComposite": false @@ -650,8 +824,8 @@ "path": "{LeftHand}/aimFlags", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "Aim Flags", + "groups": "", + "action": "Meta Aim Flags", "isComposite": false, "isPartOfComposite": false }, @@ -661,7 +835,7 @@ "path": "{LeftHand}/gripPosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Grip Position", "isComposite": false, "isPartOfComposite": false @@ -672,22 +846,33 @@ "path": "{LeftHand}/gripRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Grip Rotation", "isComposite": false, "isPartOfComposite": false + }, + { + "name": "", + "id": "0123e5fd-aec0-4ab3-b201-2e6c65d2b93e", + "path": "{LeftHand}/{Primary2DAxis}", + "interactions": "", + "processors": "", + "groups": "", + "action": "Thumbstick", + "isComposite": false, + "isPartOfComposite": false } ] }, { - "name": "XRI LeftHand Interaction", + "name": "XRI Left Interaction", "id": "7a5e7537-cc30-4eb1-a544-6946baa8f3eb", "actions": [ { "name": "Select", "type": "Button", "id": "33754c03-48ec-46ef-9bc6-22ed6bfdd8e8", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false @@ -723,7 +908,7 @@ "name": "UI Press", "type": "Button", "id": "7e1eced7-c774-4fe5-be8f-d8711f646d9e", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false @@ -747,7 +932,16 @@ "initialStateCheck": true }, { - "name": "Rotate Anchor", + "name": "Translate Manipulation", + "type": "Value", + "id": "bfa204c7-3c92-4193-bad1-39eb71920042", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Rotate Manipulation", "type": "Value", "id": "21b75b25-12ad-410f-b4f8-a7745b7aca27", "expectedControlType": "Vector2", @@ -756,9 +950,9 @@ "initialStateCheck": true }, { - "name": "Translate Anchor", + "name": "Directional Manipulation", "type": "Value", - "id": "bfa204c7-3c92-4193-bad1-39eb71920042", + "id": "93bd97c5-fd23-4853-8045-1b12324aa24e", "expectedControlType": "Vector2", "processors": "", "interactions": "", @@ -774,7 +968,7 @@ "initialStateCheck": false }, { - "name": "Scale Delta", + "name": "Scale Over Time", "type": "Value", "id": "2257500c-1efb-4f69-a54d-ed5db2708616", "expectedControlType": "Vector2", @@ -790,7 +984,7 @@ "path": "{LeftHand}/{GripButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Select", "isComposite": false, "isPartOfComposite": false @@ -801,118 +995,217 @@ "path": "{LeftHand}/indexPressed", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Select", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "49a23327-a116-48c0-8af9-0d2c50c15a88", - "path": "{LeftHand}/{Grip}", + "id": "3bbf9f24-2edd-41b9-8456-683298f1e58c", + "path": "{LeftHand}/graspFirm", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "Select Value", + "groups": "", + "action": "Select", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "304be843-4b23-45d9-89fa-005ac163d9b9", - "path": "{LeftHand}/pinchStrengthIndex", + "id": "a86585c7-1d41-40e2-a7ca-bb76cca5c32a", + "path": "{LeftHand}/pinchTouched", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "Select Value", + "groups": "", + "action": "Select", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "487f4f2e-9e9b-49aa-b0f2-4037a24624f5", - "path": "{LeftHand}/{TriggerButton}", + "id": "ebab6345-d4f7-4a42-94b3-12d4464de218", + "path": "{LeftHand}/squeezePressed", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "Activate", + "groups": "", + "action": "Select", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "3b8b1b59-2fdc-4998-8259-50341075d9a2", - "path": "{LeftHand}/{Trigger}", + "id": "49a23327-a116-48c0-8af9-0d2c50c15a88", + "path": "{LeftHand}/{Grip}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "Activate Value", + "groups": "", + "action": "Select Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "b34c79c1-ab5e-4851-87ac-abc43705eae0", - "path": "{LeftHand}/{TriggerButton}", + "id": "304be843-4b23-45d9-89fa-005ac163d9b9", + "path": "{LeftHand}/pinchStrengthIndex", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "UI Press", + "groups": "", + "action": "Select Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "a5bf6a12-a026-46d1-a793-7252c49aaf66", - "path": "{LeftHand}/indexPressed", + "id": "2a4b758a-252a-484c-9a26-438954189c08", + "path": "{LeftHand}/graspValue", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "UI Press", + "groups": "", + "action": "Select Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "71d94579-1bf4-4034-ab9e-e7166842128f", - "path": "{LeftHand}/{Trigger}", + "id": "bc272ed6-7655-4292-9c21-e5b87bec4350", + "path": "{LeftHand}/pinchValue", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "UI Press Value", + "groups": "", + "action": "Select Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "d250c9be-4bf2-4b5c-8962-4fcf5d53bdb3", - "path": "{LeftHand}/pinchStrengthIndex", + "id": "a8d99ae3-e736-4370-ad5e-9fa45cb7a1be", + "path": "{LeftHand}/squeeze", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "UI Press Value", + "groups": "", + "action": "Select Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "8ed313a6-c966-4669-8a62-4bb2319d485b", - "path": "{LeftHand}/{Primary2DAxis}", + "id": "487f4f2e-9e9b-49aa-b0f2-4037a24624f5", + "path": "{LeftHand}/{TriggerButton}", "interactions": "", - "processors": "ScaleVector2(y=0),StickDeadzone", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", + "processors": "", + "groups": "", + "action": "Activate", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "370f21e3-a80b-4b07-990b-299c2da0929a", + "id": "3b8b1b59-2fdc-4998-8259-50341075d9a2", + "path": "{LeftHand}/{Trigger}", + "interactions": "", + "processors": "", + "groups": "", + "action": "Activate Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "b34c79c1-ab5e-4851-87ac-abc43705eae0", + "path": "{LeftHand}/{TriggerButton}", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "a5bf6a12-a026-46d1-a793-7252c49aaf66", + "path": "{LeftHand}/indexPressed", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "fc8b2287-429e-4be4-a34b-cca7c50eeb52", + "path": "{LeftHand}/pointerActivated", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "ca931b95-39e0-4db1-9887-f5a5f68298d4", + "path": "{LeftHand}/selectPressed", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "71d94579-1bf4-4034-ab9e-e7166842128f", + "path": "{LeftHand}/{Trigger}", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d250c9be-4bf2-4b5c-8962-4fcf5d53bdb3", + "path": "{LeftHand}/pinchStrengthIndex", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c4c2fc93-75fe-4910-95ca-6b1cc163a48a", + "path": "{LeftHand}/pointerActivateValue", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c7b5ae56-e532-43a3-a053-8d66df507df1", + "path": "{LeftHand}/select", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "8ed313a6-c966-4669-8a62-4bb2319d485b", "path": "{LeftHand}/{Primary2DAxis}", "interactions": "", - "processors": "ScaleVector2(x=0),StickDeadzone", - "groups": "Generic XR Controller", - "action": "Translate Anchor", + "processors": "ScaleVector2(y=0),StickDeadzone", + "groups": "", + "action": "Rotate Manipulation", "isComposite": false, "isPartOfComposite": false }, @@ -922,7 +1215,7 @@ "path": "{LeftHand}/{Primary2DAxis}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "UI Scroll", "isComposite": false, "isPartOfComposite": false @@ -933,7 +1226,7 @@ "path": "{LeftHand}/{Primary2DAxisClick}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Scale Toggle", "isComposite": false, "isPartOfComposite": false @@ -944,28 +1237,41 @@ "path": "{LeftHand}/{Primary2DAxis}", "interactions": "", "processors": "ScaleVector2(x=0),StickDeadzone", - "groups": "Generic XR Controller", - "action": "Scale Delta", + "groups": "", + "action": "Scale Over Time", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "5fe0ed53-b4d3-4cd8-b567-397a7d1e1c6a", + "path": "{LeftHand}/{Primary2DAxis}", + "interactions": "", + "processors": "", + "groups": "", + "action": "Directional Manipulation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "370f21e3-a80b-4b07-990b-299c2da0929a", + "path": "{LeftHand}/{Primary2DAxis}", + "interactions": "", + "processors": "ScaleVector2(x=0),StickDeadzone", + "groups": "", + "action": "Translate Manipulation", "isComposite": false, "isPartOfComposite": false } ] }, { - "name": "XRI LeftHand Locomotion", + "name": "XRI Left Locomotion", "id": "22336389-9fb1-4c2c-8635-0ed30db0d29e", "actions": [ { - "name": "Teleport Select", - "type": "Value", - "id": "cbeaf823-3b69-4004-8ec8-13ea2ca3fc31", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Teleport Mode Activate", + "name": "Teleport Mode", "type": "Value", "id": "a21db72c-4843-4839-b4d0-3ce8d287cb86", "expectedControlType": "Vector2", @@ -983,18 +1289,18 @@ "initialStateCheck": false }, { - "name": "Teleport Direction", + "name": "Turn", "type": "Value", - "id": "93bd97c5-fd23-4853-8045-1b12324aa24e", + "id": "9164e093-ebd4-4923-af32-1b52f31c2d66", "expectedControlType": "Vector2", "processors": "", "interactions": "", "initialStateCheck": true }, { - "name": "Turn", + "name": "Snap Turn", "type": "Value", - "id": "9164e093-ebd4-4923-af32-1b52f31c2d66", + "id": "8c14e969-a054-4f12-840c-4e0bd85173d9", "expectedControlType": "Vector2", "processors": "", "interactions": "", @@ -1017,37 +1323,17 @@ "processors": "", "interactions": "", "initialStateCheck": false - }, - { - "name": "Snap Turn", - "type": "Value", - "id": "8c14e969-a054-4f12-840c-4e0bd85173d9", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true } ], "bindings": [ - { - "name": "", - "id": "95fa1419-ca7b-4c8a-8d15-7d46e58d82e3", - "path": "{LeftHand}/{Primary2DAxis}", - "interactions": "Sector(directions=-1,sweepBehavior=3)", - "processors": "", - "groups": "Noncontinuous Move", - "action": "Teleport Select", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "8da6ed3a-f621-49fe-8c76-1f6b7d7754d6", "path": "{LeftHand}/{Primary2DAxis}", "interactions": "Sector(directions=1)", "processors": "", - "groups": "Noncontinuous Move", - "action": "Teleport Mode Activate", + "groups": "", + "action": "Teleport Mode", "isComposite": false, "isPartOfComposite": false }, @@ -1057,7 +1343,7 @@ "path": "{LeftHand}/{GripButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Teleport Mode Cancel", "isComposite": false, "isPartOfComposite": false @@ -1068,7 +1354,7 @@ "path": "{LeftHand}/{Primary2DAxis}", "interactions": "Sector(directions=12,sweepBehavior=1),Sector(directions=2,sweepBehavior=2)", "processors": "", - "groups": "Noncontinuous Move", + "groups": "", "action": "Turn", "isComposite": false, "isPartOfComposite": false @@ -1079,29 +1365,18 @@ "path": "{LeftHand}/{Primary2DAxis}", "interactions": "", "processors": "StickDeadzone", - "groups": "Continuous Move", + "groups": "", "action": "Move", "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "5fe0ed53-b4d3-4cd8-b567-397a7d1e1c6a", - "path": "{LeftHand}/{Primary2DAxis}", - "interactions": "", - "processors": "", - "groups": "Noncontinuous Move", - "action": "Teleport Direction", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "9e2fa814-8cbd-4c65-a60d-a1503f30ffd8", "path": "{LeftHand}/{GripButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Grab Move", "isComposite": false, "isPartOfComposite": false @@ -1112,7 +1387,7 @@ "path": "{LeftHand}/{Primary2DAxis}", "interactions": "Sector(directions=12,sweepBehavior=1),Sector(directions=2,sweepBehavior=2)", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Snap Turn", "isComposite": false, "isPartOfComposite": false @@ -1120,7 +1395,7 @@ ] }, { - "name": "XRI RightHand", + "name": "XRI Right", "id": "7960f8ef-2bf3-4281-aecc-4c03809d6c8c", "actions": [ { @@ -1145,7 +1420,7 @@ "name": "Is Tracked", "type": "Button", "id": "a705ffe4-b2c8-4b78-847f-25257d4e30af", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": true @@ -1187,7 +1462,7 @@ "initialStateCheck": true }, { - "name": "Aim Flags", + "name": "Meta Aim Flags", "type": "Value", "id": "93a75a21-033e-440c-9954-ff264afb2db9", "expectedControlType": "Integer", @@ -1239,6 +1514,15 @@ "processors": "", "interactions": "", "initialStateCheck": true + }, + { + "name": "Thumbstick", + "type": "Value", + "id": "b8c0ccd3-e1b6-4913-96b3-e0864c9ac6bd", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true } ], "bindings": [ @@ -1259,7 +1543,7 @@ "path": "{RightHand}/pointerRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": true @@ -1270,7 +1554,7 @@ "path": "{RightHand}/deviceRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": true @@ -1281,7 +1565,7 @@ "path": "{RightHand}/deviceRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Rotation", "isComposite": false, "isPartOfComposite": true @@ -1303,7 +1587,7 @@ "path": "{RightHand}/pointerPosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": true @@ -1314,7 +1598,7 @@ "path": "{RightHand}/devicePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": true @@ -1325,7 +1609,7 @@ "path": "{RightHand}/devicePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Position", "isComposite": false, "isPartOfComposite": true @@ -1336,7 +1620,7 @@ "path": "{RightHand}/*", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Haptic Device", "isComposite": false, "isPartOfComposite": false @@ -1347,7 +1631,7 @@ "path": "{RightHand}/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Tracking State", "isComposite": false, "isPartOfComposite": false @@ -1358,7 +1642,7 @@ "path": "{RightHand}/trackingState", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Tracking State", "isComposite": false, "isPartOfComposite": false @@ -1369,7 +1653,40 @@ "path": "{RightHand}/devicePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Aim Position", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e60d7767-705f-4af2-ae42-f135e6580630", + "path": "{RightHand}/pointer/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Position", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "d34dafcf-a3a4-4511-a73f-1ecbfd6099c8", + "path": "{RightHand}/pointer/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Position", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "720d5e83-6877-4504-9b4a-aa550c2593af", + "path": "{RightHand}/pointer/position", + "interactions": "", + "processors": "", + "groups": "", "action": "Aim Position", "isComposite": false, "isPartOfComposite": false @@ -1380,43 +1697,175 @@ "path": "{RightHand}/deviceRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Aim Rotation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "256fbef4-95a6-4127-ac3e-6a259b640666", + "path": "{RightHand}/pointer/rotation", + "interactions": "", + "processors": "", + "groups": "", "action": "Aim Rotation", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "21413a94-0048-4112-b433-a770f183f592", + "id": "d46291b9-775e-457b-a909-649a301d55c3", + "path": "{RightHand}/pointer/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Rotation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "2fac2635-e015-4fb7-9578-34b85a5d5797", + "path": "{RightHand}/pointer/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Aim Rotation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "Vector 3 Fallback", + "id": "0323576b-ec88-4459-a791-4afeada3f7c8", + "path": "Vector3Fallback", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Position", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "first", + "id": "0bdf98f1-d1a8-443f-805e-9718b34fc6ea", "path": "{RightHand}/pinchPosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Pinch Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "second", + "id": "0bd62ec6-1259-40f6-aa0a-71b82a790764", + "path": "{RightHand}/pinchPose/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "third", + "id": "7271c456-534a-4e51-9835-1ebd589a938e", + "path": "{RightHand}/pinchPose/position", + "interactions": "", + "processors": "", + "groups": "", "action": "Pinch Position", "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Vector 3 Fallback", + "id": "5724159b-b0ee-4458-b567-63874ee6e24a", + "path": "Vector3Fallback", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Position", + "isComposite": true, "isPartOfComposite": false }, { - "name": "", - "id": "5e847fad-7431-4e48-883a-d489fca4ce0d", + "name": "first", + "id": "3f5ff135-3cfa-48b6-a35c-aa52badc1d6e", "path": "{RightHand}/pokePosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Poke Position", "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "second", + "id": "c46e492c-1618-4d10-8c99-3079cf9deda6", + "path": "{RightHand}/pokePose/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "third", + "id": "34b9f870-767e-422c-b558-0708567a1a5d", + "path": "{RightHand}/pokePose/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "Quaternion Fallback", + "id": "74a5f1ad-f8ed-42cf-aff3-eb911325ca7d", + "path": "QuaternionFallback", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Rotation", + "isComposite": true, "isPartOfComposite": false }, { - "name": "", - "id": "99b19b88-e2ad-4670-91ee-1f55f6c34a69", + "name": "first", + "id": "595c1ccb-9c05-411a-a2fd-e892ca0c9091", "path": "{RightHand}/pokeRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Poke Rotation", "isComposite": false, - "isPartOfComposite": false + "isPartOfComposite": true + }, + { + "name": "second", + "id": "d7ce6129-ec94-4757-9595-aaf1032cae86", + "path": "{RightHand}/pokePose/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Rotation", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "third", + "id": "0e7b9607-caf5-46cc-adb9-2a1500c718a4", + "path": "{RightHand}/pokePose/rotation", + "interactions": "", + "processors": "", + "groups": "", + "action": "Poke Rotation", + "isComposite": false, + "isPartOfComposite": true }, { "name": "", @@ -1424,7 +1873,7 @@ "path": "{RightHand}/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Is Tracked", "isComposite": false, "isPartOfComposite": false @@ -1435,7 +1884,7 @@ "path": "{RightHand}/isTracked", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Is Tracked", "isComposite": false, "isPartOfComposite": false @@ -1446,8 +1895,8 @@ "path": "{RightHand}/aimFlags", "interactions": "", "processors": "", - "groups": "Generic XR Controller", - "action": "Aim Flags", + "groups": "", + "action": "Meta Aim Flags", "isComposite": false, "isPartOfComposite": false }, @@ -1457,7 +1906,7 @@ "path": "{RightHand}/gripPosition", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Grip Position", "isComposite": false, "isPartOfComposite": false @@ -1468,22 +1917,33 @@ "path": "{RightHand}/gripRotation", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Grip Rotation", "isComposite": false, "isPartOfComposite": false + }, + { + "name": "", + "id": "709cc921-f3b0-4dc8-88d4-7787b8a3ced1", + "path": "{RightHand}/{Primary2DAxis}", + "interactions": "", + "processors": "", + "groups": "", + "action": "Thumbstick", + "isComposite": false, + "isPartOfComposite": false } ] }, { - "name": "XRI RightHand Interaction", + "name": "XRI Right Interaction", "id": "461bce25-7762-40c5-b639-f190649be6d6", "actions": [ { "name": "Select", "type": "Button", "id": "ac96c10b-c955-4a46-8e67-bf16bc069b53", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false @@ -1519,7 +1979,7 @@ "name": "UI Press", "type": "Button", "id": "65174b45-c2ee-4f90-93bb-fb4084eaaab3", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false @@ -1543,7 +2003,16 @@ "initialStateCheck": true }, { - "name": "Rotate Anchor", + "name": "Translate Manipulation", + "type": "Value", + "id": "6f7cf253-7062-443b-b10f-2be48a33f027", + "expectedControlType": "Vector2", + "processors": "", + "interactions": "", + "initialStateCheck": true + }, + { + "name": "Rotate Manipulation", "type": "Value", "id": "9b5d8312-f609-4895-b70f-81a722b2ae11", "expectedControlType": "Vector2", @@ -1552,9 +2021,9 @@ "initialStateCheck": true }, { - "name": "Translate Anchor", + "name": "Directional Manipulation", "type": "Value", - "id": "6f7cf253-7062-443b-b10f-2be48a33f027", + "id": "b950a329-6492-4e29-b563-afc726f81e95", "expectedControlType": "Vector2", "processors": "", "interactions": "", @@ -1564,13 +2033,13 @@ "name": "Scale Toggle", "type": "Button", "id": "5ad73d15-99a4-4bce-a76f-f49815602416", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false }, { - "name": "Scale Delta", + "name": "Scale Over Time", "type": "Value", "id": "19a21f59-bd21-4f77-b29d-4fda26ef6769", "expectedControlType": "Vector2", @@ -1586,7 +2055,7 @@ "path": "{RightHand}/{GripButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Select", "isComposite": false, "isPartOfComposite": false @@ -1597,7 +2066,40 @@ "path": "{RightHand}/indexPressed", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Select", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "1fe3ab58-51f3-4274-995c-176ac72d9610", + "path": "{RightHand}/graspFirm", + "interactions": "", + "processors": "", + "groups": "", + "action": "Select", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "f6083118-4e38-45a2-afaf-52fa60444f78", + "path": "{RightHand}/pinchTouched", + "interactions": "", + "processors": "", + "groups": "", + "action": "Select", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "82f232f1-6246-4d1e-aacc-a7ccc16c76d9", + "path": "{RightHand}/squeezePressed", + "interactions": "", + "processors": "", + "groups": "", "action": "Select", "isComposite": false, "isPartOfComposite": false @@ -1608,7 +2110,7 @@ "path": "{RightHand}/{Grip}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Select Value", "isComposite": false, "isPartOfComposite": false @@ -1619,7 +2121,40 @@ "path": "{RightHand}/pinchStrengthIndex", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "Select Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e8d22d4b-ac0c-452b-9f5e-247f94754302", + "path": "{RightHand}/graspValue", + "interactions": "", + "processors": "", + "groups": "", + "action": "Select Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c850e784-816f-4df7-8759-a725cb4a84bf", + "path": "{RightHand}/pinchValue", + "interactions": "", + "processors": "", + "groups": "", + "action": "Select Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "e890a130-d436-4b52-a092-bff81d18bfb7", + "path": "{RightHand}/squeeze", + "interactions": "", + "processors": "", + "groups": "", "action": "Select Value", "isComposite": false, "isPartOfComposite": false @@ -1630,7 +2165,7 @@ "path": "{RightHand}/{TriggerButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Activate", "isComposite": false, "isPartOfComposite": false @@ -1641,7 +2176,7 @@ "path": "{RightHand}/{Trigger}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Activate Value", "isComposite": false, "isPartOfComposite": false @@ -1652,7 +2187,7 @@ "path": "{RightHand}/{TriggerButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "UI Press", "isComposite": false, "isPartOfComposite": false @@ -1663,7 +2198,29 @@ "path": "{RightHand}/indexPressed", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", + "action": "UI Press", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "7ae41e93-9c2b-4d15-8387-0eddbc823053", + "path": "{RightHand}/pointerActivated", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "f8a900c7-8116-4f44-9d24-8f19caf07108", + "path": "{RightHand}/selectPressed", + "interactions": "", + "processors": "", + "groups": "", "action": "UI Press", "isComposite": false, "isPartOfComposite": false @@ -1674,7 +2231,7 @@ "path": "{RightHand}/{Trigger}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "UI Press Value", "isComposite": false, "isPartOfComposite": false @@ -1685,30 +2242,41 @@ "path": "{RightHand}/pinchStrengthIndex", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "UI Press Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "5c0fa06c-b670-477f-a95d-eb3b4880e439", - "path": "{RightHand}/{Primary2DAxis}", + "id": "4bfac4d7-1bce-4fa7-a6b1-00eb7e5f346e", + "path": "{RightHand}/pointerActivateValue", "interactions": "", - "processors": "ScaleVector2(y=0),StickDeadzone", - "groups": "Generic XR Controller", - "action": "Rotate Anchor", + "processors": "", + "groups": "", + "action": "UI Press Value", "isComposite": false, "isPartOfComposite": false }, { "name": "", - "id": "4caf4e8d-13e5-4bd6-8f42-b6b99c315ad0", + "id": "e2fbf204-5031-483f-beaa-abf05113dbc7", + "path": "{RightHand}/select", + "interactions": "", + "processors": "", + "groups": "", + "action": "UI Press Value", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "5c0fa06c-b670-477f-a95d-eb3b4880e439", "path": "{RightHand}/{Primary2DAxis}", "interactions": "", - "processors": "ScaleVector2(x=0),StickDeadzone", - "groups": "Generic XR Controller", - "action": "Translate Anchor", + "processors": "ScaleVector2(y=0),StickDeadzone", + "groups": "", + "action": "Rotate Manipulation", "isComposite": false, "isPartOfComposite": false }, @@ -1718,7 +2286,7 @@ "path": "{RightHand}/{Primary2DAxis}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "UI Scroll", "isComposite": false, "isPartOfComposite": false @@ -1729,7 +2297,7 @@ "path": "{RightHand}/{Primary2DAxisClick}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Scale Toggle", "isComposite": false, "isPartOfComposite": false @@ -1740,28 +2308,41 @@ "path": "{RightHand}/{Primary2DAxis}", "interactions": "", "processors": "ScaleVector2(x=0),StickDeadzone", - "groups": "Generic XR Controller", - "action": "Scale Delta", + "groups": "", + "action": "Scale Over Time", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "c4b46d7d-8231-4672-83f9-75af565faf57", + "path": "{RightHand}/{Primary2DAxis}", + "interactions": "", + "processors": "", + "groups": "", + "action": "Directional Manipulation", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "", + "id": "4caf4e8d-13e5-4bd6-8f42-b6b99c315ad0", + "path": "{RightHand}/{Primary2DAxis}", + "interactions": "", + "processors": "ScaleVector2(x=0),StickDeadzone", + "groups": "", + "action": "Translate Manipulation", "isComposite": false, "isPartOfComposite": false } ] }, { - "name": "XRI RightHand Locomotion", + "name": "XRI Right Locomotion", "id": "99ce76d3-82c5-4289-9670-2ecffa6833fd", "actions": [ { - "name": "Teleport Select", - "type": "Value", - "id": "02e43582-8973-4940-af06-dff6158e3df2", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true - }, - { - "name": "Teleport Mode Activate", + "name": "Teleport Mode", "type": "Value", "id": "a6c7231d-c55d-4dd4-9e87-877bb5522ef5", "expectedControlType": "Vector2", @@ -1779,18 +2360,18 @@ "initialStateCheck": false }, { - "name": "Teleport Direction", + "name": "Turn", "type": "Value", - "id": "b950a329-6492-4e29-b563-afc726f81e95", + "id": "9fb2eb2b-2fb6-4328-8167-10a1bf11b424", "expectedControlType": "Vector2", "processors": "", "interactions": "", "initialStateCheck": true }, { - "name": "Turn", + "name": "Snap Turn", "type": "Value", - "id": "9fb2eb2b-2fb6-4328-8167-10a1bf11b424", + "id": "44441ad6-5762-466d-ad54-aa44fcd61a5c", "expectedControlType": "Vector2", "processors": "", "interactions": "", @@ -1813,37 +2394,17 @@ "processors": "", "interactions": "", "initialStateCheck": false - }, - { - "name": "Snap Turn", - "type": "Value", - "id": "44441ad6-5762-466d-ad54-aa44fcd61a5c", - "expectedControlType": "Vector2", - "processors": "", - "interactions": "", - "initialStateCheck": true } ], "bindings": [ - { - "name": "", - "id": "919c4a6c-22ed-4083-8e14-f30e91ff59fe", - "path": "{RightHand}/{Primary2DAxis}", - "interactions": "Sector(directions=-1,sweepBehavior=3)", - "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Select", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "62690862-4688-4010-975b-b3d9c6062157", "path": "{RightHand}/{Primary2DAxis}", "interactions": "Sector(directions=1)", "processors": "", - "groups": "Generic XR Controller", - "action": "Teleport Mode Activate", + "groups": "", + "action": "Teleport Mode", "isComposite": false, "isPartOfComposite": false }, @@ -1853,7 +2414,7 @@ "path": "{RightHand}/{GripButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Teleport Mode Cancel", "isComposite": false, "isPartOfComposite": false @@ -1864,7 +2425,7 @@ "path": "{RightHand}/{Primary2DAxis}", "interactions": "Sector(directions=12,sweepBehavior=1),Sector(directions=2,sweepBehavior=2)", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Turn", "isComposite": false, "isPartOfComposite": false @@ -1875,29 +2436,18 @@ "path": "{RightHand}/{Primary2DAxis}", "interactions": "", "processors": "StickDeadzone", - "groups": "Continuous Move", + "groups": "", "action": "Move", "isComposite": false, "isPartOfComposite": false }, - { - "name": "", - "id": "c4b46d7d-8231-4672-83f9-75af565faf57", - "path": "{RightHand}/{Primary2DAxis}", - "interactions": "", - "processors": "", - "groups": "Noncontinuous Move", - "action": "Teleport Direction", - "isComposite": false, - "isPartOfComposite": false - }, { "name": "", "id": "7ecb549e-ab98-4a4b-b979-38068fe3b811", "path": "{RightHand}/{GripButton}", "interactions": "", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Grab Move", "isComposite": false, "isPartOfComposite": false @@ -1908,7 +2458,7 @@ "path": "{RightHand}/{Primary2DAxis}", "interactions": "Sector(directions=12,sweepBehavior=1),Sector(directions=2,sweepBehavior=2)", "processors": "", - "groups": "Generic XR Controller", + "groups": "", "action": "Snap Turn", "isComposite": false, "isPartOfComposite": false @@ -2464,6 +3014,15 @@ "processors": "", "interactions": "", "initialStateCheck": true + }, + { + "name": "Spawn Object", + "type": "Button", + "id": "1415f3c5-fc5f-4f58-a044-4a69560151f2", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -2471,13 +3030,46 @@ "name": "", "id": "fea81b99-07f5-426a-beba-5e0832c14855", "path": "/tapStartPosition", - "interactions": "Tap", + "interactions": "", "processors": "", "groups": "", "action": "Tap Start Position", "isComposite": false, "isPartOfComposite": false }, + { + "name": "One Modifier", + "id": "ccaca70d-b804-4cda-9dd1-ee9152fa6ec8", + "path": "OneModifier", + "interactions": "Tap", + "processors": "", + "groups": "", + "action": "Tap Start Position", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "modifier", + "id": "30c845d9-0972-4e51-92bf-2eee8171abc7", + "path": "/press", + "interactions": "", + "processors": "", + "groups": "", + "action": "Tap Start Position", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "binding", + "id": "9ab23efd-1004-4423-b9b9-b070db6cde4e", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Tap Start Position", + "isComposite": false, + "isPartOfComposite": true + }, { "name": "", "id": "eb175a82-fad6-4249-bc9f-a6c9acee4436", @@ -2533,6 +3125,39 @@ "isComposite": false, "isPartOfComposite": false }, + { + "name": "1D Axis", + "id": "57cc64a3-de05-45d9-971f-764c0aa9efe5", + "path": "1DAxis", + "interactions": "", + "processors": "", + "groups": "", + "action": "Twist Delta Rotation", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "negative", + "id": "475bf595-e1da-44b6-8674-677260bd2dcf", + "path": "/r", + "interactions": "", + "processors": "", + "groups": "", + "action": "Twist Delta Rotation", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "positive", + "id": "05a801e2-b5df-4253-b3a9-ad2213853f57", + "path": "/e", + "interactions": "", + "processors": "", + "groups": "", + "action": "Twist Delta Rotation", + "isComposite": false, + "isPartOfComposite": true + }, { "name": "", "id": "d919e652-0e4a-4f12-a1f9-b18cead206e2", @@ -2577,6 +3202,50 @@ "isComposite": false, "isPartOfComposite": false }, + { + "name": "", + "id": "6926b069-b36d-40c2-8325-797a8deb9038", + "path": "/scroll/y", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Gap Delta", + "isComposite": false, + "isPartOfComposite": false + }, + { + "name": "1D Axis", + "id": "da16ab02-4e2b-46f5-a969-c780423ac0e9", + "path": "1DAxis", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Gap Delta", + "isComposite": true, + "isPartOfComposite": false + }, + { + "name": "negative", + "id": "07794ffe-429a-49c7-93c1-83c4af6695f4", + "path": "/z", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Gap Delta", + "isComposite": false, + "isPartOfComposite": true + }, + { + "name": "positive", + "id": "c480645b-97d7-4c34-8797-7f9a24edb3c5", + "path": "/x", + "interactions": "", + "processors": "", + "groups": "", + "action": "Pinch Gap Delta", + "isComposite": false, + "isPartOfComposite": true + }, { "name": "", "id": "0f8550ed-7261-48e0-aa0e-6670f29141f5", @@ -2598,68 +3267,53 @@ "action": "Pinch Gap", "isComposite": false, "isPartOfComposite": false - } - ] - } - ], - "controlSchemes": [ - { - "name": "Generic XR Controller", - "bindingGroup": "Generic XR Controller", - "devices": [ - { - "devicePath": "{LeftHand}", - "isOptional": true, - "isOR": false - }, - { - "devicePath": "{RightHand}", - "isOptional": true, - "isOR": false }, { - "devicePath": "", - "isOptional": true, - "isOR": false + "name": "", + "id": "f0f27c2a-eef2-418a-986a-811bf690fd89", + "path": "/Press", + "interactions": "Tap", + "processors": "", + "groups": "", + "action": "Spawn Object", + "isComposite": false, + "isPartOfComposite": false }, { - "devicePath": "", - "isOptional": true, - "isOR": false - } - ] - }, - { - "name": "Continuous Move", - "bindingGroup": "Continuous Move", - "devices": [ - { - "devicePath": "{LeftHand}", - "isOptional": false, - "isOR": false + "name": "One Modifier", + "id": "6f6c3123-8e3c-4f69-9ecc-2a605a5f8777", + "path": "OneModifier", + "interactions": "Tap", + "processors": "", + "groups": "", + "action": "Spawn Object", + "isComposite": true, + "isPartOfComposite": false }, { - "devicePath": "{RightHand}", - "isOptional": false, - "isOR": false - } - ] - }, - { - "name": "Noncontinuous Move", - "bindingGroup": "Noncontinuous Move", - "devices": [ - { - "devicePath": "{LeftHand}", - "isOptional": false, - "isOR": false + "name": "modifier", + "id": "ab34c73d-e0f0-4cf2-962e-2c201f9c5714", + "path": "/press", + "interactions": "", + "processors": "", + "groups": "", + "action": "Spawn Object", + "isComposite": false, + "isPartOfComposite": true }, { - "devicePath": "{RightHand}", - "isOptional": false, - "isOR": false + "name": "binding", + "id": "38c38fe4-fefa-4a01-a80a-6185ecb009cb", + "path": "/position", + "interactions": "", + "processors": "", + "groups": "", + "action": "Spawn Object", + "isComposite": false, + "isPartOfComposite": true } ] } - ] + ], + "controlSchemes": [] } \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions.meta b/Source/XR-Interaction-Component/StaticAssets/XRI VR Builder Input Actions.inputactions.meta similarity index 89% rename from Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions.meta rename to Source/XR-Interaction-Component/StaticAssets/XRI VR Builder Input Actions.inputactions.meta index 96e08a9e6..0d4e3dc0b 100644 --- a/Source/XR-Interaction-Component/Source/Runtime/Builder XR Input Actions/XRI Builder Hand Input Actions.inputactions.meta +++ b/Source/XR-Interaction-Component/StaticAssets/XRI VR Builder Input Actions.inputactions.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 6550b9f519889604d875ccdbf59de87d +guid: ed310a0831549ec44a986bf5d1ca06d5 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} From ff4fec12ce6b58aceaeab49d74e6b6d683694d1a Mon Sep 17 00:00:00 2001 From: Marcello Tridenti Date: Fri, 25 Oct 2024 11:13:11 +0200 Subject: [PATCH 04/26] Default raycast and interaction layers for teleport is now Teleport on index 31 (#255) * Renamed hardcoded teleport layer references * Added function to add interaction layer at specified position * Specified position 31 for Teleport interaction layer * Fixed adding multiple layers * Updated rig defaults * Added remarks to AddLayers --------- Co-authored-by: Markus Wellmann --- Demo/Editor/DemoSceneLoader.cs | 2 +- .../Editor/RigSetup/DefaultRigSceneSetup.cs | 2 +- .../Editor/UI/Wizard/Setup/AllAboutPage.cs | 2 +- .../PostProcessingPackageEnabler.cs | 2 +- .../PackageManager/Dependency.cs | 13 ++-- .../PackageManager/LayerDependency.cs | 24 +++++++ .../PackageManager/LayerDependency.cs.meta | 11 ++++ .../PackageManager/LayerUtils.cs | 62 ++++++++++++++++++- .../XRInteractionPackageEnabler.cs | 2 +- .../TeleportationAnchorVRBuilderEditor.cs | 2 +- .../TeleportationAreaVRBuilderEditor.cs | 2 +- .../ConfigureInteractionLayersMenuEntry.cs | 4 +- .../CreateDefaultInteractionLayers.cs | 11 ++-- .../Editor/InteractionLayerUtils.cs | 35 ++++++++++- .../Left Teleport Interactor.prefab | 4 +- 15 files changed, 153 insertions(+), 25 deletions(-) create mode 100644 Source/Package-Manager/PackageManager/LayerDependency.cs create mode 100644 Source/Package-Manager/PackageManager/LayerDependency.cs.meta diff --git a/Demo/Editor/DemoSceneLoader.cs b/Demo/Editor/DemoSceneLoader.cs index 9ffab2f96..c21a71ede 100644 --- a/Demo/Editor/DemoSceneLoader.cs +++ b/Demo/Editor/DemoSceneLoader.cs @@ -50,7 +50,7 @@ public static void LoadDemoScene() VRBuilder.Core.Setup.ILayerConfigurator configurator = configuratorGameObject.GetComponent(); if (configurator.LayerSet == VRBuilder.Core.Setup.LayerSet.Teleportation) { - configurator.ConfigureLayers("XR Teleport", "XR Teleport"); + configurator.ConfigureLayers("Teleport", "Teleport"); EditorUtility.SetDirty(configuratorGameObject); } } diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs b/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs index 9ce5c84ec..e15f654a9 100644 --- a/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs +++ b/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs @@ -46,7 +46,7 @@ public override void Setup(ISceneSetupConfiguration configuration) switch (layerConfigurator.LayerSet) { case LayerSet.Teleportation: - layerConfigurator.ConfigureLayers("XR Teleport", "XR Teleport"); + layerConfigurator.ConfigureLayers("Teleport", "Teleport"); break; default: break; diff --git a/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs b/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs index 2cf351dd4..4f0fa80d0 100644 --- a/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs +++ b/Source/Core/Editor/UI/Wizard/Setup/AllAboutPage.cs @@ -80,7 +80,7 @@ private void ConfigureTeleportationLayers() ILayerConfigurator configurator = configuratorGameObject.GetComponent(); if (configurator.LayerSet == LayerSet.Teleportation) { - configurator.ConfigureLayers("XR Teleport", "XR Teleport"); + configurator.ConfigureLayers("Teleport", "Teleport"); EditorUtility.SetDirty(configuratorGameObject); } } diff --git a/Source/Package-Manager/PackageDependencies/PostProcessingPackageEnabler.cs b/Source/Package-Manager/PackageDependencies/PostProcessingPackageEnabler.cs index 294b5993c..d8baafe74 100644 --- a/Source/Package-Manager/PackageDependencies/PostProcessingPackageEnabler.cs +++ b/Source/Package-Manager/PackageDependencies/PostProcessingPackageEnabler.cs @@ -12,6 +12,6 @@ public class PostProcessingPackageEnabler : Dependency public override int Priority { get; } = 10; /// - protected override string[] Layers { get; } = { "Post-Processing" }; + protected override LayerDependency[] LayerDependencies { get; } = { new LayerDependency("Post-Processing") }; } } diff --git a/Source/Package-Manager/PackageManager/Dependency.cs b/Source/Package-Manager/PackageManager/Dependency.cs index a2c821396..066c4f30a 100644 --- a/Source/Package-Manager/PackageManager/Dependency.cs +++ b/Source/Package-Manager/PackageManager/Dependency.cs @@ -3,11 +3,11 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using System; -using System.Linq; using System.Collections.Generic; -using UnityEngine; +using System.Linq; using UnityEditor; using UnityEditor.PackageManager.UI; +using UnityEngine; namespace VRBuilder.Editor.PackageManager { @@ -37,10 +37,13 @@ public abstract class Dependency ///
public virtual string[] Samples { get; } = null; + [Obsolete("Use LayerDependencies instead.")] + protected virtual string[] Layers { get; } = null; + /// /// A list of layers to be added. /// - protected virtual string[] Layers { get; } = null; + protected virtual LayerDependency[] LayerDependencies { get; } = null; /// /// Emitted when this is set as enabled. @@ -120,9 +123,9 @@ private void ImportPackageSamples() private void AddMissingLayers() { - if (Layers != null) + if (LayerDependencies != null) { - LayerUtils.AddLayers(Layers); + LayerUtils.AddLayerDependencies(LayerDependencies); } } } diff --git a/Source/Package-Manager/PackageManager/LayerDependency.cs b/Source/Package-Manager/PackageManager/LayerDependency.cs new file mode 100644 index 000000000..dad58ac5a --- /dev/null +++ b/Source/Package-Manager/PackageManager/LayerDependency.cs @@ -0,0 +1,24 @@ +namespace VRBuilder.Editor.PackageManager +{ + /// + /// A layer to be created by a . + /// + public struct LayerDependency + { + /// + /// The name of the layer to be created. + /// + public readonly string Name; + + /// + /// The preferred position in the array for the layer. + /// + public readonly int PreferredPosition; + + public LayerDependency(string name, int preferredPosition = -1) + { + Name = name; + PreferredPosition = preferredPosition; + } + } +} \ No newline at end of file diff --git a/Source/Package-Manager/PackageManager/LayerDependency.cs.meta b/Source/Package-Manager/PackageManager/LayerDependency.cs.meta new file mode 100644 index 000000000..dbdf6fd5c --- /dev/null +++ b/Source/Package-Manager/PackageManager/LayerDependency.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1cf8f402a1deca245916f08976100333 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Package-Manager/PackageManager/LayerUtils.cs b/Source/Package-Manager/PackageManager/LayerUtils.cs index 41a1ebcda..73c0810bc 100644 --- a/Source/Package-Manager/PackageManager/LayerUtils.cs +++ b/Source/Package-Manager/PackageManager/LayerUtils.cs @@ -21,15 +21,75 @@ internal static class LayerUtils /// public static void AddLayer(string layer) { - string[] layers = {layer}; + string[] layers = { layer }; AddLayers(layers); } + public static void AddLayerDependencies(IEnumerable layerDependencies) + { + Object[] foundAsset = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset"); + + if (foundAsset.Any() == false) + { + throw new FileLoadException("There was a problem trying to load ProjectSettings/TagManager.asset"); + } + + SerializedObject tagManager = new SerializedObject(foundAsset.First()); + SerializedProperty layersField = tagManager.FindProperty("layers"); + + if (layersField == null || layersField.isArray == false) + { + throw new ArgumentException("Field layers is either null or not array."); + } + + foreach (LayerDependency layerDependency in layerDependencies) + { + if (layerDependency.PreferredPosition < 0) + { + AddLayer(layerDependency.Name); + } + // First 8 slots are reserved by Unity. + else if (layerDependency.PreferredPosition < 8) + { + throw new IndexOutOfRangeException($"Unable to create layer '{layerDependency.Name}' at position {layerDependency.PreferredPosition}. Layers 0-7 are reserved by Unity."); + } + else if (layerDependency.PreferredPosition < layersField.arraySize) + { + SerializedProperty serializedProperty = layersField.GetArrayElementAtIndex(layerDependency.PreferredPosition); + string currentLayer = serializedProperty.stringValue; + + if (currentLayer != layerDependency.Name) + { + if (string.IsNullOrEmpty(currentLayer) || ShowLayerExistsDialog(layerDependency, currentLayer)) + { + serializedProperty.stringValue = layerDependency.Name; + } + } + } + else + { + throw new IndexOutOfRangeException($"Unable to create layer '{layerDependency.Name}' at position {layerDependency.PreferredPosition}. Requested index is out of range."); + } + } + + tagManager.ApplyModifiedProperties(); + } + + private static bool ShowLayerExistsDialog(LayerDependency layerDependency, string currentLayer) + { + string title = "Layer position is not empty"; + string description = $"Attempted to create layer '{layerDependency.Name}' at position {layerDependency.PreferredPosition}. The position is not empty but occupied by layer '{currentLayer}'."; + string yes = "Overwrite"; + string no = "Skip"; + return EditorUtility.DisplayDialog(title, description, yes, no); + } + /// /// Adds given to the Unity's TagManager. /// /// Exception thrown if the TagManager was not found. /// Exception thrown if layers field is not found or is not an array. + /// The first 8 layers are reserved by Unity and will be ignored. public static void AddLayers(IEnumerable layers) { Object[] foundAsset = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset"); diff --git a/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs b/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs index 763913421..a41ec9fea 100644 --- a/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs +++ b/Source/XR-Interaction-Component/PackageManager/XRInteractionPackageEnabler.cs @@ -15,6 +15,6 @@ public class XRInteractionPackageEnabler : Dependency public override int Priority { get; } = 4; /// - protected override string[] Layers { get; } = { "XR Teleport" }; + protected override LayerDependency[] LayerDependencies { get; } = { new LayerDependency("Teleport", 31) }; } } \ No newline at end of file diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs index 76b9b8f4f..619ba41cb 100644 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs +++ b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAnchorVRBuilderEditor.cs @@ -14,7 +14,7 @@ namespace VRBuilder.Editor.XRInteraction [CustomEditor(typeof(TeleportationAnchorVRBuilder)), CanEditMultipleObjects] public class TeleportationAnchorVRBuilderEditor : TeleportationAnchorEditor { - private const string teleportLayerName = "XR Teleport"; + private const string teleportLayerName = "Teleport"; private const string reticlePrefab = "TeleportReticle"; private const string anchorPrefabName = "VRBuilderAnchorPrefab"; private const string anchorSceneName = "Anchor"; diff --git a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs index 4a19ca4cc..9ad136e9d 100644 --- a/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs +++ b/Source/XR-Interaction-Component/Source/Editor/Interaction/TeleportationAreaVRBuilderEditor.cs @@ -9,7 +9,7 @@ namespace VRBuilder.Editor.XRInteraction [CustomEditor(typeof(TeleportationAreaVRBuilder)), CanEditMultipleObjects] public class TeleportationAreaVRBuilderEditor : TeleportationAreaEditor { - private const string teleportLayerName = "XR Teleport"; + private const string teleportLayerName = "Teleport"; private const string reticlePrefab = "TeleportReticle"; public override void OnInspectorGUI() diff --git a/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs b/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs index b534ef367..fabb044e5 100644 --- a/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs +++ b/Source/XR-Interaction-Component/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs @@ -11,8 +11,8 @@ namespace VRBuilder.Editor.XRInteraction.Menu ///
internal static class ConfigureInteractionLayersMenuEntry { - private const string teleportRaycastLayer = "XR Teleport"; - private const string teleportInteractionLayer = "XR Teleport"; + private const string teleportRaycastLayer = "Teleport"; + private const string teleportInteractionLayer = "Teleport"; [MenuItem("Tools/VR Builder/Developer/Configure Teleportation Layers", false, 80)] private static void ConfigureTeleportationLayers() diff --git a/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs index a1f1af829..0ce126996 100644 --- a/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs +++ b/Source/XR-Interaction-Component/Source/Editor/UI/ProjectSettings/CreateDefaultInteractionLayers.cs @@ -1,4 +1,5 @@ #if VR_BUILDER_XR_INTERACTION +using System.Collections.Generic; using UnityEditor; using UnityEngine; using VRBuilder.Editor.XRInteractionExtension; @@ -14,18 +15,18 @@ internal static class CreateDefaultInteractionLayers /// /// List of interaction layers that VR Builder creates automatically. /// - internal static string[] DefaultInteractionLayers = + internal static readonly Dictionary DefaultInteractionLayers = new Dictionary() { - "XR Teleport", + {31, "Teleport" } }; static CreateDefaultInteractionLayers() { - foreach (string layer in DefaultInteractionLayers) + foreach (int index in DefaultInteractionLayers.Keys) { - if (InteractionLayerUtils.AddLayerIfNotPresent(layer) == false) + if (InteractionLayerUtils.AddLayerIfNotPresent(DefaultInteractionLayers[index], false, index) == false) { - Debug.LogError($"Interaction layer '{layer}' is not present and it was not possible to add it automatically."); + Debug.LogError($"Interaction layer '{DefaultInteractionLayers[index]}' is not present and it was not possible to add it automatically."); } } } diff --git a/Source/XR-Interaction-Component/Source/XRInteractionExtension/Editor/InteractionLayerUtils.cs b/Source/XR-Interaction-Component/Source/XRInteractionExtension/Editor/InteractionLayerUtils.cs index a450e7805..312696c98 100644 --- a/Source/XR-Interaction-Component/Source/XRInteractionExtension/Editor/InteractionLayerUtils.cs +++ b/Source/XR-Interaction-Component/Source/XRInteractionExtension/Editor/InteractionLayerUtils.cs @@ -15,10 +15,10 @@ public static class InteractionLayerUtils /// Name of the layer to add. /// If true, a dialog will be shown for user confirmation. /// True if the layer has been added or was already present. - public static bool AddLayerIfNotPresent(string layerName, bool showDialog = false) + public static bool AddLayerIfNotPresent(string layerName, bool showDialog = false, int preferredPosition = -1) { string dialogTitle = "Add interaction layer?"; - string dialogText = $"The required interaction layer '{layerName}' has not been found. Do you want to create it at the first available position?"; + string dialogText = $"The required interaction layer '{layerName}' has not been found. Do you want to create it?"; string dialogConfirm = "Yes"; string dialogCancel = "No"; @@ -29,7 +29,7 @@ public static bool AddLayerIfNotPresent(string layerName, bool showDialog = fals if (showDialog == false || EditorUtility.DisplayDialog(dialogTitle, dialogText, dialogConfirm, dialogCancel)) { - return AddLayer(layerName); + return TryAddLayerAtPosition(layerName, preferredPosition); } return false; @@ -62,6 +62,35 @@ public static bool AddLayer(string layerName) return false; } + + /// + /// Tries to add a layer at a specified position. If the position is already occupied, + /// tries to add it on the first available spot. + /// + /// Name of the layer to add. + /// Preferred index in the interaction layers array. + /// True if a layer was added. + public static bool TryAddLayerAtPosition(string layerName, int preferredPosition) + { + const string layerNamesPropertyPath = "m_LayerNames"; + + SerializedObject interactionLayerSettingsSo = new SerializedObject(InteractionLayerSettings.Instance); + SerializedProperty layerNamesProperty = interactionLayerSettingsSo.FindProperty(layerNamesPropertyPath); + + if (preferredPosition >= InteractionLayerSettings.builtInLayerSize && preferredPosition < InteractionLayerSettings.layerSize) + { + SerializedProperty interactionLayerNameProperty = layerNamesProperty.GetArrayElementAtIndex(preferredPosition); + + if (interactionLayerNameProperty.stringValue == null || string.IsNullOrEmpty(interactionLayerNameProperty.stringValue)) + { + interactionLayerNameProperty.stringValue = layerName; + interactionLayerSettingsSo.ApplyModifiedProperties(); + return true; + } + } + + return AddLayer(layerName); + } } } #endif \ No newline at end of file diff --git a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab index cef24fee8..49b1a9c2f 100644 --- a/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab +++ b/Source/XR-Interaction-Component/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab @@ -50,7 +50,7 @@ MonoBehaviour: m_EditorClassIdentifier: m_InteractionManager: {fileID: 0} m_InteractionLayers: - m_Bits: 2 + m_Bits: 2147483648 m_Handedness: 1 m_AttachTransform: {fileID: 0} m_KeepSelectedTargetValid: 0 @@ -187,7 +187,7 @@ MonoBehaviour: m_ConeCastAngle: 6 m_RaycastMask: serializedVersion: 2 - m_Bits: 256 + m_Bits: 2147483648 m_RaycastTriggerInteraction: 1 m_RaycastSnapVolumeInteraction: 1 m_HitClosestOnly: 0 From dc479911b1f88e3ca44d57e26786b2ec7ae44786 Mon Sep 17 00:00:00 2001 From: Marcello Tridenti Date: Tue, 29 Oct 2024 16:04:09 +0100 Subject: [PATCH 05/26] Updated namespaces (#257) --- Demo/Editor/DemoSceneLoader.cs | 2 +- ...ne.asmdef => VRBuilder.Editor.Demo.asmdef} | 2 +- ...meta => VRBuilder.Editor.Demo.asmdef.meta} | 0 Demo/Runtime/{Scripts => }/TouchPanel.cs | 0 Demo/Runtime/{Scripts => }/TouchPanel.cs.meta | 0 ...DemoScene.asmdef => VRBuilder.Demo.asmdef} | 2 +- ...asmdef.meta => VRBuilder.Demo.asmdef.meta} | 0 Demo/{Runtime => }/Scenes.meta | 0 .../VR Builder Demo - Core Features.unity | 0 ...VR Builder Demo - Core Features.unity.meta | 0 ...- Don't open the demo scene from here!.txt | 0 ...'t open the demo scene from here!.txt.meta | 0 Demo/{Runtime => }/StaticAssets.meta | 0 .../{Runtime => }/StaticAssets/Materials.meta | 0 .../Materials/Ball.physicMaterial | 0 .../Materials/Ball.physicMaterial.meta | 0 .../StaticAssets/Materials/Conveyor.mat | 0 .../StaticAssets/Materials/Conveyor.mat.meta | 0 .../StaticAssets/Materials/Interactable.mat | 0 .../Materials/Interactable.mat.meta | 0 .../Materials/InteractableTrim.mat | 0 .../Materials/InteractableTrim.mat.meta | 0 .../StaticAssets/Materials/Light.mat | 0 .../StaticAssets/Materials/Light.mat.meta | 0 .../StaticAssets/Materials/LightSaber.mat | 0 .../Materials/LightSaber.mat.meta | 0 .../StaticAssets/Materials/MagicLight.mat | 0 .../Materials/MagicLight.mat.meta | 0 .../StaticAssets/Materials/Panel.mat | 0 .../StaticAssets/Materials/Panel.mat.meta | 0 .../StaticAssets/Materials/Platform.mat | 0 .../StaticAssets/Materials/Platform.mat.meta | 0 .../Materials/PlatformEmissive.mat | 0 .../Materials/PlatformEmissive.mat.meta | 0 .../StaticAssets/Materials/Shaft.mat | 0 .../StaticAssets/Materials/Shaft.mat.meta | 0 .../StaticAssets/Materials/Shield.mat | 0 .../StaticAssets/Materials/Shield.mat.meta | 0 .../StaticAssets/Materials/Skybox.mat | 0 .../StaticAssets/Materials/Skybox.mat.meta | 0 .../StaticAssets/Materials/Station.mat | 0 .../StaticAssets/Materials/Station.mat.meta | 0 .../Materials/StationEmissive.mat | 0 .../Materials/StationEmissive.mat.meta | 0 .../StaticAssets/Materials/Textures.meta | 0 .../Materials/Textures/purple-nebula_back.png | 0 .../Textures/purple-nebula_back.png.meta | 0 .../Materials/Textures/purple-nebula_down.png | 0 .../Textures/purple-nebula_down.png.meta | 0 .../Textures/purple-nebula_front.png | 0 .../Textures/purple-nebula_front.png.meta | 0 .../Materials/Textures/purple-nebula_left.png | 0 .../Textures/purple-nebula_left.png.meta | 0 .../Textures/purple-nebula_right.png | 0 .../Textures/purple-nebula_right.png.meta | 0 .../Materials/Textures/purple-nebula_up.png | 0 .../Textures/purple-nebula_up.png.meta | 0 .../Materials/Textures/review.png | 0 .../Materials/Textures/review.png.meta | 0 .../StaticAssets/Materials/TouchPanel.mat | 0 .../Materials/TouchPanel.mat.meta | 0 Demo/{Runtime => }/StaticAssets/Meshes.meta | 0 .../StaticAssets/Meshes/Ball.fbx | 0 .../StaticAssets/Meshes/Ball.fbx.meta | 0 .../StaticAssets/Meshes/MagicCube-Split-L.fbx | 0 .../Meshes/MagicCube-Split-L.fbx.meta | 0 .../StaticAssets/Meshes/MagicCube-Split-R.fbx | 0 .../Meshes/MagicCube-Split-R.fbx.meta | 0 .../StaticAssets/Meshes/MagicCube.fbx | 0 .../StaticAssets/Meshes/MagicCube.fbx.meta | 0 .../StaticAssets/Meshes/MagicSphere.fbx | 0 .../StaticAssets/Meshes/MagicSphere.fbx.meta | 0 .../StaticAssets/Meshes/Pedestal.fbx | 0 .../StaticAssets/Meshes/Pedestal.fbx.meta | 0 .../StaticAssets/Meshes/Platform.fbx | 0 .../StaticAssets/Meshes/Platform.fbx.meta | 0 .../StaticAssets/Meshes/Podium.fbx | 0 .../StaticAssets/Meshes/Podium.fbx.meta | 0 .../Meshes/PodiumTeleportArea.fbx | 0 .../Meshes/PodiumTeleportArea.fbx.meta | 0 .../StaticAssets/Meshes/ReviewPanel.fbx | 0 .../StaticAssets/Meshes/ReviewPanel.fbx.meta | 0 .../StaticAssets/Meshes/Shield.fbx | 0 .../StaticAssets/Meshes/Shield.fbx.meta | 0 .../StaticAssets/Meshes/Table.fbx | 0 .../StaticAssets/Meshes/Table.fbx.meta | 0 .../StaticAssets/Meshes/Target.fbx | 0 .../StaticAssets/Meshes/Target.fbx.meta | 0 .../StaticAssets/Meshes/TeleportArea.fbx | 0 .../StaticAssets/Meshes/TeleportArea.fbx.meta | 0 .../StaticAssets/Meshes/TouchPanel.fbx | 0 .../StaticAssets/Meshes/TouchPanel.fbx.meta | 0 .../StaticAssets/Meshes/Transformer.fbx | 0 .../StaticAssets/Meshes/Transformer.fbx.meta | 0 Demo/{Runtime => }/StaticAssets/Prefabs.meta | 0 .../StaticAssets/Prefabs/Laser Sword.prefab | 0 .../Prefabs/Laser Sword.prefab.meta | 0 .../StaticAssets/Prefabs/Magic Cube.mat | 0 .../StaticAssets/Prefabs/Magic Cube.mat.meta | 0 Source/Basic-Conditions-And-Behaviors.meta | 8 - .../.azure-pipelines.yml | 196 ----- .../.commitlintrc.json | 1 - .../.gitattributes | 129 ---- .../.github/CODE_OF_CONDUCT.md | 85 --- .../.github/CODING_CONVENTIONS.md | 509 ------------- .../.github/CONTRIBUTING.md | 174 ----- .../.github/ISSUE_TEMPLATE/BUG_REPORT.md | 47 -- .../.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md | 20 - .../.github/PULL_REQUEST_TEMPLATE.md | 38 - .../Basic-Conditions-And-Behaviors/.gitignore | 44 -- .../.releaserc.json | 12 - .../Editor/UI/Drawers/Audio Data Drawers.meta | 8 - .../UI/Drawers/Component List Drawer.meta | 8 - .../UI/Drawers/Data Property Drawers.meta | 8 - .../VRBuilder.Editor.CoreReference.asmref | 3 - ...VRBuilder.Editor.CoreReference.asmref.meta | 7 - .../Runtime.meta | 8 - .../Conditions/PositionalConditions.meta | 8 - .../Runtime/ProcessUtilities.meta | 8 - .../Runtime/Properties.meta | 8 - .../Runtime/Properties/Data.meta | 8 - .../Runtime/Properties/Highlighting.meta | 8 - .../Runtime/Properties/Particles.meta | 8 - .../Runtime/Properties/Path.meta | 8 - .../Runtime/VRBuilder.CoreReference.asmref | 3 - .../VRBuilder.CoreReference.asmref.meta | 7 - .../.azure-pipelines.yml | 207 ----- .../.commitlintrc.json | 1 - .../.gitattributes | 129 ---- .../.github/CODE_OF_CONDUCT.md | 85 --- .../.github/CODING_CONVENTIONS.md | 509 ------------- .../.github/CONTRIBUTING.md | 174 ----- .../.github/ISSUE_TEMPLATE/BUG_REPORT.md | 47 -- .../.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md | 20 - .../.github/PULL_REQUEST_TEMPLATE.md | 38 - Source/Basic-Interaction-Component/.gitignore | 44 -- .../.releaserc.json | 12 - .../Editor/Converters.meta | 8 - .../GrabbedObjectWithTagConditionConverter.cs | 34 - ...bedObjectWithTagConditionConverter.cs.meta | 11 - .../SnappedObjectWithTagConditionConverter.cs | 54 -- ...pedObjectWithTagConditionConverter.cs.meta | 11 - .../Editor/RigSetup.meta | 8 - ...n-Component.meta => BasicInteraction.meta} | 0 .../Editor.meta | 0 .../Editor/Setup.meta} | 2 +- .../Editor/Setup}/DefaultRigSceneSetup.cs | 4 +- .../Setup}/DefaultRigSceneSetup.cs.meta | 0 .../Setup}/InteractionFrameworkSceneSetup.cs | 5 +- .../InteractionFrameworkSceneSetup.cs.meta | 0 .../Editor/Setup}/RigLoaderSceneSetup.cs | 10 +- .../Editor/Setup}/RigLoaderSceneSetup.cs.meta | 0 .../Editor}/UI.meta | 2 +- .../Editor/UI}/Inspector.meta | 0 .../UI}/Inspector/HasGuidValidationEditor.cs | 6 +- .../Inspector/HasGuidValidationEditor.cs.meta | 0 .../Inspector}/InteractionRigSetupDrawer.cs | 32 +- .../InteractionRigSetupDrawer.cs.meta | 0 .../IsObjectWithTagValidationEditor.cs | 10 +- .../IsObjectWithTagValidationEditor.cs.meta | 0 .../Editor/UI}/MenuItems.meta | 0 .../Editor/UI}/MenuItems/GrabbedMenuItem.cs | 4 +- .../UI}/MenuItems/GrabbedMenuItem.cs.meta | 0 .../Editor/UI}/MenuItems/ReleasedMenuItem.cs | 4 +- .../UI}/MenuItems/ReleasedMenuItem.cs.meta | 0 .../Editor/UI}/MenuItems/SnappedMenuItem.cs | 4 +- .../UI}/MenuItems/SnappedMenuItem.cs.meta | 0 .../Editor/UI}/MenuItems/TeleportMenuItem.cs | 4 +- .../UI}/MenuItems/TeleportMenuItem.cs.meta | 0 .../Editor/UI}/MenuItems/TouchedMenuItem.cs | 4 +- .../UI}/MenuItems/TouchedMenuItem.cs.meta | 0 .../Editor/UI}/MenuItems/UnsnapMenuItem.cs | 4 +- .../UI}/MenuItems/UnsnapMenuItem.cs.meta | 0 .../Editor/UI}/MenuItems/UsedMenuItem.cs | 4 +- .../Editor/UI}/MenuItems/UsedMenuItem.cs.meta | 0 .../VRBuilder.BasicInteraction.Editor.asmdef} | 4 +- ...ilder.BasicInteraction.Editor.asmdef.meta} | 0 .../Resources.meta | 0 .../Resources/INTERACTION_RIG_LOADER.prefab | 0 .../INTERACTION_RIG_LOADER.prefab.meta | 0 .../Resources/Materials.meta | 0 .../Resources/Materials/AnchorMaterialSRP.mat | 0 .../Materials/AnchorMaterialSRP.mat.meta | 0 .../Resources/Materials/AnchorMaterialURP.mat | 0 .../Materials/AnchorMaterialURP.mat.meta | 0 .../Resources/TeleportReticle.prefab | 0 .../Resources/TeleportReticle.prefab.meta | 0 .../Resources/USER_DUMMY.prefab | 0 .../Resources/USER_DUMMY.prefab.meta | 0 .../Resources/VRBuilderAnchorPrefab.prefab | 0 .../VRBuilderAnchorPrefab.prefab.meta | 0 .../Runtime.meta | 0 .../Runtime/Behaviors.meta | 0 .../Runtime/Behaviors/UnsnapBehavior.cs | 1 + .../Runtime/Behaviors/UnsnapBehavior.cs.meta | 0 .../Runtime/Conditions.meta | 0 .../Runtime/Conditions/GrabbedCondition.cs | 0 .../Conditions/GrabbedCondition.cs.meta | 0 .../GrabbedObjectWithTagCondition.cs | 0 .../GrabbedObjectWithTagCondition.cs.meta | 0 .../Runtime/Conditions/ReleasedCondition.cs | 0 .../Conditions/ReleasedCondition.cs.meta | 0 .../Runtime/Conditions/SnappedCondition.cs | 0 .../Conditions/SnappedCondition.cs.meta | 0 .../SnappedObjectWithTagCondition.cs | 0 .../SnappedObjectWithTagCondition.cs.meta | 0 .../Runtime/Conditions/TeleportCondition.cs | 0 .../Conditions/TeleportCondition.cs.meta | 0 .../Runtime/Conditions/TouchedCondition.cs | 0 .../Conditions/TouchedCondition.cs.meta | 0 .../Runtime/Conditions/UsedCondition.cs | 0 .../Runtime/Conditions/UsedCondition.cs.meta | 0 .../Runtime/Interaction.meta | 0 .../Interaction/BaseInteractionSimulator.cs | 10 +- .../BaseInteractionSimulator.cs.meta | 0 .../Interaction/IInteractableObject.cs | 4 +- .../Interaction/IInteractableObject.cs.meta | 0 .../Runtime/Interaction/ISnapZone.cs | 16 +- .../Runtime/Interaction/ISnapZone.cs.meta | 0 .../Interaction/InteractionSimulatorDummy.cs | 4 +- .../InteractionSimulatorDummy.cs.meta | 0 .../Runtime/Locomotion.meta | 0 .../Locomotion/BaseLocomotionHandler.cs | 6 +- .../Locomotion/BaseLocomotionHandler.cs.meta | 0 .../Runtime/Properties.meta | 0 .../Runtime/Properties/IGrabbableProperty.cs | 0 .../Properties/IGrabbableProperty.cs.meta | 0 .../Runtime/Properties/ISnapZoneProperty.cs | 0 .../Properties/ISnapZoneProperty.cs.meta | 0 .../Runtime/Properties/ISnappableProperty.cs | 0 .../Properties/ISnappableProperty.cs.meta | 0 .../Properties/ITeleportationProperty.cs | 0 .../Properties/ITeleportationProperty.cs.meta | 0 .../Runtime/Properties/ITouchableProperty.cs | 0 .../Properties/ITouchableProperty.cs.meta | 0 .../Runtime/Properties/IUsableProperty.cs | 0 .../Properties/IUsableProperty.cs.meta | 0 .../Runtime/RigSetup.meta | 0 .../RigSetup/InteractionRigProvider.cs | 0 .../RigSetup/InteractionRigProvider.cs.meta | 0 .../Runtime/RigSetup/InteractionRigSetup.cs | 0 .../RigSetup/InteractionRigSetup.cs.meta | 0 .../Runtime/RigSetup/NoRigSetup.cs | 0 .../Runtime/RigSetup/NoRigSetup.cs.meta | 0 .../Runtime/VRBuilder.BasicInteraction.asmdef | 0 .../VRBuilder.BasicInteraction.asmdef.meta | 0 .../Runtime/Validation.meta | 0 .../Runtime/Validation/HasGuidValidation.cs | 0 .../Validation/HasGuidValidation.cs.meta | 0 .../Validation/IsObjectWithTagValidation.cs | 0 .../IsObjectWithTagValidation.cs.meta | 0 .../IsProcessSceneObjectValidation.cs | 0 .../IsProcessSceneObjectValidation.cs.meta | 0 .../Runtime/Validation/Validator.cs | 0 .../Runtime/Validation/Validator.cs.meta | 0 .../StaticAssets.meta} | 0 .../StaticAssets}/Materials.meta | 0 .../Materials/Opaque-Queue-Line.mat | 0 .../Materials/Opaque-Queue-Line.mat.meta | 0 .../StaticAssets}/Shaders.meta | 0 .../Shaders/Unlit-Line-Opaque.shader | 0 .../Shaders/Unlit-Line-Opaque.shader.meta | 0 Source/Core/.azure-documentation-release.yml | 79 -- Source/Core/.azure-pipelines.yml | 187 ----- Source/Core/.commitlintrc.json | 1 - Source/Core/.editorconfig | 16 - Source/Core/.gitattributes | 129 ---- Source/Core/.github/CODE_OF_CONDUCT.md | 85 --- Source/Core/.github/CODING_CONVENTIONS.md | 509 ------------- Source/Core/.github/CONTRIBUTING.md | 178 ----- .../Core/.github/ISSUE_TEMPLATE/BUG_REPORT.md | 47 -- .../.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md | 20 - Source/Core/.github/PULL_REQUEST_TEMPLATE.md | 38 - Source/Core/.gitignore | 44 -- Source/Core/.gitmodules | 0 Source/Core/.releaserc.json | 12 - Source/Core/Editor/AssemblyAttributes.cs | 2 +- Source/Core/Editor/AssemblyUnloadDetector.cs | 2 +- Source/Core/Editor/BuilderProjectSettings.cs | 4 +- .../Configuration/AllowedMenuItemsSettings.cs | 16 +- .../DefaultEditorConfiguration.cs | 6 +- .../Configuration/EditorConfigWrapper.cs | 4 +- .../Configuration/EditorConfigurator.cs | 10 +- .../Configuration/IEditorConfiguration.cs | 4 +- .../IEditorConfigurationExtension.cs | 2 +- .../LoggingConfigCreationTrigger.cs | 2 +- .../RuntimeConfiguratorEditor.cs | 12 +- .../SceneObjectRegistryV2EditorWindow.cs | 4 +- Source/Core/Editor/DefaultEditingStrategy.cs | 205 ----- .../Editor/DefaultEditingStrategy.cs.meta | 3 - Source/Core/Editor/EditorPrefExtensions.cs | 2 +- Source/Core/Editor/EditorReflectionUtils.cs | 4 +- Source/Core/Editor/EditorUtils.cs | 4 +- Source/Core/Editor/GlobalEditorHandler.cs | 53 +- .../Core/Editor/GraphViewEditingStrategy.cs | 11 +- Source/Core/Editor/IEditingStrategy.cs | 8 +- Source/Core/Editor/Input/InputEditorUtils.cs | 2 +- Source/Core/Editor/InputSystemChecker.cs | 4 +- Source/Core/Editor/MetadataWrapper.cs | 2 +- Source/Core/Editor/PackageExporter.cs | 12 +- .../Editor/PlatformCompatibilityChecker.cs | 2 +- .../ProcessAssets/ProcessAssetManager.cs | 48 +- .../ProcessAssetPostprocessor.cs | 2 +- .../ProcessAssetPostprocessorEventArgs.cs | 2 +- .../ProcessAssets/ProcessAssetProcessor.cs | 2 +- .../Editor/ProcessAssets/ProcessAssetUtils.cs | 29 +- Source/Core/Editor/ProcessController.meta | 8 - .../Converters/Converter.cs | 6 +- .../DisableGameObjectBehaviorConverter.cs | 2 +- .../EnableGameObjectBehaviorConverter.cs | 2 +- .../Converters/IConverter.cs | 2 +- ...tComponentEnabledByTagBehaviorConverter.cs | 2 +- ...tObjectsWithTagEnabledBehaviorConverter.cs | 2 +- .../ProcessUpgradeTool/ProcessUpgradeTool.cs | 13 +- .../Updaters/BehaviorListUpdater.cs | 2 +- .../Updaters/ConditionListUpdater.cs | 2 +- .../Updaters/DataUpdater.cs | 4 +- .../ProcessUpgradeTool/Updaters/IUpdater.cs | 2 +- .../Updaters/ListUpdater.cs | 3 +- .../LockablePropertyReferenceUpdater.cs | 4 +- .../Updaters/NestedUpdater.cs | 2 +- .../ProcessSceneReferencePropertyUpdater.cs | 2 +- .../Updaters/ProcessVariableBoolUpdater.cs | 2 +- .../Updaters/ProcessVariableFloatUpdater.cs | 2 +- .../Updaters/ProcessVariableStringUpdater.cs | 2 +- .../Updaters/PropertyUpdater.cs | 10 +- .../ProcessUpgradeTool/Updaters/Updater.cs | 2 +- .../DisabledValidationHandler.cs | 2 +- .../ProcessValidation/EditorReportEntry.cs | 4 +- .../Core/Editor/ProcessValidation/IContext.cs | 2 +- .../ProcessValidation/IContextResolver.cs | 2 +- .../ProcessValidation/IValidationHandler.cs | 2 +- .../ProcessValidation/IValidationReport.cs | 2 +- .../ProcessValidation/IValidationScope.cs | 2 +- .../Editor/ProcessValidation/IValidator.cs | 2 +- .../ValidationTooltipGenerator.cs | 2 +- Source/Core/Editor/Resources.meta | 8 - .../JsonEditorConfigurationSerializer.cs | 4 +- .../Setup/DefaultSceneSetupConfiguration.cs | 11 +- .../Editor/Setup/ISceneSetupConfiguration.cs | 2 +- .../ProcessControllerSceneSetup.cs | 11 +- .../ProcessControllerSceneSetup.cs.meta | 0 Source/Core/Editor/Setup/ProcessSceneSetup.cs | 20 +- .../Setup/RigLoaderSceneSetupConfiguration.cs | 11 +- .../Editor/Setup/RuntimeConfigurationSetup.cs | 3 +- Source/Core/Editor/Setup/SceneSetup.cs | 3 +- Source/Core/Editor/Setup/SceneSetupUtils.cs | 16 +- Source/Core/Editor/SystemClipboard.cs | 4 +- .../Core/Editor/TextToSpeech.meta | 2 +- .../DefaultTextToSpeechConfiguration.cs | 9 + .../DefaultTextToSpeechConfiguration.cs.meta | 0 .../Editor/TextToSpeech}/NAudioConverter.cs | 13 +- .../TextToSpeech}/NAudioConverter.cs.meta | 0 .../Editor/TextToSpeech}/Providers.meta | 0 .../Providers/DummyTextToSpeechProvider.cs | 10 +- .../DummyTextToSpeechProvider.cs.meta | 0 .../MicrosoftSapiTextToSpeechProvider.cs | 28 +- .../MicrosoftSapiTextToSpeechProvider.cs.meta | 0 .../Providers/WebTextToSpeechProvider.cs | 25 +- .../Providers/WebTextToSpeechProvider.cs.meta | 0 .../TextToSpeechBuildPreprocessor.cs | 6 +- .../TextToSpeechBuildPreprocessor.cs.meta | 0 .../Editor/TextToSpeech/Utils.meta} | 2 +- .../Utils}/TextToSpeechEditorUtils.cs | 21 +- .../Utils}/TextToSpeechEditorUtils.cs.meta | 0 Source/Core/Editor/UI/BezierCurveHelper.cs | 2 +- Source/Core/Editor/UI/BuilderEditorStyles.cs | 2 +- Source/Core/Editor/UI/BuilderGUILayout.cs | 10 +- .../Core/Editor/UI/Drawers/AbstractDrawer.cs | 4 +- .../UI/Drawers/AbstractInstantiatorDrawer.cs | 4 +- .../UI/Drawers/AnimationClipResourceDrawer.cs | 2 +- .../Editor/UI/Drawers/AnimationCurveDrawer.cs | 2 +- .../UI/Drawers/BehaviorCollectionDrawer.cs | 2 +- .../Drawers/BehaviorExecutionStagesDrawer.cs | 2 +- .../UI/Drawers/BehaviorInstantiatiorDrawer.cs | 10 +- Source/Core/Editor/UI/Drawers/BoolDrawer.cs | 2 +- .../Drawers}/BooleanProcessVariableDrawer.cs | 5 +- .../BooleanProcessVariableDrawer.cs.meta | 0 .../UI/Drawers}/CompareBooleansDrawer.cs | 5 +- .../UI/Drawers}/CompareBooleansDrawer.cs.meta | 0 .../UI/Drawers}/CompareNumbersDrawer.cs | 5 +- .../UI/Drawers}/CompareNumbersDrawer.cs.meta | 0 .../Editor/UI/Drawers}/CompareTextDrawer.cs | 5 +- .../UI/Drawers}/CompareTextDrawer.cs.meta | 0 .../UI/Drawers/CompareValueToConstDrawer.cs | 4 +- .../Editor/UI/Drawers}/CompareValuesDrawer.cs | 6 +- .../UI/Drawers}/CompareValuesDrawer.cs.meta | 0 .../UI/Drawers/ConditionInstantiatorDrawer.cs | 6 +- .../Core/Editor/UI/Drawers/DataOwnerDrawer.cs | 2 +- .../Drawers/DefaultProcessDrawerAttribute.cs | 2 +- .../Core/Editor/UI/Drawers/DrawerLocator.cs | 2 +- .../{DropdownDrawers => }/DropDownElement.cs | 2 +- .../DropDownElement.cs.meta | 0 .../{DropdownDrawers => }/DropdownDrawer.cs | 2 +- .../DropdownDrawer.cs.meta | 0 .../Editor/UI/Drawers/DropdownDrawers.meta | 8 - Source/Core/Editor/UI/Drawers/EnumDrawer.cs | 2 +- Source/Core/Editor/UI/Drawers/FloatDrawer.cs | 2 +- .../UI/Drawers}/FloatProcessVariableDrawer.cs | 5 +- .../FloatProcessVariableDrawer.cs.meta | 0 .../Core/Editor/UI/Drawers/IProcessDrawer.cs | 2 +- .../InstantiatorProcessDrawerAttribute.cs | 2 +- Source/Core/Editor/UI/Drawers/IntDrawer.cs | 2 +- .../UI/Drawers}/IntProcessVariableDrawer.cs | 5 +- .../Drawers}/IntProcessVariableDrawer.cs.meta | 0 Source/Core/Editor/UI/Drawers/ListDrawer.cs | 2 +- .../Editor/UI/Drawers/ListFloatColorDrawer.cs | 2 +- .../UI}/Drawers/LocalizationTableDrawer.cs | 4 +- .../Drawers/LocalizationTableDrawer.cs.meta | 0 .../UI/Drawers/LockableObjectsDrawer.cs | 8 +- .../UI/Drawers/MetadataWrapperDrawer.cs | 24 +- .../UI/Drawers/MultiLineStringDrawer.cs | 2 +- .../Core/Editor/UI/Drawers/NameableDrawer.cs | 4 +- .../UI/Drawers/NormalizedFloatDrawer.cs | 2 +- Source/Core/Editor/UI/Drawers/ObjectDrawer.cs | 6 +- ...icleSystemPropertySelectableValueDrawer.cs | 3 +- .../UI/Drawers}/PlayAudioBehaviorDrawer.cs | 20 +- .../Drawers}/PlayAudioBehaviorDrawer.cs.meta | 0 .../UI/Drawers/ProcessSceneReferenceDrawer.cs | 8 +- ...rocessVariableBoolSelectableValueDrawer.cs | 3 +- .../UI/Drawers}/ProcessVariableDrawer.cs | 11 +- .../UI/Drawers}/ProcessVariableDrawer.cs.meta | 0 ...ocessVariableFloatSelectableValueDrawer.cs | 3 +- ...cessVariableStringSelectableValueDrawer.cs | 3 +- .../Editor/UI/Drawers/ResourcePathDrawer.cs | 4 +- .../SceneDropdownDrawer.cs | 2 +- .../SceneDropdownDrawer.cs.meta | 0 .../Editor/UI/Drawers/SceneObjectTagDrawer.cs | 4 +- .../UI/Drawers/SelectableValueDrawer.cs | 4 +- .../SetComponentEnabledBehaviorDrawer.cs | 8 +- .../SetComponentEnabledBehaviorDrawer.cs.meta | 0 .../SetComponentEnabledByTagBehaviorDrawer.cs | 8 +- ...omponentEnabledByTagBehaviorDrawer.cs.meta | 0 Source/Core/Editor/UI/Drawers/StepDrawer.cs | 6 +- Source/Core/Editor/UI/Drawers/StringDrawer.cs | 2 +- .../Drawers}/StringProcessVariableDrawer.cs | 5 +- .../StringProcessVariableDrawer.cs.meta | 0 .../Drawers/StringsSelectableValueDrawer.cs | 2 +- .../Editor/UI/Drawers/SystemColorDrawer.cs | 2 +- .../Core/Editor/UI/Drawers/TabsGroupDrawer.cs | 4 +- .../UI/Drawers/TransitionCollectionDrawer.cs | 2 +- .../Editor/UI/Drawers/TransitionDrawer.cs | 2 +- .../Drawers/TransitionInstantiatiorDrawer.cs | 6 +- .../UI/Drawers/UniqueNameReferenceDrawer.cs | 10 +- .../Editor/UI/Drawers/UnityColor32Drawer.cs | 2 +- .../Editor/UI/Drawers/UnityColorDrawer.cs | 2 +- .../UI/Drawers/UserTagDropdownDrawer.cs | 4 +- .../Core/Editor/UI/Drawers/Vector2Drawer.cs | 2 +- .../Core/Editor/UI/Drawers/Vector3Drawer.cs | 2 +- .../Core/Editor/UI/Drawers/Vector4Drawer.cs | 2 +- .../UI/Drawers/VideoClipResourceDrawer.cs | 2 +- Source/Core/Editor/UI/EditorColorUtils.cs | 2 +- Source/Core/Editor/UI/EditorDrawingHelper.cs | 2 +- Source/Core/Editor/UI/EditorGraphics.cs | 496 ------------ Source/Core/Editor/UI/EditorGraphics.cs.meta | 3 - Source/Core/Editor/UI/EditorIcon.cs | 8 +- .../UI/GraphView/IContextMenuActions.cs | 2 +- Source/Core/Editor/UI/GraphView/IStepView.cs | 4 +- ...eInstantiators.meta => Instantiators.meta} | 0 .../DefaultStepNodeInstantiator.cs | 4 +- .../DefaultStepNodeInstantiator.cs.meta | 0 .../EndChapterNodeInstantiator.cs | 4 +- .../EndChapterNodeInstantiator.cs.meta | 0 .../IStepNodeInstantiator.cs | 4 +- .../IStepNodeInstantiator.cs.meta | 0 .../ParallelExecutionNodeInstantiator.cs | 4 +- .../ParallelExecutionNodeInstantiator.cs.meta | 0 .../StepGroupNodeInstantiator.cs | 4 +- .../StepGroupNodeInstantiator.cs.meta | 0 .../Editor/UI/GraphView/Nodes.meta} | 2 +- .../GraphView/{ => Nodes}/EndChapterNode.cs | 20 +- .../{ => Nodes}/EndChapterNode.cs.meta | 0 .../{ => Nodes}/EndChapterPostProcessing.cs | 3 +- .../EndChapterPostProcessing.cs.meta | 0 .../GraphView/{ => Nodes}/EntryPointNode.cs | 3 +- .../{ => Nodes}/EntryPointNode.cs.meta | 0 .../{ => Nodes}/ParallelExecutionNode.cs | 6 +- .../{ => Nodes}/ParallelExecutionNode.cs.meta | 0 .../ParallelExecutionPostProcessing.cs | 4 +- .../ParallelExecutionPostProcessing.cs.meta | 0 .../GraphView/{ => Nodes}/ProcessGraphNode.cs | 3 +- .../{ => Nodes}/ProcessGraphNode.cs.meta | 0 .../UI/GraphView/{ => Nodes}/StepGraphNode.cs | 6 +- .../{ => Nodes}/StepGraphNode.cs.meta | 0 .../UI/GraphView/{ => Nodes}/StepGroupNode.cs | 5 +- .../{ => Nodes}/StepGroupNode.cs.meta | 0 .../{ => Nodes}/StepGroupPostProcessing.cs | 3 +- .../StepGroupPostProcessing.cs.meta | 0 .../Core/Editor/UI/GraphView/ProcessExec.cs | 2 +- .../Editor/UI/GraphView/ProcessGraphView.cs | 21 +- Source/Core/Editor/UI/GraphView/Windows.meta | 8 + .../{ => Windows}/ProcessEditorWindow.cs | 3 +- .../{ => Windows}/ProcessEditorWindow.cs.meta | 0 .../{ => Windows}/ProcessGraphViewWindow.cs | 8 +- .../ProcessGraphViewWindow.cs.meta | 0 .../SceneReferencesEditorPopup.cs | 4 +- .../SceneReferencesEditorPopup.cs.meta | 0 .../{ => Windows}/SearchableGroupListPopup.cs | 3 +- .../SearchableGroupListPopup.cs.meta | 0 Source/Core/Editor/UI/Graphics.meta | 8 - .../Core/Editor/UI/Graphics/AddStepButton.cs | 51 -- .../Editor/UI/Graphics/AddStepButton.cs.meta | 3 - .../UI/Graphics/CreateTransitionButton.cs | 47 -- .../Graphics/CreateTransitionButton.cs.meta | 3 - Source/Core/Editor/UI/Graphics/EditorNode.cs | 40 - .../Editor/UI/Graphics/EditorNode.cs.meta | 3 - Source/Core/Editor/UI/Graphics/EntryJoint.cs | 44 -- .../Editor/UI/Graphics/EntryJoint.cs.meta | 3 - Source/Core/Editor/UI/Graphics/EntryNode.cs | 58 -- .../Core/Editor/UI/Graphics/EntryNode.cs.meta | 3 - Source/Core/Editor/UI/Graphics/ExitJoint.cs | 49 -- .../Core/Editor/UI/Graphics/ExitJoint.cs.meta | 3 - .../Editor/UI/Graphics/GraphicalElement.cs | 225 ------ .../UI/Graphics/GraphicalElement.cs.meta | 3 - .../UI/Graphics/GraphicalElementEventArgs.cs | 12 - .../GraphicalElementEventArgs.cs.meta | 3 - .../UI/Graphics/GraphicalEventHandler.cs | 108 --- .../UI/Graphics/GraphicalEventHandler.cs.meta | 3 - Source/Core/Editor/UI/Graphics/Grid.cs | 28 - Source/Core/Editor/UI/Graphics/Grid.cs.meta | 11 - ...PointerDraggedGraphicalElementEventArgs.cs | 22 - ...erDraggedGraphicalElementEventArgs.cs.meta | 3 - .../PointerGraphicalElementEventArgs.cs | 18 - .../PointerGraphicalElementEventArgs.cs.meta | 3 - Source/Core/Editor/UI/Graphics/Renderers.meta | 8 - .../Renderers/AddStepButtonRenderer.cs | 72 -- .../Renderers/AddStepButtonRenderer.cs.meta | 3 - .../ColoredGraphicalElementRenderer.cs | 46 -- .../ColoredGraphicalElementRenderer.cs.meta | 3 - .../CreateTransitionButtonRenderer.cs | 58 -- .../CreateTransitionButtonRenderer.cs.meta | 3 - .../Graphics/Renderers/EditorNodeRenderer.cs | 27 - .../Renderers/EditorNodeRenderer.cs.meta | 3 - .../Graphics/Renderers/EntryJointRenderer.cs | 58 -- .../Renderers/EntryJointRenderer.cs.meta | 3 - .../Graphics/Renderers/EntryNodeRenderer.cs | 73 -- .../Renderers/EntryNodeRenderer.cs.meta | 3 - .../Graphics/Renderers/ExitJointRenderer.cs | 64 -- .../Renderers/ExitJointRenderer.cs.meta | 3 - .../Renderers/GraphicalElementRenderer.cs | 34 - .../GraphicalElementRenderer.cs.meta | 3 - .../UI/Graphics/Renderers/GridRenderer.cs | 92 --- .../Graphics/Renderers/GridRenderer.cs.meta | 11 - .../MulticoloredGraphicalElementRenderer.cs | 43 -- ...lticoloredGraphicalElementRenderer.cs.meta | 3 - .../UI/Graphics/Renderers/StepNodeRenderer.cs | 117 --- .../Renderers/StepNodeRenderer.cs.meta | 3 - .../Graphics/Renderers/TransitionRenderer.cs | 34 - .../Renderers/TransitionRenderer.cs.meta | 3 - .../Renderers/WorkflowEditorGridRenderer.cs | 16 - .../WorkflowEditorGridRenderer.cs.meta | 11 - Source/Core/Editor/UI/Graphics/StepNode.cs | 117 --- .../Core/Editor/UI/Graphics/StepNode.cs.meta | 3 - .../Editor/UI/Graphics/TransitionElement.cs | 103 --- .../UI/Graphics/TransitionElement.cs.meta | 3 - .../Editor/UI/Graphics/WorkflowEditorGrid.cs | 59 -- .../UI/Graphics/WorkflowEditorGrid.cs.meta | 11 - Source/Core/Editor/UI/IEditorGraphicDrawer.cs | 2 +- .../UI/Inspector/BezierSplineInspector.cs | 249 +++--- .../ProcessControllerSetupEditor.cs | 34 +- .../ProcessControllerSetupEditor.cs.meta | 0 Source/Core/Editor/UI/LogoEditorHelper.cs | 2 +- Source/Core/Editor/UI/LogoStyle.cs | 2 +- .../UI/Menu/AddPropertyExtensionsMenuEntry.cs | 2 +- Source/Core/Editor/UI/Menu/AddonsMenuEntry.cs | 2 +- .../Editor/UI/Menu/ChooseSerializerPopup.cs | 2 +- .../Core/Editor/UI/Menu/CommunityMenuEntry.cs | 2 +- .../Editor/UI/Menu/DocumentationMenuEntry.cs | 2 +- .../Editor/UI/Menu/ImportProcessMenuEntry.cs | 10 +- .../Editor/UI/Menu/OpenProcessMenuEntry.cs | 5 +- Source/Core/Editor/UI/Menu/ReviewMenuEntry.cs | 2 +- .../Core/Editor/UI/Menu/RoadmapMenuEntry.cs | 2 +- .../SceneObjectRegistryVisualizerMenuEntry.cs | 4 +- .../UI/Menu/ShowBuilderSettingsMenuEntry.cs | 4 +- .../Editor/UI/MenuItems.meta | 0 .../Editor/UI/MenuItems}/Behaviors.meta | 2 +- .../Behaviors}/BehaviorSequenceMenuItem.cs | 6 +- .../BehaviorSequenceMenuItem.cs.meta | 0 .../MenuItems/Behaviors}/ConfettiMenuItem.cs | 6 +- .../Behaviors}/ConfettiMenuItem.cs.meta | 0 .../UI/MenuItems/Behaviors}/DelayMenuItem.cs | 6 +- .../Behaviors}/DelayMenuItem.cs.meta | 0 .../Behaviors}/DisableComponentMenuItem.cs | 4 +- .../DisableComponentMenuItem.cs.meta | 0 .../Behaviors}/DisableObjectsMenuItem.cs | 4 +- .../Behaviors}/DisableObjectsMenuItem.cs.meta | 0 .../Behaviors}/EnableComponentMenuItem.cs | 4 +- .../EnableComponentMenuItem.cs.meta | 0 .../Behaviors}/EnableObjectsMenuItem.cs | 4 +- .../Behaviors}/EnableObjectsMenuItem.cs.meta | 0 .../Behaviors}/HighlightObjectMenuItem.cs | 6 +- .../HighlightObjectMenuItem.cs.meta | 0 .../MenuItems/Behaviors}/LoadSceneMenuItem.cs | 4 +- .../Behaviors}/LoadSceneMenuItem.cs.meta | 0 .../Behaviors}/MoveObjectMenuItem.cs | 6 +- .../Behaviors}/MoveObjectMenuItem.cs.meta | 0 .../Behaviors}/PlayResourceAudioMenuItem.cs | 6 +- .../PlayResourceAudioMenuItem.cs.meta | 0 .../MenuItems/Behaviors}/ScalingMenuItem.cs | 6 +- .../Behaviors}/ScalingMenuItem.cs.meta | 0 .../MenuItems/Behaviors}/SetParentMenuItem.cs | 4 +- .../Behaviors}/SetParentMenuItem.cs.meta | 0 .../StartParticleEmissionMenuItem.cs | 4 +- .../StartParticleEmissionMenuItem.cs.meta | 0 .../StopParticleEmissionMenuItem.cs | 4 +- .../StopParticleEmissionMenuItem.cs.meta | 0 .../Behaviors}/TextToSpeechMenuItem.cs | 8 +- .../Behaviors}/TextToSpeechMenuItem.cs.meta | 0 .../Editor/UI/MenuItems}/Conditions.meta | 2 +- .../Conditions}/ObjectInColliderMenuItem.cs | 6 +- .../ObjectInColliderMenuItem.cs.meta | 0 .../Conditions}/ObjectInRangeMenuItem.cs | 4 +- .../Conditions}/ObjectInRangeMenuItem.cs.meta | 0 .../MenuItems/Conditions}/TimeoutMenuItem.cs | 4 +- .../Conditions}/TimeoutMenuItem.cs.meta | 0 .../Editor/UI/ProcessSceneObjectEditor.cs | 5 +- .../AdvancedSettingsSection.cs | 2 +- .../ProjectSettings/BaseSettingsProvider.cs | 26 +- .../UI/ProjectSettings/BuilderPageProvider.cs | 3 +- .../ComponentSettingsProvider.cs | 2 +- .../ComponentSettingsSection.cs | 4 +- .../IProjectSettingsSection.cs | 4 +- .../InteractionComponentSettingsSection.cs | 4 +- .../InteractionSettingsSection.cs | 2 +- .../LanguageSettingsProvider.cs | 4 +- .../LoggingSettingsProvider.cs | 2 +- .../ProjectSettings/LoggingSettingsSection.cs | 2 +- .../SceneObjectGroupsSettingsProvider.cs | 2 +- .../SceneObjectGroupsSettingsSection.cs | 2 +- .../SpectatorSettingsProvider.cs | 4 +- .../SpectatorSettingsProvider.cs.meta | 0 .../SpectatorSettingsSection.cs | 6 +- .../SpectatorSettingsSection.cs.meta | 0 .../TextToSpeechSectionProvider.cs | 7 +- .../TextToSpeechSectionProvider.cs.meta | 0 .../TextToSpeechSettingsEditor.cs | 55 +- .../TextToSpeechSettingsEditor.cs.meta | 0 Source/Core/Editor/UI/Spectator.meta | 8 - .../UI/StepInspector/Menu/DisabledMenuItem.cs | 2 +- .../Menu/IInternalTypeProvider.cs | 2 +- .../Editor/UI/StepInspector/Menu/MenuItem.cs | 2 +- .../UI/StepInspector/Menu/MenuOption.cs | 2 +- .../UI/StepInspector/Menu/MenuSeparator.cs | 2 +- Source/Core/Editor/UI/Tabs/DynamicTab.cs | 2 +- Source/Core/Editor/UI/Tabs/GlobalTabsGroup.cs | 2 +- Source/Core/Editor/UI/Tabs/ITab.cs | 2 +- Source/Core/Editor/UI/Tabs/ITabsGroup.cs | 2 +- .../Editor/UI/Tabs/LockablePropertyTab.cs | 4 +- Source/Core/Editor/UI/Tabs/TabsGroup.cs | 2 +- .../Core/Editor/UI/TestableEditorElements.cs | 2 +- Source/Core/Editor/UI/Views/GroupListItem.cs | 82 +- Source/Core/Editor/UI/Views/ViewDictionary.cs | 4 +- .../UI/Windows/AllowedMenuItemsWindow.cs | 6 +- .../Core/Editor/UI/Windows/ChangeNamePopup.cs | 4 +- .../UI/Windows/ChapterRepresentation.cs | 709 ------------------ .../UI/Windows/ChapterRepresentation.cs.meta | 3 - .../Core/Editor/UI/Windows/ProcessMenuView.cs | 10 +- .../Core/Editor/UI/Windows/ProcessWindow.cs | 258 ------- .../Editor/UI/Windows/ProcessWindow.cs.meta | 11 - .../Editor/UI/Windows/RenameProcessPopup.cs | 8 +- Source/Core/Editor/UI/Windows/StepWindow.cs | 10 +- Source/Core/Editor/UI/Windows/WindowUtils.cs | 3 +- .../UI/Windows/WorkflowInstructionOverlay.cs | 4 +- .../UI/Wizard/{Setup => }/AllAboutPage.cs | 5 +- .../Wizard/{Setup => }/AllAboutPage.cs.meta | 0 .../UI/Wizard/IWizardNavigationEntry.cs | 2 +- .../{Setup => }/InteractionComponentPage.cs | 8 +- .../InteractionComponentPage.cs.meta | 0 .../{Setup => }/InteractionSettingsPage.cs | 2 +- .../InteractionSettingsPage.cs.meta | 0 .../{Setup => }/LocalizationSettingsPage.cs | 2 +- .../LocalizationSettingsPage.cs.meta | 0 .../{Setup => }/ProcessSceneSetupPage.cs | 6 +- .../{Setup => }/ProcessSceneSetupPage.cs.meta | 0 .../Wizard/{Setup => }/ProjectSetupWizard.cs | 8 +- .../{Setup => }/ProjectSetupWizard.cs.meta | 0 .../UI/Wizard/{Setup => }/SceneSetupWizard.cs | 2 +- .../{Setup => }/SceneSetupWizard.cs.meta | 0 Source/Core/Editor/UI/Wizard/Setup.meta | 3 - .../UI/Wizard/{Setup => }/WelcomePage.cs | 2 +- .../UI/Wizard/{Setup => }/WelcomePage.cs.meta | 0 .../Core/Editor/UI/Wizard/WizardNavigation.cs | 4 +- Source/Core/Editor/UI/Wizard/WizardPage.cs | 2 +- Source/Core/Editor/UI/Wizard/WizardWindow.cs | 4 +- .../UI/Wizard/{Setup => }/XRSDKSetupPage.cs | 6 +- .../Wizard/{Setup => }/XRSDKSetupPage.cs.meta | 0 .../Editor/UI/WorkflowEditorColorPalette.cs | 6 +- .../Core/Editor/UndoRedo/CallbackCommand.cs | 2 +- .../Editor/UndoRedo/IRevertableCommand.cs | 2 +- Source/Core/Editor/UndoRedo/ProcessCommand.cs | 2 +- .../UndoRedo/RevertableChangesHandler.cs | 10 +- .../Editor/Unity/AssemblySymbolChecker.cs | 4 +- Source/Core/Editor/Unity/DotNetWindow.cs | 2 +- .../Unity/PreBuildCloseProcessEditor.cs | 8 +- .../Editor/Unity/PreBuildDotNetChecker.cs | 6 +- .../Editor/Unity/PreBuildLinkXMLCreator.cs | 46 +- ...or.asmdef => VRBuilder.Core.Editor.asmdef} | 12 +- ...meta => VRBuilder.Core.Editor.asmdef.meta} | 0 .../OculusXRPackageEnabler.cs | 2 +- .../OculusXRPackageEnabler.cs.meta | 0 .../{XRProviders => }/OpenXRPackageEnabler.cs | 4 +- .../OpenXRPackageEnabler.cs.meta | 0 .../WindowsMRPackageEnabler.cs | 2 +- .../WindowsMRPackageEnabler.cs.meta | 0 Source/Core/Editor/XRUtils/XRLoaderHelper.cs | 14 +- .../XRUtils/XRManagementPackageEnabler.cs | 6 +- .../XRUtils/{XRProviders => }/XRProvider.cs | 6 +- .../{XRProviders => }/XRProvider.cs.meta | 0 Source/Core/Editor/XRUtils/XRProviders.meta | 8 - .../Extensions/Plugins/NAudio.meta | 0 .../Plugins/NAudio/NAudio-License.txt | 0 .../Plugins/NAudio/NAudio-License.txt.meta | 0 .../Extensions/Plugins/NAudio/NAudio.dll | 0 .../Extensions/Plugins/NAudio/NAudio.dll.meta | 0 .../Extensions/Plugins/SpeechLib.meta | 0 .../Plugins/SpeechLib/Interop.SpeechLib.dll | 0 .../SpeechLib/Interop.SpeechLib.dll.meta | 0 .../Runtime => Core}/Resources.meta | 0 .../Runtime => Core}/Resources/Confetti.meta | 0 .../Resources/Confetti/Materials.meta | 0 .../Resources/Confetti/Materials/Blue.mat | 0 .../Confetti/Materials/Blue.mat.meta | 0 .../Confetti/Materials/DefaultConfetti.mat | 0 .../Materials/DefaultConfetti.mat.meta | 0 .../Resources/Confetti/Materials/Green.mat | 0 .../Confetti/Materials/Green.mat.meta | 0 .../Confetti/Materials/MindPortConfetti.mat | 0 .../Materials/MindPortConfetti.mat.meta | 0 .../Resources/Confetti/Materials/Red.mat | 0 .../Resources/Confetti/Materials/Red.mat.meta | 0 .../Resources/Confetti/Materials/Yellow.mat | 0 .../Confetti/Materials/Yellow.mat.meta | 0 .../Resources/Confetti/Prefabs.meta | 0 .../BlueYellowGreenConfettiMachine.prefab | 0 ...BlueYellowGreenConfettiMachine.prefab.meta | 0 .../Prefabs/MindPortConfettiMachine.prefab | 0 .../MindPortConfettiMachine.prefab.meta | 0 .../Prefabs/RandomConfettiMachine.prefab | 0 .../Prefabs/RandomConfettiMachine.prefab.meta | 0 .../Resources/Confetti/Textures.meta | 0 .../Confetti/Textures/confetti-shape.png | 0 .../Confetti/Textures/confetti-shape.png.meta | 0 .../Confetti/Textures/mindport-logo-3.png | 0 .../Textures/mindport-logo-3.png.meta | 0 .../{Editor => }/Resources/KeyBindings.meta | 0 .../BuilderDefaultKeyBindings.inputactions | 0 ...uilderDefaultKeyBindings.inputactions.meta | 0 .../Resources/Prefabs.meta | 0 .../Prefabs/PROCESS_CONTROLLER.prefab | 0 .../Prefabs/PROCESS_CONTROLLER.prefab.meta | 0 .../Prefabs/SpectatorProcessController.prefab | 0 .../SpectatorProcessController.prefab.meta | 0 .../Prefabs/StandardProcessController.prefab | 0 .../StandardProcessController.prefab.meta | 0 .../Core/{Editor => }/Resources/Textures.meta | 0 .../Textures/MindPort-Inline-DarkMode-256.png | 0 .../MindPort-Inline-DarkMode-256.png.meta | 0 .../MindPort-Inline-LightMode-256.png | 0 .../MindPort-Inline-LightMode-256.png.meta | 0 .../Textures/MindPort-StandaloneLogo-256.png | 0 .../MindPort-StandaloneLogo-256.png.meta | 0 .../MindPort-Vertical-DarkMode-512.png | 0 .../MindPort-Vertical-DarkMode-512.png.meta | 0 .../MindPort-Vertical-LightMode-512.png | 0 .../MindPort-Vertical-LightMode-512.png.meta | 0 .../VRBuilder-Inline-DarkMode-256.png | 0 .../VRBuilder-Inline-DarkMode-256.png.meta | 0 .../VRBuilder-Inline-LightMode-256.png | 0 .../VRBuilder-Inline-LightMode-256.png.meta | 0 .../Textures/VRBuilder-StandaloneLogo-256.png | 0 .../VRBuilder-StandaloneLogo-256.png.meta | 0 .../VRBuilder-Vertical-DarkMode-512.png | 0 .../VRBuilder-Vertical-DarkMode-512.png.meta | 0 .../VRBuilder-Vertical-LightMode-512.png | 0 .../VRBuilder-Vertical-LightMode-512.png.meta | 0 .../Resources/hub-logging-config.txt | 0 .../Resources/hub-logging-config.txt.meta | 0 .../Resources/icon-non-optional_dark.png | 0 .../Resources/icon-non-optional_dark.png.meta | 0 .../Resources/icon-non-optional_light.png | 0 .../icon-non-optional_light.png.meta | 0 .../Resources/icon-optional_dark.png | 0 .../Resources/icon-optional_dark.png.meta | 0 .../Resources/icon-optional_light.png | 0 .../Resources/icon-optional_light.png.meta | 0 .../{Editor => }/Resources/icon_add_dark.png | 0 .../Resources/icon_add_dark.png.meta | 0 .../{Editor => }/Resources/icon_add_light.png | 0 .../Resources/icon_add_light.png.meta | 0 .../Resources/icon_arrow_down_dark.png | 0 .../Resources/icon_arrow_down_dark.png.meta | 0 .../Resources/icon_arrow_down_light.png | 0 .../Resources/icon_arrow_down_light.png.meta | 0 .../Resources/icon_arrow_right_dark.png | 0 .../Resources/icon_arrow_right_dark.png.meta | 0 .../Resources/icon_arrow_right_light.png | 0 .../Resources/icon_arrow_right_light.png.meta | 0 .../Resources/icon_arrow_up_dark.png | 0 .../Resources/icon_arrow_up_dark.png.meta | 0 .../Resources/icon_arrow_up_light.png | 0 .../Resources/icon_arrow_up_light.png.meta | 0 .../Resources/icon_collapse_chapter_dark.png | 0 .../icon_collapse_chapter_dark.png.meta | 0 .../Resources/icon_collapse_chapter_light.png | 0 .../icon_collapse_chapter_light.png.meta | 0 .../Resources/icon_delete_dark.png | 0 .../Resources/icon_delete_dark.png.meta | 0 .../Resources/icon_delete_light.png | 0 .../Resources/icon_delete_light.png.meta | 0 .../{Editor => }/Resources/icon_edit_dark.png | 0 .../Resources/icon_edit_dark.png.meta | 0 .../Resources/icon_edit_light.png | 0 .../Resources/icon_edit_light.png.meta | 0 .../Resources/icon_expand_chapter_dark.png | 0 .../icon_expand_chapter_dark.png.meta | 0 .../Resources/icon_expand_chapter_light.png | 0 .../icon_expand_chapter_light.png.meta | 0 .../Resources/icon_folder_dark.png | 0 .../Resources/icon_folder_dark.png.meta | 0 .../Resources/icon_folder_light.png | 0 .../Resources/icon_folder_light.png.meta | 0 .../{Editor => }/Resources/icon_help_dark.png | 0 .../Resources/icon_help_dark.png.meta | 0 .../Resources/icon_help_light.png | 0 .../Resources/icon_help_light.png.meta | 0 .../{Editor => }/Resources/icon_info_dark.png | 0 .../Resources/icon_info_dark.png.meta | 0 .../Resources/icon_info_light.png | 0 .../Resources/icon_info_light.png.meta | 0 .../{Editor => }/Resources/icon_menu_dark.png | 0 .../Resources/icon_menu_dark.png.meta | 0 .../Resources/icon_menu_light.png | 0 .../Resources/icon_menu_light.png.meta | 0 .../Resources/icon_paste_dark.png | 0 .../Resources/icon_paste_dark.png.meta | 0 .../Resources/icon_paste_light.png | 0 .../Resources/icon_paste_light.png.meta | 0 .../Resources/icon_process_editor_dark.png | 0 .../icon_process_editor_dark.png.meta | 0 .../Resources/icon_process_editor_light.png | 0 .../icon_process_editor_light.png.meta | 0 .../Resources/vr_builder_component_icon.png | 0 .../vr_builder_component_icon.png.meta | 0 Source/Core/Runtime/AssemblyAttributes.cs | 2 +- .../Runtime/Behaviors/BehaviorSequence.cs | 0 .../Behaviors/BehaviorSequence.cs.meta | 0 .../Runtime/Behaviors/ConfettiBehavior.cs | 5 +- .../Behaviors/ConfettiBehavior.cs.meta | 0 .../ControlParticleEmissionBehavior.cs | 3 +- .../ControlParticleEmissionBehavior.cs.meta | 0 .../Runtime/Behaviors/DelayBehavior.cs | 0 .../Runtime/Behaviors/DelayBehavior.cs.meta | 0 .../Behaviors/DisableGameObjectBehavior.cs | 0 .../DisableGameObjectBehavior.cs.meta | 0 .../Behaviors/EnableGameObjectBehavior.cs | 0 .../EnableGameObjectBehavior.cs.meta | 0 .../Behaviors/ExecuteChapterBehavior.cs | 0 .../Behaviors/ExecuteChapterBehavior.cs.meta | 0 .../Behaviors/ExecuteChaptersBehavior.cs | 0 .../Behaviors/ExecuteChaptersBehavior.cs.meta | 0 .../Runtime/Behaviors/GoToChapterBehavior.cs | 0 .../Behaviors/GoToChapterBehavior.cs.meta | 0 .../Behaviors/HighlightObjectBehavior.cs | 0 .../Behaviors/HighlightObjectBehavior.cs.meta | 0 .../Runtime/Behaviors/LoadSceneBehavior.cs | 0 .../Behaviors/LoadSceneBehavior.cs.meta | 0 .../Runtime/Behaviors/MoveObjectBehavior.cs | 0 .../Behaviors/MoveObjectBehavior.cs.meta | 0 .../Runtime/Behaviors/PlayAudioBehavior.cs | 4 +- .../Behaviors/PlayAudioBehavior.cs.meta | 0 .../Runtime/Behaviors/ResetValueBehavior.cs | 0 .../Behaviors/ResetValueBehavior.cs.meta | 0 .../Runtime/Behaviors/ScalingBehavior.cs | 0 .../Runtime/Behaviors/ScalingBehavior.cs.meta | 0 .../Behaviors/SetComponentEnabledBehavior.cs | 0 .../SetComponentEnabledBehavior.cs.meta | 0 .../SetComponentEnabledByTagBehavior.cs | 0 .../SetComponentEnabledByTagBehavior.cs.meta | 0 .../Behaviors/SetObjectsEnabledBehavior.cs | 0 .../SetObjectsEnabledBehavior.cs.meta | 0 .../SetObjectsWithTagEnabledBehavior.cs | 0 .../SetObjectsWithTagEnabledBehavior.cs.meta | 0 .../Runtime/Behaviors/SetParentBehavior.cs | 0 .../Behaviors/SetParentBehavior.cs.meta | 0 .../Runtime/Behaviors/SetValueBehavior.cs | 0 .../Behaviors/SetValueBehavior.cs.meta | 0 .../Runtime/Behaviors/SubChapter.cs | 0 .../Runtime/Behaviors/SubChapter.cs.meta | 0 .../Conditions/CompareValuesCondition.cs | 2 +- .../Conditions/CompareValuesCondition.cs.meta | 0 Source/Core/Runtime/Conditions/Condition.cs | 1 + .../Conditions}/IObjectInTargetData.cs | 0 .../Conditions}/IObjectInTargetData.cs.meta | 0 .../Conditions}/ObjectInColliderCondition.cs | 0 .../ObjectInColliderCondition.cs.meta | 0 .../Conditions}/ObjectInRangeCondition.cs | 0 .../ObjectInRangeCondition.cs.meta | 0 .../Conditions}/ObjectInTargetCondition.cs | 0 .../ObjectInTargetCondition.cs.meta | 0 .../Runtime/Conditions/TimeoutCondition.cs | 0 .../Conditions/TimeoutCondition.cs.meta | 0 .../DefaultAudioPlayer.cs | 2 +- .../DefaultAudioPlayer.cs.meta | 0 .../Configuration/IProcessAudioPlayer.cs | 2 +- .../Runtime/{Behaviors => }/EmptyProcess.cs | 0 .../{Behaviors => }/EmptyProcess.cs.meta | 0 Source/Core/Runtime/Entities/Factories.meta | 8 + .../{ => Factories}/ChapterFactory.cs | 2 +- .../{ => Factories}/ChapterFactory.cs.meta | 0 .../Entities/{ => Factories}/EntityFactory.cs | 4 +- .../{ => Factories}/EntityFactory.cs.meta | 0 .../{ => Factories}/EntityPostProcessing.cs | 2 +- .../EntityPostProcessing.cs.meta | 0 .../{ => Factories}/ProcessFactory.cs | 2 +- .../{ => Factories}/ProcessFactory.cs.meta | 0 .../Entities/{ => Factories}/StepFactory.cs | 2 +- .../{ => Factories}/StepFactory.cs.meta | 0 .../{ => Factories}/StepPostProcessing.cs | 2 +- .../StepPostProcessing.cs.meta | 0 .../{ => Factories}/TransitionFactory.cs | 4 +- .../{ => Factories}/TransitionFactory.cs.meta | 0 .../Runtime/Highlighting.meta} | 0 .../Highlighting}/AbstractHighlighter.cs | 31 +- .../Highlighting}/AbstractHighlighter.cs.meta | 0 .../Highlighting}/DefaultHighlighter.cs | 34 +- .../Highlighting}/DefaultHighlighter.cs.meta | 0 .../Highlighting}/ExcludeFromHighlightMesh.cs | 4 +- .../ExcludeFromHighlightMesh.cs.meta | 0 .../Runtime/Highlighting}/HighlightUtils.cs | 28 +- .../Highlighting}/HighlightUtils.cs.meta | 0 .../IExcludeFromHighlightMesh.cs | 4 +- .../IExcludeFromHighlightMesh.cs.meta | 0 .../Runtime/Highlighting}/IHighlighter.cs | 8 +- .../Highlighting}/IHighlighter.cs.meta | 0 Source/Core/Runtime/ILockableStepData.cs | 2 +- .../Core/Runtime/LockableObjectsCollection.cs | 4 +- .../Runtime/Obsolete.meta} | 0 .../Runtime/Obsolete}/ProcessVariable.cs | 0 .../Runtime/Obsolete}/ProcessVariable.cs.meta | 0 .../BaseProcessController.cs | 8 +- .../BaseProcessController.cs.meta | 0 .../ProcessController/Controllers.meta | 8 - .../{Controllers => }/IProcessController.cs | 8 +- .../IProcessController.cs.meta | 0 .../InitProcessOnSceneLoad.cs | 8 +- .../ProcessControllerSetup.cs | 23 +- .../Runtime/ProcessController/Resources.meta | 8 - .../ProcessController/Resources/Sprites.meta | 8 - .../SpectatorProcessController.cs | 5 +- .../SpectatorProcessController.cs.meta | 0 .../StandardProcessController.cs | 12 +- .../StandardProcessController.cs.meta | 0 .../ProcessValidation/IAttributeValidator.cs | 4 +- .../Runtime/ProcessValidation/ReportEntry.cs | 2 +- .../ProcessValidation/ValidationErrorLevel.cs | 2 +- .../Properties}/BaseHighlightProperty.cs | 0 .../Properties}/BaseHighlightProperty.cs.meta | 0 .../Properties}/BezierSplinePathProperty.cs | 6 +- .../BezierSplinePathProperty.cs.meta | 0 .../Properties}/BooleanDataProperty.cs | 0 .../Properties}/BooleanDataProperty.cs.meta | 0 .../Properties/ColliderWithTriggerProperty.cs | 0 .../ColliderWithTriggerProperty.cs.meta | 0 .../Runtime/Properties}/DataProperty.cs | 0 .../Runtime/Properties}/DataProperty.cs.meta | 0 .../Properties}/EnableHighlightProperty.cs | 0 .../EnableHighlightProperty.cs.meta | 0 .../Runtime/Properties}/IDataProperty.cs | 0 .../Runtime/Properties}/IDataProperty.cs.meta | 0 .../Runtime/Properties}/IDataPropertyBase.cs | 0 .../Properties}/IDataPropertyBase.cs.meta | 0 .../Runtime/Properties}/IHighlightProperty.cs | 0 .../Properties}/IHighlightProperty.cs.meta | 0 .../Properties}/IParticleSystemProperty.cs | 0 .../IParticleSystemProperty.cs.meta | 0 .../Runtime/Properties}/IPathProperty.cs | 0 .../Runtime/Properties}/IPathProperty.cs.meta | 0 .../Runtime/Properties}/NumberDataProperty.cs | 0 .../Properties}/NumberDataProperty.cs.meta | 0 .../Runtime/Properties}/Operations.meta | 0 .../Properties}/Operations/AndOperation.cs | 4 +- .../Operations/AndOperation.cs.meta | 0 .../Operations/EqualToOperation.cs | 4 +- .../Operations/EqualToOperation.cs.meta | 0 .../Operations/GreaterOrEqualOperation.cs | 4 +- .../GreaterOrEqualOperation.cs.meta | 0 .../Operations/GreaterThanOperation.cs | 4 +- .../Operations/GreaterThanOperation.cs.meta | 0 .../Operations/IOperationCommand.cs | 4 +- .../Operations/IOperationCommand.cs.meta | 0 .../Operations/LessThanOperation.cs | 4 +- .../Operations/LessThanOperation.cs.meta | 0 .../Operations/LessThanOrEqualOperation.cs | 4 +- .../LessThanOrEqualOperation.cs.meta | 0 .../Operations/NotEqualToOperation.cs | 4 +- .../Operations/NotEqualToOperation.cs.meta | 0 .../Properties}/Operations/OrOperation.cs | 4 +- .../Operations/OrOperation.cs.meta | 0 .../Properties}/ParticleSystemProperty.cs | 0 .../ParticleSystemProperty.cs.meta | 0 .../Runtime/Properties}/TextDataProperty.cs | 0 .../Properties}/TextDataProperty.cs.meta | 0 .../TransformInRangeDetectorProperty.cs | 0 .../TransformInRangeDetectorProperty.cs.meta | 0 .../DefaultStepLockHandling.cs | 1 + .../ILockablePropertiesProvider.cs | 5 +- .../ILockablePropertiesProvider.cs.meta | 0 .../LockablePropertyData.cs | 4 +- .../LockablePropertyData.cs.meta | 0 .../LockablePropertyReference.cs | 2 +- .../LockablePropertyReference.cs.meta | 0 .../Runtime/SceneObjects/ObjectReference.cs | 2 +- .../SceneObjects/ProcessSceneReferenceBase.cs | 2 +- .../SceneObjects/SceneObjectExtensions.cs | 4 +- .../Runtime/SceneObjects/SceneObjectTag.cs | 2 +- .../SceneObjects/SceneObjectTagBase.cs | 4 +- .../UserSceneObject.cs | 2 +- .../UserSceneObject.cs.meta | 0 .../AnimationCurveConverter.cs | 0 .../AnimationCurveConverter.cs.meta | 0 ...ImprovedNewtonsoftJsonProcessSerializer.cs | 0 ...vedNewtonsoftJsonProcessSerializer.cs.meta | 0 .../IndividualStepTransitionConverter.cs | 0 .../IndividualStepTransitionConverter.cs.meta | 0 .../KeyframeConverter.cs | 0 .../KeyframeConverter.cs.meta | 0 .../NewtonsoftConverterAttribute.cs | 0 .../NewtonsoftConverterAttribute.cs.meta | 0 .../NewtonsoftJsonProcessSerializer.cs | 2 +- .../NewtonsoftJsonProcessSerializer.cs.meta | 0 .../NewtonsoftJsonProcessSerializerV3.cs | 0 .../NewtonsoftJsonProcessSerializerV3.cs.meta | 0 .../NewtonsoftJsonProcessSerializerV4.cs | 0 .../NewtonsoftJsonProcessSerializerV4.cs.meta | 0 .../NewtonsoftJsonSerializer.meta | 8 - .../UnityColorConverter.cs | 0 .../UnityColorConverter.cs.meta | 0 .../Vector2Converter.cs | 0 .../Vector2Converter.cs.meta | 0 .../Vector3Converter.cs | 0 .../Vector3Converter.cs.meta | 0 .../Vector4Converter.cs | 0 .../Vector4Converter.cs.meta | 0 .../Core/Runtime/Settings/AdvancedSettings.cs | 2 +- .../{Utils => Settings}/ComponentSettings.cs | 2 +- .../ComponentSettings.cs.meta | 0 .../Settings/InteractionComponentSettings.cs | 3 +- .../InteractionComponentSettings.cs.meta | 0 .../Runtime/Settings/InteractionSettings.cs | 2 +- .../LanguageSettings.cs | 5 +- .../LanguageSettings.cs.meta | 0 .../LifeCycleLoggingConfig.cs | 2 +- .../LifeCycleLoggingConfig.cs.meta | 0 .../Runtime/Settings/SceneObjectGroups.cs | 2 +- .../Core/Runtime/Settings/SceneObjectTags.cs | 2 +- .../{Utils => Settings}/SettingsObject.cs | 2 +- .../SettingsObject.cs.meta | 0 Source/Core/Runtime/TextToSpeech.meta | 8 + .../Runtime/TextToSpeech/Configuration.meta | 8 + .../ITextToSpeechConfiguration.cs | 7 +- .../ITextToSpeechConfiguration.cs.meta | 0 .../MicrosoftTextToSpeechConfiguration.cs | 10 +- ...MicrosoftTextToSpeechConfiguration.cs.meta | 0 .../RuntimeConfigurationExtensions.cs | 8 +- .../RuntimeConfigurationExtensions.cs.meta | 0 .../Runtime/TextToSpeech}/IAudioConverter.cs | 0 .../TextToSpeech}/IAudioConverter.cs.meta | 0 .../TextToSpeech}/ITextToSpeechContent.cs | 4 +- .../ITextToSpeechContent.cs.meta | 0 .../Runtime/TextToSpeech/Providers.meta} | 0 .../Providers}/FileTextToSpeechProvider.cs | 17 +- .../FileTextToSpeechProvider.cs.meta | 0 .../Providers}/ITextToSpeechProvider.cs | 11 +- .../Providers}/ITextToSpeechProvider.cs.meta | 0 .../TextToSpeech}/TextToSpeechAudio.cs | 14 +- .../TextToSpeech}/TextToSpeechAudio.cs.meta | 0 .../TextToSpeech}/TextToSpeechContent.cs | 7 +- .../TextToSpeech}/TextToSpeechContent.cs.meta | 0 .../TextToSpeechProviderFactory.cs | 9 +- .../TextToSpeechProviderFactory.cs.meta | 0 .../TextToSpeech}/TextToSpeechSettings.cs | 12 +- .../TextToSpeechSettings.cs.meta | 0 .../UnableToParseAudioFormatException.cs | 4 +- .../UnableToParseAudioFormatException.cs.meta | 0 Source/Core/Runtime/TextToSpeech/Utils.meta | 8 + .../TextToSpeech/Utils}/TextToSpeechUtils.cs | 16 +- .../Utils}/TextToSpeechUtils.cs.meta | 0 Source/Core/Runtime/UI/SelectableValues.meta | 8 + .../ProcessVariableSelectableValue.cs | 3 +- .../ProcessVariableSelectableValue.cs.meta | 0 .../PropertyReferenceOrTagSelectableValue.cs | 3 +- ...pertyReferenceOrTagSelectableValue.cs.meta | 0 .../SelectableValues}/SelectableValue.cs | 2 +- .../SelectableValues}/SelectableValue.cs.meta | 0 .../VideoClipOrURLSelectableValue.cs | 2 +- .../VideoClipOrURLSelectableValue.cs.meta | 0 .../Runtime/UI/Spectator/SpectatorCamera.cs | 4 +- .../UI/Spectator/SpectatorCameraDummy.cs | 6 +- .../UI/Spectator/SpectatorController.cs | 6 +- Source/Core/Runtime/UI/Utils/FontSetter.cs | 10 +- Source/Core/Runtime/Unity/AssetUtility.cs | 2 +- Source/Core/Runtime/Utils/Audio/IAudioData.cs | 5 +- .../Core/Runtime/Utils/Audio/ResourceAudio.cs | 9 +- Source/Core/Runtime/Utils/Bezier/Bezier.cs | 5 +- .../Utils/Bezier/BezierControlPointMode.cs | 12 +- .../Core/Runtime/Utils/Bezier/BezierSpline.cs | 308 ++++---- Source/Core/Runtime/Utils/ICanBeEmpty.cs | 4 +- Source/Core/Runtime/Utils/Logging.meta | 3 - .../Runtime/Utils}/ParticleMachines.meta | 0 .../ParticleMachines/ConfettiMachine.cs | 4 +- .../ParticleMachines/ConfettiMachine.cs.meta | 0 .../ParticleMachines/IParticleMachine.cs | 2 +- .../ParticleMachines/IParticleMachine.cs.meta | 0 .../PropertyReflectionHelper.cs | 3 +- .../PropertyReflectionHelper.cs.meta | 0 Source/Core/Runtime/Utils/ReflectionUtils.cs | 5 +- Source/Core/StaticAssets.meta | 8 + .../FontsAndMaterials.meta | 0 .../FontsAndMaterials/Archivo.meta | 0 .../Archivo/Archivo-Regular SDF.asset | 0 .../Archivo/Archivo-Regular SDF.asset.meta | 0 .../Archivo/ArchivoNarrow-Regular SDF.asset | 0 .../ArchivoNarrow-Regular SDF.asset.meta | 0 .../FontsAndMaterials/Archivo/OFL.txt | 0 .../FontsAndMaterials/Archivo/OFL.txt.meta | 0 ...ckage-Manager.meta => PackageManager.meta} | 0 .../PackageDependencies.meta | 0 .../InputSystemPackageEnabler.cs | 2 +- .../InputSystemPackageEnabler.cs.meta | 0 .../LocalizationPackageEnabler.cs | 2 +- .../LocalizationPackageEnabler.cs.meta | 0 .../NewtonsoftJSONPackageEnabler.cs | 2 +- .../NewtonsoftJSONPackageEnabler.cs.meta | 0 .../PostProcessingPackageEnabler.cs | 2 +- .../PostProcessingPackageEnabler.cs.meta | 0 .../PackageManager.meta | 0 .../PackageManager/Dependency.cs | 2 +- .../PackageManager/Dependency.cs.meta | 0 .../PackageManager/DependencyManager.cs | 2 +- .../PackageManager/DependencyManager.cs.meta | 0 .../PackageManager/LayerDependency.cs | 2 +- .../PackageManager/LayerDependency.cs.meta | 0 .../PackageManager/LayerUtils.cs | 2 +- .../PackageManager/LayerUtils.cs.meta | 0 .../PackageOperationsManager.cs | 8 +- .../PackageOperationsManager.cs.meta | 0 .../VRBuilder.PackageManager.Editor.asmdef} | 2 +- ...Builder.PackageManager.Editor.asmdef.meta} | 0 Source/TextToSpeech-Component.meta | 8 - .../.azure-pipelines.yml | 207 ----- .../TextToSpeech-Component/.commitlintrc.json | 1 - Source/TextToSpeech-Component/.gitattributes | 129 ---- .../.github/CODE_OF_CONDUCT.md | 85 --- .../.github/CODING_CONVENTIONS.md | 509 ------------- .../.github/CONTRIBUTING.md | 177 ----- .../.github/ISSUE_TEMPLATE/BUG_REPORT.md | 47 -- .../.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md | 20 - .../.github/PULL_REQUEST_TEMPLATE.md | 38 - Source/TextToSpeech-Component/.gitignore | 44 -- Source/TextToSpeech-Component/.releaserc.json | 12 - Source/TextToSpeech-Component/Editor.meta | 8 - .../DefaultTextToSpeechConfiguration.cs | 10 - .../Editor/Drawers.meta | 3 - .../Editor/MenuItems.meta | 8 - .../Editor/ProjectSettings.meta | 3 - .../VRBuilder.Editor.TextToSpeech.asmdef | 24 - .../VRBuilder.Editor.TextToSpeech.asmdef.meta | 7 - Source/TextToSpeech-Component/Extensions.meta | 8 - .../Extensions/Plugins.meta | 8 - Source/TextToSpeech-Component/Runtime.meta | 8 - .../Runtime/VRBuilder.TextToSpeech.asmdef | 19 - .../VRBuilder.TextToSpeech.asmdef.meta | 7 - .../Source/.gitattributes | 129 ---- .../Source/.gitignore | 46 -- .../Source/.gitmodules | 0 .../Source/Editor/Interaction.meta | 8 - .../SceneSetup/XRInteractionSceneSetup.cs | 48 -- .../XRInteractionSceneSetup.cs.meta | 11 - .../Source/Runtime/AssemblyAttributes.cs | 3 - .../Source/Runtime/Interaction.meta | 8 - .../Runtime/XRI/ComponentLocatorUtility.cs | 111 --- ...tion-Component.meta => XRInteraction.meta} | 0 .../PackageManager.meta | 0 ...ackageManager.Editor.XRInteraction.asmdef} | 4 +- ...eManager.Editor.XRInteraction.asmdef.meta} | 0 .../XRInteractionPackageEnabler.cs | 2 +- .../XRInteractionPackageEnabler.cs.meta | 0 .../Source.meta | 0 .../Source/Editor.meta | 0 .../Source/Editor/Setup.meta} | 0 .../Setup}/CreateDefaultInteractionLayers.cs | 4 +- .../CreateDefaultInteractionLayers.cs.meta | 0 .../Editor/Setup}/XRSimulatorImporter.cs | 3 +- .../Editor/Setup}/XRSimulatorImporter.cs.meta | 0 .../Source/Editor/UI.meta | 0 .../Source/Editor/UI/Inspector.meta | 0 .../InteractableHighlighterEditor.cs | 38 +- .../InteractableHighlighterEditor.cs.meta | 0 .../UI/Inspector}/InteractableObjectEditor.cs | 32 +- .../InteractableObjectEditor.cs.meta | 0 .../UI/Inspector/SnappablePropertyEditor.cs | 5 +- .../Inspector/SnappablePropertyEditor.cs.meta | 0 .../TeleportationAnchorVRBuilderEditor.cs | 4 +- ...TeleportationAnchorVRBuilderEditor.cs.meta | 0 .../TeleportationAreaVRBuilderEditor.cs | 4 +- .../TeleportationAreaVRBuilderEditor.cs.meta | 0 .../Source/Editor/UI/Menu.meta | 0 .../ConfigureInteractionLayersMenuEntry.cs | 2 +- ...onfigureInteractionLayersMenuEntry.cs.meta | 0 .../Source/Editor/UI/ProjectSettings.meta | 0 .../SnapZoneSettingsSection.cs | 7 +- .../SnapZoneSettingsSection.cs.meta | 0 .../VRBuilder.Editor.XRInteraction.asmdef | 6 +- ...VRBuilder.Editor.XRInteraction.asmdef.meta | 0 .../Source/Runtime.meta | 0 .../Source/Runtime/AssemblyAttributes.cs | 3 + .../Source/Runtime/AssemblyAttributes.cs.meta | 0 .../Source/Runtime/Configuration.meta | 0 .../XRInteractionComponentConfiguration.cs | 0 ...RInteractionComponentConfiguration.cs.meta | 0 .../Source/Runtime/Hands.meta | 0 .../Runtime/Hands/HandAnimatorController.cs | 0 .../Hands/HandAnimatorController.cs.meta | 0 .../Source/Runtime}/Interactables.meta | 0 .../Interactables/InteractableHighlighter.cs | 4 +- .../InteractableHighlighter.cs.meta | 0 .../Interactables/InteractableObject.cs | 7 +- .../Interactables/InteractableObject.cs.meta | 0 .../TeleportationAnchorProximityEntry.cs | 4 +- .../TeleportationAnchorProximityEntry.cs.meta | 0 .../TeleportationAnchorVRBuilder.cs | 2 +- .../TeleportationAnchorVRBuilder.cs.meta | 0 .../TeleportationAreaVRBuilder.cs | 2 +- .../TeleportationAreaVRBuilder.cs.meta | 0 .../Source/Runtime}/Interactors.meta | 0 .../Runtime}/Interactors/DirectInteractor.cs | 2 +- .../Interactors/DirectInteractor.cs.meta | 0 .../Source/Runtime}/Interactors/SnapZone.cs | 4 +- .../Runtime}/Interactors/SnapZone.cs.meta | 0 .../Interactors/SnapZonePreviewDrawer.cs | 16 +- .../Interactors/SnapZonePreviewDrawer.cs.meta | 0 .../Source/Runtime/Locomotion.meta | 0 .../Locomotion/RigManipulationProvider.cs | 2 +- .../RigManipulationProvider.cs.meta | 0 .../Runtime/Locomotion/XRLocomotionHandler.cs | 10 +- .../Locomotion/XRLocomotionHandler.cs.meta | 0 .../Source/Runtime/Properties.meta | 0 .../Runtime/Properties/GrabbableProperty.cs | 2 + .../Properties/GrabbableProperty.cs.meta | 0 .../Runtime/Properties/HighlightProperty.cs | 3 +- .../Properties/HighlightProperty.cs.meta | 0 .../Runtime/Properties/SnapZoneProperty.cs | 1 + .../Properties/SnapZoneProperty.cs.meta | 0 .../Runtime/Properties/SnappableProperty.cs | 3 +- .../Properties/SnappableProperty.cs.meta | 0 .../Properties/TeleportationProperty.cs | 5 +- .../Properties/TeleportationProperty.cs.meta | 0 .../Runtime/Properties/TouchableProperty.cs | 1 + .../Properties/TouchableProperty.cs.meta | 0 .../Runtime/Properties/UsableProperty.cs | 1 + .../Runtime/Properties/UsableProperty.cs.meta | 0 .../Source/Runtime/Rigs.meta | 0 .../Source/Runtime/Rigs/XRLegacySetup.cs | 6 +- .../Source/Runtime/Rigs/XRLegacySetup.cs.meta | 0 .../Source/Runtime/Rigs/XRSetup.cs | 12 +- .../Source/Runtime/Rigs/XRSetup.cs.meta | 0 .../Source/Runtime/Rigs/XRSetupBase.cs | 6 +- .../Source/Runtime/Rigs/XRSetupBase.cs.meta | 0 .../Source/Runtime/Rigs/XRSimulatorSetup.cs | 10 +- .../Runtime/Rigs/XRSimulatorSetup.cs.meta | 0 .../Source/Runtime}/Settings.meta | 2 +- .../Runtime/Settings}/SnapZoneSettings.cs | 6 +- .../Settings}/SnapZoneSettings.cs.meta | 0 .../Source/Runtime/User.meta | 0 .../User/InteractorLayerConfigurator.cs | 0 .../User/InteractorLayerConfigurator.cs.meta | 0 .../Runtime/VRBuilder.XRInteraction.asmdef | 0 .../VRBuilder.XRInteraction.asmdef.meta | 0 .../Source/Runtime/XRI.meta | 0 .../XRI/ClimbTeleportDestinationIndicator.cs | 2 +- .../ClimbTeleportDestinationIndicator.cs.meta | 0 .../Runtime/XRI/ComponentLocatorUtility.cs | 112 +++ .../XRI/ComponentLocatorUtility.cs.meta | 0 .../Source/Runtime/XRI/NOTICE.md | 0 .../Source/Runtime/XRI/NOTICE.md.meta | 0 .../Source/Runtime/XRI/StarterAssets.meta | 8 + .../XRI/StarterAssets}/ControllerAnimator.cs | 2 +- .../StarterAssets}/ControllerAnimator.cs.meta | 0 .../ControllerInputActionManager.cs | 2 +- .../ControllerInputActionManager.cs.meta | 0 .../XRI/StarterAssets}/DynamicMoveProvider.cs | 2 +- .../DynamicMoveProvider.cs.meta | 0 .../XRI/StarterAssets}/GazeInputManager.cs | 6 +- .../StarterAssets}/GazeInputManager.cs.meta | 0 .../Source/XRInteractionExtension.meta | 0 .../Source/XRInteractionExtension/Editor.meta | 0 .../Editor/InteractionLayerUtils.cs | 2 +- .../Editor/InteractionLayerUtils.cs.meta | 0 ...Unity.XR.Interaction.Toolkit.Editor.asmref | 0 ....XR.Interaction.Toolkit.Editor.asmref.meta | 0 .../StaticAssets.meta | 0 .../StaticAssets/AffordanceThemes.meta | 0 .../PokeSphereColorAffordanceTheme.asset | 0 .../PokeSphereColorAffordanceTheme.asset.meta | 0 .../StaticAssets/Filters.meta | 0 .../AnyGazedAtTeleportAnchorFilter.asset | 0 .../AnyGazedAtTeleportAnchorFilter.asset.meta | 0 .../StaticAssets/Hands.meta | 0 .../StaticAssets/Hands/Animation.meta | 0 .../HandAnimatorController.controller | 0 .../HandAnimatorController.controller.meta | 0 .../StaticAssets/Hands/Animation/Index.mask | 0 .../Hands/Animation/Index.mask.meta | 0 .../Hands/Animation/OtherFingers.mask | 0 .../Hands/Animation/OtherFingers.mask.meta | 0 .../StaticAssets/Hands/Animation/Poses.meta | 0 .../Hands/Animation/Poses/Grasp.anim | 0 .../Hands/Animation/Poses/Grasp.anim.meta | 0 .../Hands/Animation/Poses/Idle.anim | 0 .../Hands/Animation/Poses/Idle.anim.meta | 0 .../Hands/Animation/Poses/Point.anim | 0 .../Hands/Animation/Poses/Point.anim.meta | 0 .../StaticAssets/Hands/LeftHand.prefab | 0 .../StaticAssets/Hands/LeftHand.prefab.meta | 0 .../StaticAssets/Hands/Materials.meta | 0 .../Hands/Materials/AvatarMaterial.mat | 0 .../Hands/Materials/AvatarMaterial.mat.meta | 0 .../Hands/Materials/HandsMaterial.mat | 0 .../Hands/Materials/HandsMaterial.mat.meta | 0 .../StaticAssets/Hands/Meshes.meta | 0 .../Hands/Meshes/BigHandLeftGeo.fbx | 0 .../Hands/Meshes/BigHandLeftGeo.fbx.meta | 0 .../Hands/Meshes/BigHandRightGeo.fbx | 0 .../Hands/Meshes/BigHandRightGeo.fbx.meta | 0 .../StaticAssets/Hands/RightHand.prefab | 0 .../StaticAssets/Hands/RightHand.prefab.meta | 0 .../StaticAssets/Hands/Textures.meta | 0 .../Hands/Textures/BigHandsTex_N.png | 0 .../Hands/Textures/BigHandsTex_N.png.meta | 0 .../StaticAssets/Materials.meta | 0 .../Materials/Controller_Grey.mat | 0 .../Materials/Controller_Grey.mat.meta | 0 .../Materials/Controller_White.mat | 0 .../Materials/Controller_White.mat.meta | 0 .../Materials/FresnelHighlight.mat | 0 .../Materials/FresnelHighlight.mat.meta | 0 .../Materials/SimpleTeleportHighlight.mat | 0 .../SimpleTeleportHighlight.mat.meta | 0 .../StaticAssets/Materials/Telport Anchor.mat | 0 .../Materials/Telport Anchor.mat.meta | 0 .../StaticAssets/Models.meta | 0 .../StaticAssets/Models/BlinkVisual.fbx | 0 .../StaticAssets/Models/BlinkVisual.fbx.meta | 0 .../Models/Pinch_Pointer_LOD0.fbx | 0 .../Models/Pinch_Pointer_LOD0.fbx.meta | 0 .../Models/UniversalController.fbx | 0 .../Models/UniversalController.fbx.meta | 0 .../Models/teleportHightlight.fbx | 0 .../Models/teleportHightlight.fbx.meta | 0 .../StaticAssets/Prefabs.meta | 0 .../StaticAssets/Prefabs/Affordances.meta | 0 .../Highlight Interaction Affordance.prefab | 0 ...ghlight Interaction Affordance.prefab.meta | 0 .../Affordances/Poke Point Affordances.prefab | 0 .../Poke Point Affordances.prefab.meta | 0 .../StaticAssets/Prefabs/Controllers.meta | 0 .../Controllers/XR Controller Left.prefab | 0 .../XR Controller Left.prefab.meta | 0 .../Controllers/XR Controller Right.prefab | 0 .../XR Controller Right.prefab.meta | 0 .../StaticAssets/Prefabs/Interactors.meta | 0 .../Interactors/Direct Interactor.prefab | 0 .../Interactors/Direct Interactor.prefab.meta | 0 .../Interactors/Gaze Interactor.prefab | 0 .../Interactors/Gaze Interactor.prefab.meta | 0 .../Left Near-Far Interactor.prefab | 0 .../Left Near-Far Interactor.prefab.meta | 0 .../Interactors/Left Poke Interactor.prefab | 0 .../Left Poke Interactor.prefab.meta | 0 .../Interactors/Left Ray Interactor.prefab | 0 .../Left Ray Interactor.prefab.meta | 0 .../Left Teleport Interactor.prefab | 0 .../Left Teleport Interactor.prefab.meta | 0 .../Right Near-Far Interactor.prefab | 0 .../Right Near-Far Interactor.prefab.meta | 0 .../Interactors/Right Poke Interactor.prefab | 0 .../Right Poke Interactor.prefab.meta | 0 .../Right Teleport Interactor.prefab | 0 .../Right Teleport Interactor.prefab.meta | 0 .../StaticAssets/Prefabs/Resources.meta | 0 .../Prefabs/Resources/Interactables.meta | 0 ...TeleportInteractionAffordancePrefab.prefab | 0 ...ortInteractionAffordancePrefab.prefab.meta | 0 ...portationAnchorProximityEntryPrefab.prefab | 0 ...tionAnchorProximityEntryPrefab.prefab.meta | 0 ...uilderTeleportationSnapVolumePrefab.prefab | 0 ...rTeleportationSnapVolumePrefab.prefab.meta | 0 .../StaticAssets/Prefabs/Teleport.meta | 0 .../Teleport/Blocking Teleport Reticle.prefab | 0 .../Blocking Teleport Reticle.prefab.meta | 0 .../Teleport/Climb Teleport Arrow.prefab | 0 .../Teleport/Climb Teleport Arrow.prefab.meta | 0 .../Directional Teleport Reticle.prefab | 0 .../Directional Teleport Reticle.prefab.meta | 0 .../StaticAssets/Prefabs/XRI Rig.meta | 0 .../Prefabs/XRI Rig/XRI Rig.prefab | 0 .../Prefabs/XRI Rig/XRI Rig.prefab.meta | 0 .../StaticAssets/Presets.meta | 0 .../StaticAssets/Presets/Input.meta | 0 .../XRI VR Builder Continuous Move.preset | 0 ...XRI VR Builder Continuous Move.preset.meta | 0 .../XRI VR Builder Continuous Turn.preset | 0 ...XRI VR Builder Continuous Turn.preset.meta | 0 .../Input/XRI VR Builder Dynamic Move.preset | 0 .../XRI VR Builder Dynamic Move.preset.meta | 0 ...t Controller Input Action Manager 1.preset | 0 ...troller Input Action Manager 1.preset.meta | 0 .../XRI VR Builder Left Grab Move.preset | 0 .../XRI VR Builder Left Grab Move.preset.meta | 0 ...t Controller Input Action Manager 1.preset | 0 ...troller Input Action Manager 1.preset.meta | 0 .../XRI VR Builder Right Grab Move.preset | 0 ...XRI VR Builder Right Grab Move.preset.meta | 0 .../Input/XRI VR Builder Snap Turn.preset | 0 .../XRI VR Builder Snap Turn.preset.meta | 0 .../XRI VR Builder XR UI Input Module.preset | 0 ... VR Builder XR UI Input Module.preset.meta | 0 .../StaticAssets/Resources.meta | 0 .../Resources/VRB_XR_Setup.prefab | 0 .../Resources/VRB_XR_Setup.prefab.meta | 0 .../StaticAssets/Shaders.meta | 0 .../Shaders/SimpleTeleportHighlight.shader | 0 .../SimpleTeleportHighlight.shader.meta | 0 .../Shaders/Unlit_Fresnel.shadergraph | 0 .../Shaders/Unlit_Fresnel.shadergraph.meta | 0 .../StaticAssets/Textures.meta | 0 .../StaticAssets/Textures/default anchor.png | 0 .../Textures/default anchor.png.meta | 0 .../XRI VR Builder Input Actions.inputactions | 0 ...VR Builder Input Actions.inputactions.meta | 0 1440 files changed, 1734 insertions(+), 11052 deletions(-) rename Demo/Editor/{VRBuilder.Editor.DemoScene.asmdef => VRBuilder.Editor.Demo.asmdef} (92%) rename Demo/Editor/{VRBuilder.Editor.DemoScene.asmdef.meta => VRBuilder.Editor.Demo.asmdef.meta} (100%) rename Demo/Runtime/{Scripts => }/TouchPanel.cs (100%) rename Demo/Runtime/{Scripts => }/TouchPanel.cs.meta (100%) rename Demo/Runtime/{Scripts/VRBuilder.DemoScene.asmdef => VRBuilder.Demo.asmdef} (93%) rename Demo/Runtime/{Scripts/VRBuilder.DemoScene.asmdef.meta => VRBuilder.Demo.asmdef.meta} (100%) rename Demo/{Runtime => }/Scenes.meta (100%) rename Demo/{Runtime => }/Scenes/VR Builder Demo - Core Features.unity (100%) rename Demo/{Runtime => }/Scenes/VR Builder Demo - Core Features.unity.meta (100%) rename Demo/{Runtime => }/Scenes/WARNING - Don't open the demo scene from here!.txt (100%) rename Demo/{Runtime => }/Scenes/WARNING - Don't open the demo scene from here!.txt.meta (100%) rename Demo/{Runtime => }/StaticAssets.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Ball.physicMaterial (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Ball.physicMaterial.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Conveyor.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Conveyor.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Interactable.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Interactable.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/InteractableTrim.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/InteractableTrim.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Light.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Light.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/LightSaber.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/LightSaber.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/MagicLight.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/MagicLight.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Panel.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Panel.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Platform.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Platform.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/PlatformEmissive.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/PlatformEmissive.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Shaft.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Shaft.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Shield.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Shield.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Skybox.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Skybox.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Station.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Station.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/StationEmissive.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/StationEmissive.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_back.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_back.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_down.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_down.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_front.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_front.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_left.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_left.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_right.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_right.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_up.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/purple-nebula_up.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/review.png (100%) rename Demo/{Runtime => }/StaticAssets/Materials/Textures/review.png.meta (100%) rename Demo/{Runtime => }/StaticAssets/Materials/TouchPanel.mat (100%) rename Demo/{Runtime => }/StaticAssets/Materials/TouchPanel.mat.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Ball.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Ball.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicCube-Split-L.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicCube-Split-L.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicCube-Split-R.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicCube-Split-R.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicCube.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicCube.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicSphere.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/MagicSphere.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Pedestal.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Pedestal.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Platform.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Platform.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Podium.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Podium.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/PodiumTeleportArea.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/PodiumTeleportArea.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/ReviewPanel.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/ReviewPanel.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Shield.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Shield.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Table.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Table.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Target.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Target.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/TeleportArea.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/TeleportArea.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/TouchPanel.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/TouchPanel.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Transformer.fbx (100%) rename Demo/{Runtime => }/StaticAssets/Meshes/Transformer.fbx.meta (100%) rename Demo/{Runtime => }/StaticAssets/Prefabs.meta (100%) rename Demo/{Runtime => }/StaticAssets/Prefabs/Laser Sword.prefab (100%) rename Demo/{Runtime => }/StaticAssets/Prefabs/Laser Sword.prefab.meta (100%) rename Demo/{Runtime => }/StaticAssets/Prefabs/Magic Cube.mat (100%) rename Demo/{Runtime => }/StaticAssets/Prefabs/Magic Cube.mat.meta (100%) delete mode 100644 Source/Basic-Conditions-And-Behaviors.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/.azure-pipelines.yml delete mode 100644 Source/Basic-Conditions-And-Behaviors/.commitlintrc.json delete mode 100644 Source/Basic-Conditions-And-Behaviors/.gitattributes delete mode 100644 Source/Basic-Conditions-And-Behaviors/.github/CODE_OF_CONDUCT.md delete mode 100644 Source/Basic-Conditions-And-Behaviors/.github/CODING_CONVENTIONS.md delete mode 100644 Source/Basic-Conditions-And-Behaviors/.github/CONTRIBUTING.md delete mode 100644 Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/BUG_REPORT.md delete mode 100644 Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md delete mode 100644 Source/Basic-Conditions-And-Behaviors/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 Source/Basic-Conditions-And-Behaviors/.gitignore delete mode 100644 Source/Basic-Conditions-And-Behaviors/.releaserc.json delete mode 100644 Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref delete mode 100644 Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/Properties.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Data.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Particles.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Path.meta delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref delete mode 100644 Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref.meta delete mode 100644 Source/Basic-Interaction-Component/.azure-pipelines.yml delete mode 100644 Source/Basic-Interaction-Component/.commitlintrc.json delete mode 100644 Source/Basic-Interaction-Component/.gitattributes delete mode 100644 Source/Basic-Interaction-Component/.github/CODE_OF_CONDUCT.md delete mode 100644 Source/Basic-Interaction-Component/.github/CODING_CONVENTIONS.md delete mode 100644 Source/Basic-Interaction-Component/.github/CONTRIBUTING.md delete mode 100644 Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/BUG_REPORT.md delete mode 100644 Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md delete mode 100644 Source/Basic-Interaction-Component/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 Source/Basic-Interaction-Component/.gitignore delete mode 100644 Source/Basic-Interaction-Component/.releaserc.json delete mode 100644 Source/Basic-Interaction-Component/Editor/Converters.meta delete mode 100644 Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs delete mode 100644 Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs.meta delete mode 100644 Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs delete mode 100644 Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs.meta delete mode 100644 Source/Basic-Interaction-Component/Editor/RigSetup.meta rename Source/{Basic-Interaction-Component.meta => BasicInteraction.meta} (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Editor.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor.meta => BasicInteraction/Editor/Setup.meta} (77%) rename Source/{Basic-Interaction-Component/Editor/RigSetup => BasicInteraction/Editor/Setup}/DefaultRigSceneSetup.cs (96%) rename Source/{Basic-Interaction-Component/Editor/RigSetup => BasicInteraction/Editor/Setup}/DefaultRigSceneSetup.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/Setup}/InteractionFrameworkSceneSetup.cs (90%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/Setup}/InteractionFrameworkSceneSetup.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor/RigSetup => BasicInteraction/Editor/Setup}/RigLoaderSceneSetup.cs (88%) rename Source/{Basic-Interaction-Component/Editor/RigSetup => BasicInteraction/Editor/Setup}/RigLoaderSceneSetup.cs.meta (100%) rename Source/{Core/Editor/ProcessController => BasicInteraction/Editor}/UI.meta (77%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/Inspector.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/Inspector/HasGuidValidationEditor.cs (98%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/Inspector/HasGuidValidationEditor.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor/RigSetup => BasicInteraction/Editor/UI/Inspector}/InteractionRigSetupDrawer.cs (92%) rename Source/{Basic-Interaction-Component/Editor/RigSetup => BasicInteraction/Editor/UI/Inspector}/InteractionRigSetupDrawer.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/Inspector/IsObjectWithTagValidationEditor.cs (97%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/Inspector/IsObjectWithTagValidationEditor.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/GrabbedMenuItem.cs (76%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/GrabbedMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/ReleasedMenuItem.cs (76%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/ReleasedMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/SnappedMenuItem.cs (76%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/SnappedMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/TeleportMenuItem.cs (79%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/TeleportMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/TouchedMenuItem.cs (76%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/TouchedMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/UnsnapMenuItem.cs (77%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/UnsnapMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/UsedMenuItem.cs (75%) rename Source/{Basic-Interaction-Component/Editor => BasicInteraction/Editor/UI}/MenuItems/UsedMenuItem.cs.meta (100%) rename Source/{Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef => BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef} (84%) rename Source/{Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef.meta => BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef.meta} (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/INTERACTION_RIG_LOADER.prefab (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/INTERACTION_RIG_LOADER.prefab.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/Materials.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/Materials/AnchorMaterialSRP.mat (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/Materials/AnchorMaterialSRP.mat.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/Materials/AnchorMaterialURP.mat (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/Materials/AnchorMaterialURP.mat.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/TeleportReticle.prefab (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/TeleportReticle.prefab.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/USER_DUMMY.prefab (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/USER_DUMMY.prefab.meta (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/VRBuilderAnchorPrefab.prefab (100%) rename Source/{Basic-Interaction-Component/Runtime => BasicInteraction}/Resources/VRBuilderAnchorPrefab.prefab.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Behaviors.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Behaviors/UnsnapBehavior.cs (99%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Behaviors/UnsnapBehavior.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/GrabbedCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/GrabbedCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/GrabbedObjectWithTagCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/GrabbedObjectWithTagCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/ReleasedCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/ReleasedCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/SnappedCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/SnappedCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/SnappedObjectWithTagCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/SnappedObjectWithTagCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/TeleportCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/TeleportCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/TouchedCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/TouchedCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/UsedCondition.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Conditions/UsedCondition.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/BaseInteractionSimulator.cs (98%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/BaseInteractionSimulator.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/IInteractableObject.cs (93%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/IInteractableObject.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/ISnapZone.cs (88%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/ISnapZone.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/InteractionSimulatorDummy.cs (97%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Interaction/InteractionSimulatorDummy.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Locomotion.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Locomotion/BaseLocomotionHandler.cs (94%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Locomotion/BaseLocomotionHandler.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/IGrabbableProperty.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/IGrabbableProperty.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ISnapZoneProperty.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ISnapZoneProperty.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ISnappableProperty.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ISnappableProperty.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ITeleportationProperty.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ITeleportationProperty.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ITouchableProperty.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/ITouchableProperty.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/IUsableProperty.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Properties/IUsableProperty.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup/InteractionRigProvider.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup/InteractionRigProvider.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup/InteractionRigSetup.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup/InteractionRigSetup.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup/NoRigSetup.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/RigSetup/NoRigSetup.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/VRBuilder.BasicInteraction.asmdef (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/VRBuilder.BasicInteraction.asmdef.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/HasGuidValidation.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/HasGuidValidation.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/IsObjectWithTagValidation.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/IsObjectWithTagValidation.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/IsProcessSceneObjectValidation.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/IsProcessSceneObjectValidation.cs.meta (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/Validator.cs (100%) rename Source/{Basic-Interaction-Component => BasicInteraction}/Runtime/Validation/Validator.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets.meta => BasicInteraction/StaticAssets.meta} (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => BasicInteraction/StaticAssets}/Materials.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => BasicInteraction/StaticAssets}/Materials/Opaque-Queue-Line.mat (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => BasicInteraction/StaticAssets}/Materials/Opaque-Queue-Line.mat.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => BasicInteraction/StaticAssets}/Shaders.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => BasicInteraction/StaticAssets}/Shaders/Unlit-Line-Opaque.shader (100%) rename Source/{Basic-Interaction-Component/Runtime/Static Assets => BasicInteraction/StaticAssets}/Shaders/Unlit-Line-Opaque.shader.meta (100%) delete mode 100644 Source/Core/.azure-documentation-release.yml delete mode 100644 Source/Core/.azure-pipelines.yml delete mode 100644 Source/Core/.commitlintrc.json delete mode 100644 Source/Core/.editorconfig delete mode 100644 Source/Core/.gitattributes delete mode 100644 Source/Core/.github/CODE_OF_CONDUCT.md delete mode 100644 Source/Core/.github/CODING_CONVENTIONS.md delete mode 100644 Source/Core/.github/CONTRIBUTING.md delete mode 100644 Source/Core/.github/ISSUE_TEMPLATE/BUG_REPORT.md delete mode 100644 Source/Core/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md delete mode 100644 Source/Core/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 Source/Core/.gitignore delete mode 100644 Source/Core/.gitmodules delete mode 100644 Source/Core/.releaserc.json delete mode 100644 Source/Core/Editor/DefaultEditingStrategy.cs delete mode 100644 Source/Core/Editor/DefaultEditingStrategy.cs.meta delete mode 100644 Source/Core/Editor/ProcessController.meta delete mode 100644 Source/Core/Editor/Resources.meta rename Source/Core/Editor/{ProcessController => Setup}/ProcessControllerSceneSetup.cs (90%) rename Source/Core/Editor/{ProcessController => Setup}/ProcessControllerSceneSetup.cs.meta (100%) rename Demo/Runtime/Scripts.meta => Source/Core/Editor/TextToSpeech.meta (77%) create mode 100644 Source/Core/Editor/TextToSpeech/DefaultTextToSpeechConfiguration.cs rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/DefaultTextToSpeechConfiguration.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/NAudioConverter.cs (92%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/NAudioConverter.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers/DummyTextToSpeechProvider.cs (80%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers/DummyTextToSpeechProvider.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers/MicrosoftSapiTextToSpeechProvider.cs (96%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers/MicrosoftSapiTextToSpeechProvider.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers/WebTextToSpeechProvider.cs (96%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/Providers/WebTextToSpeechProvider.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/TextToSpeechBuildPreprocessor.cs (85%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech}/TextToSpeechBuildPreprocessor.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI.meta => Core/Editor/TextToSpeech/Utils.meta} (77%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech/Utils}/TextToSpeechEditorUtils.cs (88%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/TextToSpeech/Utils}/TextToSpeechEditorUtils.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/BooleanProcessVariableDrawer.cs (86%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/BooleanProcessVariableDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareBooleansDrawer.cs (96%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareBooleansDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareNumbersDrawer.cs (97%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareNumbersDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareTextDrawer.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareTextDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareValuesDrawer.cs (97%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/CompareValuesDrawer.cs.meta (100%) rename Source/Core/Editor/UI/Drawers/{DropdownDrawers => }/DropDownElement.cs (95%) rename Source/Core/Editor/UI/Drawers/{DropdownDrawers => }/DropDownElement.cs.meta (100%) rename Source/Core/Editor/UI/Drawers/{DropdownDrawers => }/DropdownDrawer.cs (98%) rename Source/Core/Editor/UI/Drawers/{DropdownDrawers => }/DropdownDrawer.cs.meta (100%) delete mode 100644 Source/Core/Editor/UI/Drawers/DropdownDrawers.meta rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/FloatProcessVariableDrawer.cs (86%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/FloatProcessVariableDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/IntProcessVariableDrawer.cs (86%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/IntProcessVariableDrawer.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/UI}/Drawers/LocalizationTableDrawer.cs (96%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/UI}/Drawers/LocalizationTableDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers => Core/Editor/UI/Drawers}/PlayAudioBehaviorDrawer.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers => Core/Editor/UI/Drawers}/PlayAudioBehaviorDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/ProcessVariableDrawer.cs (91%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/ProcessVariableDrawer.cs.meta (100%) rename Source/Core/Editor/UI/Drawers/{DropdownDrawers => }/SceneDropdownDrawer.cs (96%) rename Source/Core/Editor/UI/Drawers/{DropdownDrawers => }/SceneDropdownDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer => Core/Editor/UI/Drawers}/SetComponentEnabledBehaviorDrawer.cs (97%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer => Core/Editor/UI/Drawers}/SetComponentEnabledBehaviorDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer => Core/Editor/UI/Drawers}/SetComponentEnabledByTagBehaviorDrawer.cs (97%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer => Core/Editor/UI/Drawers}/SetComponentEnabledByTagBehaviorDrawer.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/StringProcessVariableDrawer.cs (86%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers => Core/Editor/UI/Drawers}/StringProcessVariableDrawer.cs.meta (100%) delete mode 100644 Source/Core/Editor/UI/EditorGraphics.cs delete mode 100644 Source/Core/Editor/UI/EditorGraphics.cs.meta rename Source/Core/Editor/UI/GraphView/{NodeInstantiators.meta => Instantiators.meta} (100%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/DefaultStepNodeInstantiator.cs (88%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/DefaultStepNodeInstantiator.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/EndChapterNodeInstantiator.cs (88%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/EndChapterNodeInstantiator.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/IStepNodeInstantiator.cs (90%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/IStepNodeInstantiator.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/ParallelExecutionNodeInstantiator.cs (88%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/ParallelExecutionNodeInstantiator.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/StepGroupNodeInstantiator.cs (88%) rename Source/Core/Editor/UI/GraphView/{NodeInstantiators => Instantiators}/StepGroupNodeInstantiator.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/Drawers.meta => Core/Editor/UI/GraphView/Nodes.meta} (77%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/EndChapterNode.cs (90%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/EndChapterNode.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/EndChapterPostProcessing.cs (87%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/EndChapterPostProcessing.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/EntryPointNode.cs (97%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/EntryPointNode.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/ParallelExecutionNode.cs (98%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/ParallelExecutionNode.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/ParallelExecutionPostProcessing.cs (89%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/ParallelExecutionPostProcessing.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/ProcessGraphNode.cs (99%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/ProcessGraphNode.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/StepGraphNode.cs (97%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/StepGraphNode.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/StepGroupNode.cs (98%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/StepGroupNode.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/StepGroupPostProcessing.cs (87%) rename Source/Core/Editor/UI/GraphView/{ => Nodes}/StepGroupPostProcessing.cs.meta (100%) create mode 100644 Source/Core/Editor/UI/GraphView/Windows.meta rename Source/Core/Editor/UI/GraphView/{ => Windows}/ProcessEditorWindow.cs (93%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/ProcessEditorWindow.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/ProcessGraphViewWindow.cs (98%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/ProcessGraphViewWindow.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/SceneReferencesEditorPopup.cs (98%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/SceneReferencesEditorPopup.cs.meta (100%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/SearchableGroupListPopup.cs (99%) rename Source/Core/Editor/UI/GraphView/{ => Windows}/SearchableGroupListPopup.cs.meta (100%) delete mode 100644 Source/Core/Editor/UI/Graphics.meta delete mode 100644 Source/Core/Editor/UI/Graphics/AddStepButton.cs delete mode 100644 Source/Core/Editor/UI/Graphics/AddStepButton.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs delete mode 100644 Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/EditorNode.cs delete mode 100644 Source/Core/Editor/UI/Graphics/EditorNode.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/EntryJoint.cs delete mode 100644 Source/Core/Editor/UI/Graphics/EntryJoint.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/EntryNode.cs delete mode 100644 Source/Core/Editor/UI/Graphics/EntryNode.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/ExitJoint.cs delete mode 100644 Source/Core/Editor/UI/Graphics/ExitJoint.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/GraphicalElement.cs delete mode 100644 Source/Core/Editor/UI/Graphics/GraphicalElement.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs delete mode 100644 Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs delete mode 100644 Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Grid.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Grid.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs delete mode 100644 Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs delete mode 100644 Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs delete mode 100644 Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/StepNode.cs delete mode 100644 Source/Core/Editor/UI/Graphics/StepNode.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/TransitionElement.cs delete mode 100644 Source/Core/Editor/UI/Graphics/TransitionElement.cs.meta delete mode 100644 Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs delete mode 100644 Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs.meta rename Source/Core/Editor/{ProcessController/UI => UI/Inspector}/ProcessControllerSetupEditor.cs (90%) rename Source/Core/Editor/{ProcessController/UI => UI/Inspector}/ProcessControllerSetupEditor.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Editor/UI/MenuItems.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core/Editor/UI/MenuItems}/Behaviors.meta (77%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/BehaviorSequenceMenuItem.cs (72%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/BehaviorSequenceMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/ConfettiMenuItem.cs (69%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/ConfettiMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/DelayMenuItem.cs (70%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/DelayMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/DisableComponentMenuItem.cs (79%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/DisableComponentMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/DisableObjectsMenuItem.cs (79%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/DisableObjectsMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/EnableComponentMenuItem.cs (79%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/EnableComponentMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/EnableObjectsMenuItem.cs (78%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/EnableObjectsMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/HighlightObjectMenuItem.cs (72%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/HighlightObjectMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/LoadSceneMenuItem.cs (77%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/LoadSceneMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/MoveObjectMenuItem.cs (71%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/MoveObjectMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/PlayResourceAudioMenuItem.cs (76%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/PlayResourceAudioMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/ScalingMenuItem.cs (69%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/ScalingMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/SetParentMenuItem.cs (77%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/SetParentMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/StartParticleEmissionMenuItem.cs (79%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/StartParticleEmissionMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/StopParticleEmissionMenuItem.cs (79%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/StopParticleEmissionMenuItem.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/TextToSpeechMenuItem.cs (71%) rename Source/{TextToSpeech-Component/Editor/MenuItems => Core/Editor/UI/MenuItems/Behaviors}/TextToSpeechMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core/Editor/UI/MenuItems}/Conditions.meta (77%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Conditions}/ObjectInColliderMenuItem.cs (72%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Conditions}/ObjectInColliderMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Conditions}/ObjectInRangeMenuItem.cs (78%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Conditions}/ObjectInRangeMenuItem.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Conditions}/TimeoutMenuItem.cs (77%) rename Source/{Basic-Conditions-And-Behaviors/Editor/UI/MenuItems => Core/Editor/UI/MenuItems/Conditions}/TimeoutMenuItem.cs.meta (100%) rename Source/Core/Editor/UI/{Spectator => ProjectSettings}/SpectatorSettingsProvider.cs (88%) rename Source/Core/Editor/UI/{Spectator => ProjectSettings}/SpectatorSettingsProvider.cs.meta (100%) rename Source/Core/Editor/UI/{Spectator => ProjectSettings}/SpectatorSettingsSection.cs (89%) rename Source/Core/Editor/UI/{Spectator => ProjectSettings}/SpectatorSettingsSection.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/UI}/ProjectSettings/TextToSpeechSectionProvider.cs (91%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/UI}/ProjectSettings/TextToSpeechSectionProvider.cs.meta (100%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/UI/ProjectSettings}/TextToSpeechSettingsEditor.cs (92%) rename Source/{TextToSpeech-Component/Editor => Core/Editor/UI/ProjectSettings}/TextToSpeechSettingsEditor.cs.meta (100%) delete mode 100644 Source/Core/Editor/UI/Spectator.meta delete mode 100644 Source/Core/Editor/UI/Windows/ChapterRepresentation.cs delete mode 100644 Source/Core/Editor/UI/Windows/ChapterRepresentation.cs.meta delete mode 100644 Source/Core/Editor/UI/Windows/ProcessWindow.cs delete mode 100644 Source/Core/Editor/UI/Windows/ProcessWindow.cs.meta rename Source/Core/Editor/UI/Wizard/{Setup => }/AllAboutPage.cs (97%) rename Source/Core/Editor/UI/Wizard/{Setup => }/AllAboutPage.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/InteractionComponentPage.cs (96%) rename Source/Core/Editor/UI/Wizard/{Setup => }/InteractionComponentPage.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/InteractionSettingsPage.cs (97%) rename Source/Core/Editor/UI/Wizard/{Setup => }/InteractionSettingsPage.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/LocalizationSettingsPage.cs (99%) rename Source/Core/Editor/UI/Wizard/{Setup => }/LocalizationSettingsPage.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/ProcessSceneSetupPage.cs (98%) rename Source/Core/Editor/UI/Wizard/{Setup => }/ProcessSceneSetupPage.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/ProjectSetupWizard.cs (95%) rename Source/Core/Editor/UI/Wizard/{Setup => }/ProjectSetupWizard.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/SceneSetupWizard.cs (96%) rename Source/Core/Editor/UI/Wizard/{Setup => }/SceneSetupWizard.cs.meta (100%) delete mode 100644 Source/Core/Editor/UI/Wizard/Setup.meta rename Source/Core/Editor/UI/Wizard/{Setup => }/WelcomePage.cs (94%) rename Source/Core/Editor/UI/Wizard/{Setup => }/WelcomePage.cs.meta (100%) rename Source/Core/Editor/UI/Wizard/{Setup => }/XRSDKSetupPage.cs (98%) rename Source/Core/Editor/UI/Wizard/{Setup => }/XRSDKSetupPage.cs.meta (100%) rename Source/Core/Editor/{VRBuilder.Editor.asmdef => VRBuilder.Core.Editor.asmdef} (87%) rename Source/Core/Editor/{VRBuilder.Editor.asmdef.meta => VRBuilder.Core.Editor.asmdef.meta} (100%) rename Source/Core/Editor/XRUtils/{XRProviders => }/OculusXRPackageEnabler.cs (93%) rename Source/Core/Editor/XRUtils/{XRProviders => }/OculusXRPackageEnabler.cs.meta (100%) rename Source/Core/Editor/XRUtils/{XRProviders => }/OpenXRPackageEnabler.cs (95%) rename Source/Core/Editor/XRUtils/{XRProviders => }/OpenXRPackageEnabler.cs.meta (100%) rename Source/Core/Editor/XRUtils/{XRProviders => }/WindowsMRPackageEnabler.cs (93%) rename Source/Core/Editor/XRUtils/{XRProviders => }/WindowsMRPackageEnabler.cs.meta (100%) rename Source/Core/Editor/XRUtils/{XRProviders => }/XRProvider.cs (87%) rename Source/Core/Editor/XRUtils/{XRProviders => }/XRProvider.cs.meta (100%) delete mode 100644 Source/Core/Editor/XRUtils/XRProviders.meta rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/NAudio.meta (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/NAudio/NAudio-License.txt (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/NAudio/NAudio-License.txt.meta (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/NAudio/NAudio.dll (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/NAudio/NAudio.dll.meta (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/SpeechLib.meta (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/SpeechLib/Interop.SpeechLib.dll (100%) rename Source/{TextToSpeech-Component => Core}/Extensions/Plugins/SpeechLib/Interop.SpeechLib.dll.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Blue.mat (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Blue.mat.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/DefaultConfetti.mat (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/DefaultConfetti.mat.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Green.mat (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Green.mat.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/MindPortConfetti.mat (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/MindPortConfetti.mat.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Red.mat (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Red.mat.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Yellow.mat (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Materials/Yellow.mat.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs/BlueYellowGreenConfettiMachine.prefab (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs/BlueYellowGreenConfettiMachine.prefab.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs/MindPortConfettiMachine.prefab (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs/MindPortConfettiMachine.prefab.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs/RandomConfettiMachine.prefab (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Prefabs/RandomConfettiMachine.prefab.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Textures.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Textures/confetti-shape.png (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Textures/confetti-shape.png.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Textures/mindport-logo-3.png (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime => Core}/Resources/Confetti/Textures/mindport-logo-3.png.meta (100%) rename Source/Core/{Editor => }/Resources/KeyBindings.meta (100%) rename Source/Core/{Editor => }/Resources/KeyBindings/BuilderDefaultKeyBindings.inputactions (100%) rename Source/Core/{Editor => }/Resources/KeyBindings/BuilderDefaultKeyBindings.inputactions.meta (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs.meta (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs/PROCESS_CONTROLLER.prefab (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs/PROCESS_CONTROLLER.prefab.meta (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs/SpectatorProcessController.prefab (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs/SpectatorProcessController.prefab.meta (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs/StandardProcessController.prefab (100%) rename Source/Core/{Runtime/ProcessController => }/Resources/Prefabs/StandardProcessController.prefab.meta (100%) rename Source/Core/{Editor => }/Resources/Textures.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Inline-DarkMode-256.png (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Inline-DarkMode-256.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Inline-LightMode-256.png (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Inline-LightMode-256.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-StandaloneLogo-256.png (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-StandaloneLogo-256.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Vertical-DarkMode-512.png (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Vertical-DarkMode-512.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Vertical-LightMode-512.png (100%) rename Source/Core/{Editor => }/Resources/Textures/MindPort-Vertical-LightMode-512.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Inline-DarkMode-256.png (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Inline-DarkMode-256.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Inline-LightMode-256.png (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Inline-LightMode-256.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-StandaloneLogo-256.png (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-StandaloneLogo-256.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Vertical-DarkMode-512.png (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Vertical-DarkMode-512.png.meta (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Vertical-LightMode-512.png (100%) rename Source/Core/{Editor => }/Resources/Textures/VRBuilder-Vertical-LightMode-512.png.meta (100%) rename Source/Core/{Editor => }/Resources/hub-logging-config.txt (100%) rename Source/Core/{Editor => }/Resources/hub-logging-config.txt.meta (100%) rename Source/Core/{Editor => }/Resources/icon-non-optional_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon-non-optional_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon-non-optional_light.png (100%) rename Source/Core/{Editor => }/Resources/icon-non-optional_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon-optional_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon-optional_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon-optional_light.png (100%) rename Source/Core/{Editor => }/Resources/icon-optional_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_add_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_add_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_add_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_add_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_down_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_down_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_down_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_down_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_right_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_right_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_right_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_right_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_up_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_up_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_up_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_arrow_up_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_collapse_chapter_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_collapse_chapter_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_collapse_chapter_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_collapse_chapter_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_delete_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_delete_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_delete_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_delete_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_edit_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_edit_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_edit_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_edit_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_expand_chapter_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_expand_chapter_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_expand_chapter_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_expand_chapter_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_folder_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_folder_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_folder_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_folder_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_help_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_help_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_help_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_help_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_info_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_info_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_info_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_info_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_menu_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_menu_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_menu_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_menu_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_paste_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_paste_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_paste_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_paste_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_process_editor_dark.png (100%) rename Source/Core/{Editor => }/Resources/icon_process_editor_dark.png.meta (100%) rename Source/Core/{Editor => }/Resources/icon_process_editor_light.png (100%) rename Source/Core/{Editor => }/Resources/icon_process_editor_light.png.meta (100%) rename Source/Core/{Editor => }/Resources/vr_builder_component_icon.png (100%) rename Source/Core/{Editor => }/Resources/vr_builder_component_icon.png.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/BehaviorSequence.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/BehaviorSequence.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ConfettiBehavior.cs (99%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ConfettiBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ControlParticleEmissionBehavior.cs (98%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ControlParticleEmissionBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/DelayBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/DelayBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/DisableGameObjectBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/DisableGameObjectBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/EnableGameObjectBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/EnableGameObjectBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ExecuteChapterBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ExecuteChapterBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ExecuteChaptersBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ExecuteChaptersBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/GoToChapterBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/GoToChapterBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/HighlightObjectBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/HighlightObjectBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/LoadSceneBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/LoadSceneBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/MoveObjectBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/MoveObjectBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/PlayAudioBehavior.cs (99%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/PlayAudioBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ResetValueBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ResetValueBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ScalingBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/ScalingBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetComponentEnabledBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetComponentEnabledBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetComponentEnabledByTagBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetComponentEnabledByTagBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetObjectsEnabledBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetObjectsEnabledBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetObjectsWithTagEnabledBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetObjectsWithTagEnabledBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetParentBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetParentBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetValueBehavior.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SetValueBehavior.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SubChapter.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Behaviors/SubChapter.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Conditions/CompareValuesCondition.cs (99%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Conditions/CompareValuesCondition.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/IObjectInTargetData.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/IObjectInTargetData.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/ObjectInColliderCondition.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/ObjectInColliderCondition.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/ObjectInRangeCondition.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/ObjectInRangeCondition.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/ObjectInTargetCondition.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions => Core/Runtime/Conditions}/ObjectInTargetCondition.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Conditions/TimeoutCondition.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Conditions/TimeoutCondition.cs.meta (100%) rename Source/Core/Runtime/{ProcessController => Configuration}/DefaultAudioPlayer.cs (97%) rename Source/Core/Runtime/{ProcessController => Configuration}/DefaultAudioPlayer.cs.meta (100%) rename Source/Core/Runtime/{Behaviors => }/EmptyProcess.cs (100%) rename Source/Core/Runtime/{Behaviors => }/EmptyProcess.cs.meta (100%) create mode 100644 Source/Core/Runtime/Entities/Factories.meta rename Source/Core/Runtime/Entities/{ => Factories}/ChapterFactory.cs (93%) rename Source/Core/Runtime/Entities/{ => Factories}/ChapterFactory.cs.meta (100%) rename Source/Core/Runtime/Entities/{ => Factories}/EntityFactory.cs (96%) rename Source/Core/Runtime/Entities/{ => Factories}/EntityFactory.cs.meta (100%) rename Source/Core/Runtime/Entities/{ => Factories}/EntityPostProcessing.cs (93%) rename Source/Core/Runtime/Entities/{ => Factories}/EntityPostProcessing.cs.meta (100%) rename Source/Core/Runtime/Entities/{ => Factories}/ProcessFactory.cs (94%) rename Source/Core/Runtime/Entities/{ => Factories}/ProcessFactory.cs.meta (100%) rename Source/Core/Runtime/Entities/{ => Factories}/StepFactory.cs (93%) rename Source/Core/Runtime/Entities/{ => Factories}/StepFactory.cs.meta (100%) rename Source/Core/Runtime/Entities/{ => Factories}/StepPostProcessing.cs (94%) rename Source/Core/Runtime/Entities/{ => Factories}/StepPostProcessing.cs.meta (100%) rename Source/Core/Runtime/Entities/{ => Factories}/TransitionFactory.cs (85%) rename Source/Core/Runtime/Entities/{ => Factories}/TransitionFactory.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight.meta => Core/Runtime/Highlighting.meta} (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/AbstractHighlighter.cs (89%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/AbstractHighlighter.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/DefaultHighlighter.cs (97%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/DefaultHighlighter.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/ExcludeFromHighlightMesh.cs (88%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/ExcludeFromHighlightMesh.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/HighlightUtils.cs (96%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/HighlightUtils.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/IExcludeFromHighlightMesh.cs (81%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/IExcludeFromHighlightMesh.cs.meta (100%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/IHighlighter.cs (92%) rename Source/{Basic-Interaction-Component/Runtime/Highlight => Core/Runtime/Highlighting}/IHighlighter.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties.meta => Core/Runtime/Obsolete.meta} (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Obsolete}/ProcessVariable.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Obsolete}/ProcessVariable.cs.meta (100%) rename Source/Core/Runtime/ProcessController/{Controllers => }/BaseProcessController.cs (90%) rename Source/Core/Runtime/ProcessController/{Controllers => }/BaseProcessController.cs.meta (100%) delete mode 100644 Source/Core/Runtime/ProcessController/Controllers.meta rename Source/Core/Runtime/ProcessController/{Controllers => }/IProcessController.cs (95%) rename Source/Core/Runtime/ProcessController/{Controllers => }/IProcessController.cs.meta (100%) delete mode 100644 Source/Core/Runtime/ProcessController/Resources.meta delete mode 100644 Source/Core/Runtime/ProcessController/Resources/Sprites.meta rename Source/Core/Runtime/ProcessController/{Controllers => }/SpectatorProcessController.cs (91%) rename Source/Core/Runtime/ProcessController/{Controllers => }/SpectatorProcessController.cs.meta (100%) rename Source/Core/Runtime/ProcessController/{Controllers => }/StandardProcessController.cs (89%) rename Source/Core/Runtime/ProcessController/{Controllers => }/StandardProcessController.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting => Core/Runtime/Properties}/BaseHighlightProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting => Core/Runtime/Properties}/BaseHighlightProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Path => Core/Runtime/Properties}/BezierSplinePathProperty.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Path => Core/Runtime/Properties}/BezierSplinePathProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/BooleanDataProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/BooleanDataProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Properties/ColliderWithTriggerProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Properties/ColliderWithTriggerProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/DataProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/DataProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting => Core/Runtime/Properties}/EnableHighlightProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting => Core/Runtime/Properties}/EnableHighlightProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/IDataProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/IDataProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/IDataPropertyBase.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/IDataPropertyBase.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting => Core/Runtime/Properties}/IHighlightProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting => Core/Runtime/Properties}/IHighlightProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Particles => Core/Runtime/Properties}/IParticleSystemProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Particles => Core/Runtime/Properties}/IParticleSystemProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Path => Core/Runtime/Properties}/IPathProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Path => Core/Runtime/Properties}/IPathProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/NumberDataProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/NumberDataProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/AndOperation.cs (90%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/AndOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/EqualToOperation.cs (94%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/EqualToOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/GreaterOrEqualOperation.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/GreaterOrEqualOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/GreaterThanOperation.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/GreaterThanOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/IOperationCommand.cs (91%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/IOperationCommand.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/LessThanOperation.cs (94%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/LessThanOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/LessThanOrEqualOperation.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/LessThanOrEqualOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/NotEqualToOperation.cs (95%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/NotEqualToOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/OrOperation.cs (90%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/DataProperties => Core/Runtime/Properties}/Operations/OrOperation.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Particles => Core/Runtime/Properties}/ParticleSystemProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Particles => Core/Runtime/Properties}/ParticleSystemProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/TextDataProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/Properties/Data => Core/Runtime/Properties}/TextDataProperty.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Properties/TransformInRangeDetectorProperty.cs (100%) rename Source/{Basic-Conditions-And-Behaviors => Core}/Runtime/Properties/TransformInRangeDetectorProperty.cs.meta (100%) rename Source/Core/Runtime/{Properties => RestrictiveEnvironment}/ILockablePropertiesProvider.cs (83%) rename Source/Core/Runtime/{Properties => RestrictiveEnvironment}/ILockablePropertiesProvider.cs.meta (100%) rename Source/Core/Runtime/{Properties => RestrictiveEnvironment}/LockablePropertyData.cs (93%) rename Source/Core/Runtime/{Properties => RestrictiveEnvironment}/LockablePropertyData.cs.meta (100%) rename Source/Core/Runtime/{Properties => RestrictiveEnvironment}/LockablePropertyReference.cs (98%) rename Source/Core/Runtime/{Properties => RestrictiveEnvironment}/LockablePropertyReference.cs.meta (100%) rename Source/Core/Runtime/{Properties => SceneObjects}/UserSceneObject.cs (97%) rename Source/Core/Runtime/{Properties => SceneObjects}/UserSceneObject.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/AnimationCurveConverter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/AnimationCurveConverter.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/ImprovedNewtonsoftJsonProcessSerializer.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/ImprovedNewtonsoftJsonProcessSerializer.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/IndividualStepTransitionConverter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/IndividualStepTransitionConverter.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/KeyframeConverter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/KeyframeConverter.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftConverterAttribute.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftConverterAttribute.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftJsonProcessSerializer.cs (98%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftJsonProcessSerializer.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftJsonProcessSerializerV3.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftJsonProcessSerializerV3.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftJsonProcessSerializerV4.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/NewtonsoftJsonProcessSerializerV4.cs.meta (100%) delete mode 100644 Source/Core/Runtime/Serialization/NewtonsoftJsonSerializer.meta rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/UnityColorConverter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/UnityColorConverter.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/Vector2Converter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/Vector2Converter.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/Vector3Converter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/Vector3Converter.cs.meta (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/Vector4Converter.cs (100%) rename Source/Core/Runtime/Serialization/{NewtonsoftJsonSerializer => }/Vector4Converter.cs.meta (100%) rename Source/Core/Runtime/{Utils => Settings}/ComponentSettings.cs (96%) rename Source/Core/Runtime/{Utils => Settings}/ComponentSettings.cs.meta (100%) rename Source/Core/{Editor => Runtime}/Settings/InteractionComponentSettings.cs (89%) rename Source/Core/{Editor => Runtime}/Settings/InteractionComponentSettings.cs.meta (100%) rename Source/Core/Runtime/{Localization => Settings}/LanguageSettings.cs (96%) rename Source/Core/Runtime/{Localization => Settings}/LanguageSettings.cs.meta (100%) rename Source/Core/Runtime/{Utils/Logging => Settings}/LifeCycleLoggingConfig.cs (97%) rename Source/Core/Runtime/{Utils/Logging => Settings}/LifeCycleLoggingConfig.cs.meta (100%) rename Source/Core/Runtime/{Utils => Settings}/SettingsObject.cs (98%) rename Source/Core/Runtime/{Utils => Settings}/SettingsObject.cs.meta (100%) create mode 100644 Source/Core/Runtime/TextToSpeech.meta create mode 100644 Source/Core/Runtime/TextToSpeech/Configuration.meta rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Configuration}/ITextToSpeechConfiguration.cs (90%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Configuration}/ITextToSpeechConfiguration.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Configuration}/MicrosoftTextToSpeechConfiguration.cs (96%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Configuration}/MicrosoftTextToSpeechConfiguration.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Configuration}/RuntimeConfigurationExtensions.cs (90%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Configuration}/RuntimeConfigurationExtensions.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/IAudioConverter.cs (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/IAudioConverter.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/ITextToSpeechContent.cs (92%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/ITextToSpeechContent.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime/Provider.meta => Core/Runtime/TextToSpeech/Providers.meta} (100%) rename Source/{TextToSpeech-Component/Runtime/Provider => Core/Runtime/TextToSpeech/Providers}/FileTextToSpeechProvider.cs (93%) rename Source/{TextToSpeech-Component/Runtime/Provider => Core/Runtime/TextToSpeech/Providers}/FileTextToSpeechProvider.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime/Provider => Core/Runtime/TextToSpeech/Providers}/ITextToSpeechProvider.cs (79%) rename Source/{TextToSpeech-Component/Runtime/Provider => Core/Runtime/TextToSpeech/Providers}/ITextToSpeechProvider.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechAudio.cs (94%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechAudio.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechContent.cs (89%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechContent.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechProviderFactory.cs (97%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechProviderFactory.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechSettings.cs (95%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/TextToSpeechSettings.cs.meta (100%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/UnableToParseAudioFormatException.cs (75%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech}/UnableToParseAudioFormatException.cs.meta (100%) create mode 100644 Source/Core/Runtime/TextToSpeech/Utils.meta rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Utils}/TextToSpeechUtils.cs (88%) rename Source/{TextToSpeech-Component/Runtime => Core/Runtime/TextToSpeech/Utils}/TextToSpeechUtils.cs.meta (100%) create mode 100644 Source/Core/Runtime/UI/SelectableValues.meta rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/ProcessVariableSelectableValue.cs (90%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/ProcessVariableSelectableValue.cs.meta (100%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/PropertyReferenceOrTagSelectableValue.cs (91%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/PropertyReferenceOrTagSelectableValue.cs.meta (100%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/SelectableValue.cs (95%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/SelectableValue.cs.meta (100%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/VideoClipOrURLSelectableValue.cs (94%) rename Source/Core/Runtime/{SceneObjects => UI/SelectableValues}/VideoClipOrURLSelectableValue.cs.meta (100%) delete mode 100644 Source/Core/Runtime/Utils/Logging.meta rename Source/{Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities => Core/Runtime/Utils}/ParticleMachines.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities => Core/Runtime/Utils}/ParticleMachines/ConfettiMachine.cs (98%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities => Core/Runtime/Utils}/ParticleMachines/ConfettiMachine.cs.meta (100%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities => Core/Runtime/Utils}/ParticleMachines/IParticleMachine.cs (96%) rename Source/{Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities => Core/Runtime/Utils}/ParticleMachines/IParticleMachine.cs.meta (100%) rename Source/Core/Runtime/{Properties => Utils}/PropertyReflectionHelper.cs (99%) rename Source/Core/Runtime/{Properties => Utils}/PropertyReflectionHelper.cs.meta (100%) create mode 100644 Source/Core/StaticAssets.meta rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials.meta (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo.meta (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo/Archivo-Regular SDF.asset (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo/Archivo-Regular SDF.asset.meta (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo/ArchivoNarrow-Regular SDF.asset (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo/ArchivoNarrow-Regular SDF.asset.meta (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo/OFL.txt (100%) rename Source/Core/{Runtime/UI => StaticAssets}/FontsAndMaterials/Archivo/OFL.txt.meta (100%) rename Source/{Package-Manager.meta => PackageManager.meta} (100%) rename Source/{Package-Manager => PackageManager}/PackageDependencies.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/InputSystemPackageEnabler.cs (89%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/InputSystemPackageEnabler.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/LocalizationPackageEnabler.cs (89%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/LocalizationPackageEnabler.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/NewtonsoftJSONPackageEnabler.cs (86%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/NewtonsoftJSONPackageEnabler.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/PostProcessingPackageEnabler.cs (92%) rename Source/{Package-Manager => PackageManager}/PackageDependencies/PostProcessingPackageEnabler.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageManager.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageManager/Dependency.cs (98%) rename Source/{Package-Manager => PackageManager}/PackageManager/Dependency.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageManager/DependencyManager.cs (99%) rename Source/{Package-Manager => PackageManager}/PackageManager/DependencyManager.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageManager/LayerDependency.cs (93%) rename Source/{Package-Manager => PackageManager}/PackageManager/LayerDependency.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageManager/LayerUtils.cs (99%) rename Source/{Package-Manager => PackageManager}/PackageManager/LayerUtils.cs.meta (100%) rename Source/{Package-Manager => PackageManager}/PackageManager/PackageOperationsManager.cs (97%) rename Source/{Package-Manager => PackageManager}/PackageManager/PackageOperationsManager.cs.meta (100%) rename Source/{Package-Manager/VRBuilder.Editor.PackageManager.asmdef => PackageManager/VRBuilder.PackageManager.Editor.asmdef} (87%) rename Source/{Package-Manager/VRBuilder.Editor.PackageManager.asmdef.meta => PackageManager/VRBuilder.PackageManager.Editor.asmdef.meta} (100%) delete mode 100644 Source/TextToSpeech-Component.meta delete mode 100644 Source/TextToSpeech-Component/.azure-pipelines.yml delete mode 100644 Source/TextToSpeech-Component/.commitlintrc.json delete mode 100644 Source/TextToSpeech-Component/.gitattributes delete mode 100644 Source/TextToSpeech-Component/.github/CODE_OF_CONDUCT.md delete mode 100644 Source/TextToSpeech-Component/.github/CODING_CONVENTIONS.md delete mode 100644 Source/TextToSpeech-Component/.github/CONTRIBUTING.md delete mode 100644 Source/TextToSpeech-Component/.github/ISSUE_TEMPLATE/BUG_REPORT.md delete mode 100644 Source/TextToSpeech-Component/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md delete mode 100644 Source/TextToSpeech-Component/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 Source/TextToSpeech-Component/.gitignore delete mode 100644 Source/TextToSpeech-Component/.releaserc.json delete mode 100644 Source/TextToSpeech-Component/Editor.meta delete mode 100644 Source/TextToSpeech-Component/Editor/DefaultTextToSpeechConfiguration.cs delete mode 100644 Source/TextToSpeech-Component/Editor/Drawers.meta delete mode 100644 Source/TextToSpeech-Component/Editor/MenuItems.meta delete mode 100644 Source/TextToSpeech-Component/Editor/ProjectSettings.meta delete mode 100644 Source/TextToSpeech-Component/Editor/VRBuilder.Editor.TextToSpeech.asmdef delete mode 100644 Source/TextToSpeech-Component/Editor/VRBuilder.Editor.TextToSpeech.asmdef.meta delete mode 100644 Source/TextToSpeech-Component/Extensions.meta delete mode 100644 Source/TextToSpeech-Component/Extensions/Plugins.meta delete mode 100644 Source/TextToSpeech-Component/Runtime.meta delete mode 100644 Source/TextToSpeech-Component/Runtime/VRBuilder.TextToSpeech.asmdef delete mode 100644 Source/TextToSpeech-Component/Runtime/VRBuilder.TextToSpeech.asmdef.meta delete mode 100644 Source/XR-Interaction-Component/Source/.gitattributes delete mode 100644 Source/XR-Interaction-Component/Source/.gitignore delete mode 100644 Source/XR-Interaction-Component/Source/.gitmodules delete mode 100644 Source/XR-Interaction-Component/Source/Editor/Interaction.meta delete mode 100644 Source/XR-Interaction-Component/Source/Editor/SceneSetup/XRInteractionSceneSetup.cs delete mode 100644 Source/XR-Interaction-Component/Source/Editor/SceneSetup/XRInteractionSceneSetup.cs.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/AssemblyAttributes.cs delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/Interaction.meta delete mode 100644 Source/XR-Interaction-Component/Source/Runtime/XRI/ComponentLocatorUtility.cs rename Source/{XR-Interaction-Component.meta => XRInteraction.meta} (100%) rename Source/{XR-Interaction-Component => XRInteraction}/PackageManager.meta (100%) rename Source/{XR-Interaction-Component/PackageManager/VRBuilder.Editor.PackageManager.XRInteraction.asmdef => XRInteraction/PackageManager/VRBuilder.PackageManager.Editor.XRInteraction.asmdef} (79%) rename Source/{XR-Interaction-Component/PackageManager/VRBuilder.Editor.PackageManager.XRInteraction.asmdef.meta => XRInteraction/PackageManager/VRBuilder.PackageManager.Editor.XRInteraction.asmdef.meta} (100%) rename Source/{XR-Interaction-Component => XRInteraction}/PackageManager/XRInteractionPackageEnabler.cs (91%) rename Source/{XR-Interaction-Component => XRInteraction}/PackageManager/XRInteractionPackageEnabler.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor.meta (100%) rename Source/{XR-Interaction-Component/Source/Editor/SceneSetup.meta => XRInteraction/Source/Editor/Setup.meta} (100%) rename Source/{XR-Interaction-Component/Source/Editor/UI/ProjectSettings => XRInteraction/Source/Editor/Setup}/CreateDefaultInteractionLayers.cs (92%) rename Source/{XR-Interaction-Component/Source/Editor/UI/ProjectSettings => XRInteraction/Source/Editor/Setup}/CreateDefaultInteractionLayers.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Editor/SceneSetup => XRInteraction/Source/Editor/Setup}/XRSimulatorImporter.cs (97%) rename Source/{XR-Interaction-Component/Source/Editor/SceneSetup => XRInteraction/Source/Editor/Setup}/XRSimulatorImporter.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/Inspector.meta (100%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/InteractableHighlighterEditor.cs (93%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/InteractableHighlighterEditor.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/InteractableObjectEditor.cs (98%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/InteractableObjectEditor.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/Inspector/SnappablePropertyEditor.cs (98%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/Inspector/SnappablePropertyEditor.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/TeleportationAnchorVRBuilderEditor.cs (98%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/TeleportationAnchorVRBuilderEditor.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/TeleportationAreaVRBuilderEditor.cs (93%) rename Source/{XR-Interaction-Component/Source/Editor/Interaction => XRInteraction/Source/Editor/UI/Inspector}/TeleportationAreaVRBuilderEditor.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/Menu.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs (97%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/Menu/ConfigureInteractionLayersMenuEntry.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/ProjectSettings.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/ProjectSettings/SnapZoneSettingsSection.cs (77%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/UI/ProjectSettings/SnapZoneSettingsSection.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/VRBuilder.Editor.XRInteraction.asmdef (86%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Editor/VRBuilder.Editor.XRInteraction.asmdef.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime.meta (100%) create mode 100644 Source/XRInteraction/Source/Runtime/AssemblyAttributes.cs rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/AssemblyAttributes.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Configuration.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Configuration/XRInteractionComponentConfiguration.cs (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Configuration/XRInteractionComponentConfiguration.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Hands.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Hands/HandAnimatorController.cs (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Hands/HandAnimatorController.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/InteractableHighlighter.cs (98%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/InteractableHighlighter.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/InteractableObject.cs (98%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/InteractableObject.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/TeleportationAnchorProximityEntry.cs (93%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/TeleportationAnchorProximityEntry.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/TeleportationAnchorVRBuilder.cs (98%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/TeleportationAnchorVRBuilder.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/TeleportationAreaVRBuilder.cs (98%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactables/TeleportationAreaVRBuilder.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors/DirectInteractor.cs (97%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors/DirectInteractor.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors/SnapZone.cs (99%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors/SnapZone.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors/SnapZonePreviewDrawer.cs (93%) rename Source/{XR-Interaction-Component/Source/Runtime/Interaction => XRInteraction/Source/Runtime}/Interactors/SnapZonePreviewDrawer.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Locomotion.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Locomotion/RigManipulationProvider.cs (96%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Locomotion/RigManipulationProvider.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Locomotion/XRLocomotionHandler.cs (92%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Locomotion/XRLocomotionHandler.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/GrabbableProperty.cs (98%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/GrabbableProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/HighlightProperty.cs (97%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/HighlightProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/SnapZoneProperty.cs (99%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/SnapZoneProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/SnappableProperty.cs (99%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/SnappableProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/TeleportationProperty.cs (97%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/TeleportationProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/TouchableProperty.cs (99%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/TouchableProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/UsableProperty.cs (98%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Properties/UsableProperty.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRLegacySetup.cs (93%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRLegacySetup.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRSetup.cs (88%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRSetup.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRSetupBase.cs (81%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRSetupBase.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRSimulatorSetup.cs (92%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/Rigs/XRSimulatorSetup.cs.meta (100%) rename Source/{Core/Editor => XRInteraction/Source/Runtime}/Settings.meta (77%) rename Source/{XR-Interaction-Component/Source/Editor/UI/ProjectSettings => XRInteraction/Source/Runtime/Settings}/SnapZoneSettings.cs (98%) rename Source/{XR-Interaction-Component/Source/Editor/UI/ProjectSettings => XRInteraction/Source/Runtime/Settings}/SnapZoneSettings.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/User.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/User/InteractorLayerConfigurator.cs (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/User/InteractorLayerConfigurator.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/VRBuilder.XRInteraction.asmdef (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/VRBuilder.XRInteraction.asmdef.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/XRI.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs (99%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/XRI/ClimbTeleportDestinationIndicator.cs.meta (100%) create mode 100644 Source/XRInteraction/Source/Runtime/XRI/ComponentLocatorUtility.cs rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/XRI/ComponentLocatorUtility.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/XRI/NOTICE.md (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/Runtime/XRI/NOTICE.md.meta (100%) create mode 100644 Source/XRInteraction/Source/Runtime/XRI/StarterAssets.meta rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/ControllerAnimator.cs (98%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/ControllerAnimator.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/ControllerInputActionManager.cs (99%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/ControllerInputActionManager.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/DynamicMoveProvider.cs (99%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/DynamicMoveProvider.cs.meta (100%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/GazeInputManager.cs (98%) rename Source/{XR-Interaction-Component/Source/Runtime/XRI => XRInteraction/Source/Runtime/XRI/StarterAssets}/GazeInputManager.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/XRInteractionExtension.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/XRInteractionExtension/Editor.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/XRInteractionExtension/Editor/InteractionLayerUtils.cs (98%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/XRInteractionExtension/Editor/InteractionLayerUtils.cs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/XRInteractionExtension/Editor/Unity.XR.Interaction.Toolkit.Editor.asmref (100%) rename Source/{XR-Interaction-Component => XRInteraction}/Source/XRInteractionExtension/Editor/Unity.XR.Interaction.Toolkit.Editor.asmref.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/AffordanceThemes.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/AffordanceThemes/PokeSphereColorAffordanceTheme.asset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Filters.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Filters/AnyGazedAtTeleportAnchorFilter.asset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/HandAnimatorController.controller (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/HandAnimatorController.controller.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Index.mask (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Index.mask.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/OtherFingers.mask (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/OtherFingers.mask.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses/Grasp.anim (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses/Grasp.anim.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses/Idle.anim (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses/Idle.anim.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses/Point.anim (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Animation/Poses/Point.anim.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/LeftHand.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/LeftHand.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Materials.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Materials/AvatarMaterial.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Materials/AvatarMaterial.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Materials/HandsMaterial.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Materials/HandsMaterial.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Meshes.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Meshes/BigHandLeftGeo.fbx (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Meshes/BigHandLeftGeo.fbx.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Meshes/BigHandRightGeo.fbx (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Meshes/BigHandRightGeo.fbx.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/RightHand.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/RightHand.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Textures.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Textures/BigHandsTex_N.png (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Hands/Textures/BigHandsTex_N.png.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/Controller_Grey.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/Controller_Grey.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/Controller_White.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/Controller_White.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/FresnelHighlight.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/FresnelHighlight.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/SimpleTeleportHighlight.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/SimpleTeleportHighlight.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/Telport Anchor.mat (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Materials/Telport Anchor.mat.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/BlinkVisual.fbx (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/BlinkVisual.fbx.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/Pinch_Pointer_LOD0.fbx (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/Pinch_Pointer_LOD0.fbx.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/UniversalController.fbx (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/UniversalController.fbx.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/teleportHightlight.fbx (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Models/teleportHightlight.fbx.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Affordances.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Affordances/Highlight Interaction Affordance.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Affordances/Poke Point Affordances.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Controllers.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Controllers/XR Controller Left.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Controllers/XR Controller Right.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Direct Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Gaze Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Near-Far Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Poke Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Ray Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Left Teleport Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Right Near-Far Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Right Poke Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Interactors/Right Teleport Interactor.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportInteractionAffordancePrefab.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationAnchorProximityEntryPrefab.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Resources/Interactables/VRBuilderTeleportationSnapVolumePrefab.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport/Blocking Teleport Reticle.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport/Climb Teleport Arrow.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/Teleport/Directional Teleport Reticle.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/XRI Rig.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Prefabs/XRI Rig/XRI Rig.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Continuous Move.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Continuous Turn.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Dynamic Move.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Left Controller Input Action Manager 1.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Left Grab Move.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Right Controller Input Action Manager 1.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Right Grab Move.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder Snap Turn.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Presets/Input/XRI VR Builder XR UI Input Module.preset.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Resources.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Resources/VRB_XR_Setup.prefab (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Resources/VRB_XR_Setup.prefab.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Shaders.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Shaders/SimpleTeleportHighlight.shader (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Shaders/SimpleTeleportHighlight.shader.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Shaders/Unlit_Fresnel.shadergraph (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Shaders/Unlit_Fresnel.shadergraph.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Textures.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Textures/default anchor.png (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/Textures/default anchor.png.meta (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/XRI VR Builder Input Actions.inputactions (100%) rename Source/{XR-Interaction-Component => XRInteraction}/StaticAssets/XRI VR Builder Input Actions.inputactions.meta (100%) diff --git a/Demo/Editor/DemoSceneLoader.cs b/Demo/Editor/DemoSceneLoader.cs index c21a71ede..a8f41b01d 100644 --- a/Demo/Editor/DemoSceneLoader.cs +++ b/Demo/Editor/DemoSceneLoader.cs @@ -4,7 +4,7 @@ using UnityEditor.SceneManagement; using UnityEngine; -namespace VRBuilder.Editor.DemoScene +namespace VRBuilder.Demo.Editor { /// /// Menu item for loading the demo scene after checking the process file is in the StreamingAssets folder. diff --git a/Demo/Editor/VRBuilder.Editor.DemoScene.asmdef b/Demo/Editor/VRBuilder.Editor.Demo.asmdef similarity index 92% rename from Demo/Editor/VRBuilder.Editor.DemoScene.asmdef rename to Demo/Editor/VRBuilder.Editor.Demo.asmdef index 41819fa8f..7cd41d084 100644 --- a/Demo/Editor/VRBuilder.Editor.DemoScene.asmdef +++ b/Demo/Editor/VRBuilder.Editor.Demo.asmdef @@ -1,5 +1,5 @@ { - "name": "VRBuilder.Editor.DemoScene", + "name": "VRBuilder.Core.Editor.Demo", "rootNamespace": "", "references": [ "VRBuilder.Core" diff --git a/Demo/Editor/VRBuilder.Editor.DemoScene.asmdef.meta b/Demo/Editor/VRBuilder.Editor.Demo.asmdef.meta similarity index 100% rename from Demo/Editor/VRBuilder.Editor.DemoScene.asmdef.meta rename to Demo/Editor/VRBuilder.Editor.Demo.asmdef.meta diff --git a/Demo/Runtime/Scripts/TouchPanel.cs b/Demo/Runtime/TouchPanel.cs similarity index 100% rename from Demo/Runtime/Scripts/TouchPanel.cs rename to Demo/Runtime/TouchPanel.cs diff --git a/Demo/Runtime/Scripts/TouchPanel.cs.meta b/Demo/Runtime/TouchPanel.cs.meta similarity index 100% rename from Demo/Runtime/Scripts/TouchPanel.cs.meta rename to Demo/Runtime/TouchPanel.cs.meta diff --git a/Demo/Runtime/Scripts/VRBuilder.DemoScene.asmdef b/Demo/Runtime/VRBuilder.Demo.asmdef similarity index 93% rename from Demo/Runtime/Scripts/VRBuilder.DemoScene.asmdef rename to Demo/Runtime/VRBuilder.Demo.asmdef index 6c8f15824..de3732eb6 100644 --- a/Demo/Runtime/Scripts/VRBuilder.DemoScene.asmdef +++ b/Demo/Runtime/VRBuilder.Demo.asmdef @@ -1,5 +1,5 @@ { - "name": "VRBuilder.DemoScene", + "name": "VRBuilder.Demo", "rootNamespace": "", "references": [ "VRBuilder.XRInteraction", diff --git a/Demo/Runtime/Scripts/VRBuilder.DemoScene.asmdef.meta b/Demo/Runtime/VRBuilder.Demo.asmdef.meta similarity index 100% rename from Demo/Runtime/Scripts/VRBuilder.DemoScene.asmdef.meta rename to Demo/Runtime/VRBuilder.Demo.asmdef.meta diff --git a/Demo/Runtime/Scenes.meta b/Demo/Scenes.meta similarity index 100% rename from Demo/Runtime/Scenes.meta rename to Demo/Scenes.meta diff --git a/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity b/Demo/Scenes/VR Builder Demo - Core Features.unity similarity index 100% rename from Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity rename to Demo/Scenes/VR Builder Demo - Core Features.unity diff --git a/Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity.meta b/Demo/Scenes/VR Builder Demo - Core Features.unity.meta similarity index 100% rename from Demo/Runtime/Scenes/VR Builder Demo - Core Features.unity.meta rename to Demo/Scenes/VR Builder Demo - Core Features.unity.meta diff --git a/Demo/Runtime/Scenes/WARNING - Don't open the demo scene from here!.txt b/Demo/Scenes/WARNING - Don't open the demo scene from here!.txt similarity index 100% rename from Demo/Runtime/Scenes/WARNING - Don't open the demo scene from here!.txt rename to Demo/Scenes/WARNING - Don't open the demo scene from here!.txt diff --git a/Demo/Runtime/Scenes/WARNING - Don't open the demo scene from here!.txt.meta b/Demo/Scenes/WARNING - Don't open the demo scene from here!.txt.meta similarity index 100% rename from Demo/Runtime/Scenes/WARNING - Don't open the demo scene from here!.txt.meta rename to Demo/Scenes/WARNING - Don't open the demo scene from here!.txt.meta diff --git a/Demo/Runtime/StaticAssets.meta b/Demo/StaticAssets.meta similarity index 100% rename from Demo/Runtime/StaticAssets.meta rename to Demo/StaticAssets.meta diff --git a/Demo/Runtime/StaticAssets/Materials.meta b/Demo/StaticAssets/Materials.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials.meta rename to Demo/StaticAssets/Materials.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Ball.physicMaterial b/Demo/StaticAssets/Materials/Ball.physicMaterial similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Ball.physicMaterial rename to Demo/StaticAssets/Materials/Ball.physicMaterial diff --git a/Demo/Runtime/StaticAssets/Materials/Ball.physicMaterial.meta b/Demo/StaticAssets/Materials/Ball.physicMaterial.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Ball.physicMaterial.meta rename to Demo/StaticAssets/Materials/Ball.physicMaterial.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Conveyor.mat b/Demo/StaticAssets/Materials/Conveyor.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Conveyor.mat rename to Demo/StaticAssets/Materials/Conveyor.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Conveyor.mat.meta b/Demo/StaticAssets/Materials/Conveyor.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Conveyor.mat.meta rename to Demo/StaticAssets/Materials/Conveyor.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Interactable.mat b/Demo/StaticAssets/Materials/Interactable.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Interactable.mat rename to Demo/StaticAssets/Materials/Interactable.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Interactable.mat.meta b/Demo/StaticAssets/Materials/Interactable.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Interactable.mat.meta rename to Demo/StaticAssets/Materials/Interactable.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat b/Demo/StaticAssets/Materials/InteractableTrim.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat rename to Demo/StaticAssets/Materials/InteractableTrim.mat diff --git a/Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat.meta b/Demo/StaticAssets/Materials/InteractableTrim.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/InteractableTrim.mat.meta rename to Demo/StaticAssets/Materials/InteractableTrim.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Light.mat b/Demo/StaticAssets/Materials/Light.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Light.mat rename to Demo/StaticAssets/Materials/Light.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Light.mat.meta b/Demo/StaticAssets/Materials/Light.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Light.mat.meta rename to Demo/StaticAssets/Materials/Light.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/LightSaber.mat b/Demo/StaticAssets/Materials/LightSaber.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/LightSaber.mat rename to Demo/StaticAssets/Materials/LightSaber.mat diff --git a/Demo/Runtime/StaticAssets/Materials/LightSaber.mat.meta b/Demo/StaticAssets/Materials/LightSaber.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/LightSaber.mat.meta rename to Demo/StaticAssets/Materials/LightSaber.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/MagicLight.mat b/Demo/StaticAssets/Materials/MagicLight.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/MagicLight.mat rename to Demo/StaticAssets/Materials/MagicLight.mat diff --git a/Demo/Runtime/StaticAssets/Materials/MagicLight.mat.meta b/Demo/StaticAssets/Materials/MagicLight.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/MagicLight.mat.meta rename to Demo/StaticAssets/Materials/MagicLight.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Panel.mat b/Demo/StaticAssets/Materials/Panel.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Panel.mat rename to Demo/StaticAssets/Materials/Panel.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Panel.mat.meta b/Demo/StaticAssets/Materials/Panel.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Panel.mat.meta rename to Demo/StaticAssets/Materials/Panel.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Platform.mat b/Demo/StaticAssets/Materials/Platform.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Platform.mat rename to Demo/StaticAssets/Materials/Platform.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Platform.mat.meta b/Demo/StaticAssets/Materials/Platform.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Platform.mat.meta rename to Demo/StaticAssets/Materials/Platform.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat b/Demo/StaticAssets/Materials/PlatformEmissive.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat rename to Demo/StaticAssets/Materials/PlatformEmissive.mat diff --git a/Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat.meta b/Demo/StaticAssets/Materials/PlatformEmissive.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/PlatformEmissive.mat.meta rename to Demo/StaticAssets/Materials/PlatformEmissive.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Shaft.mat b/Demo/StaticAssets/Materials/Shaft.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Shaft.mat rename to Demo/StaticAssets/Materials/Shaft.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Shaft.mat.meta b/Demo/StaticAssets/Materials/Shaft.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Shaft.mat.meta rename to Demo/StaticAssets/Materials/Shaft.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Shield.mat b/Demo/StaticAssets/Materials/Shield.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Shield.mat rename to Demo/StaticAssets/Materials/Shield.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Shield.mat.meta b/Demo/StaticAssets/Materials/Shield.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Shield.mat.meta rename to Demo/StaticAssets/Materials/Shield.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Skybox.mat b/Demo/StaticAssets/Materials/Skybox.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Skybox.mat rename to Demo/StaticAssets/Materials/Skybox.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Skybox.mat.meta b/Demo/StaticAssets/Materials/Skybox.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Skybox.mat.meta rename to Demo/StaticAssets/Materials/Skybox.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Station.mat b/Demo/StaticAssets/Materials/Station.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Station.mat rename to Demo/StaticAssets/Materials/Station.mat diff --git a/Demo/Runtime/StaticAssets/Materials/Station.mat.meta b/Demo/StaticAssets/Materials/Station.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Station.mat.meta rename to Demo/StaticAssets/Materials/Station.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/StationEmissive.mat b/Demo/StaticAssets/Materials/StationEmissive.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/StationEmissive.mat rename to Demo/StaticAssets/Materials/StationEmissive.mat diff --git a/Demo/Runtime/StaticAssets/Materials/StationEmissive.mat.meta b/Demo/StaticAssets/Materials/StationEmissive.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/StationEmissive.mat.meta rename to Demo/StaticAssets/Materials/StationEmissive.mat.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures.meta b/Demo/StaticAssets/Materials/Textures.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures.meta rename to Demo/StaticAssets/Materials/Textures.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_back.png b/Demo/StaticAssets/Materials/Textures/purple-nebula_back.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_back.png rename to Demo/StaticAssets/Materials/Textures/purple-nebula_back.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_back.png.meta b/Demo/StaticAssets/Materials/Textures/purple-nebula_back.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_back.png.meta rename to Demo/StaticAssets/Materials/Textures/purple-nebula_back.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_down.png b/Demo/StaticAssets/Materials/Textures/purple-nebula_down.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_down.png rename to Demo/StaticAssets/Materials/Textures/purple-nebula_down.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_down.png.meta b/Demo/StaticAssets/Materials/Textures/purple-nebula_down.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_down.png.meta rename to Demo/StaticAssets/Materials/Textures/purple-nebula_down.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_front.png b/Demo/StaticAssets/Materials/Textures/purple-nebula_front.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_front.png rename to Demo/StaticAssets/Materials/Textures/purple-nebula_front.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_front.png.meta b/Demo/StaticAssets/Materials/Textures/purple-nebula_front.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_front.png.meta rename to Demo/StaticAssets/Materials/Textures/purple-nebula_front.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_left.png b/Demo/StaticAssets/Materials/Textures/purple-nebula_left.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_left.png rename to Demo/StaticAssets/Materials/Textures/purple-nebula_left.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_left.png.meta b/Demo/StaticAssets/Materials/Textures/purple-nebula_left.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_left.png.meta rename to Demo/StaticAssets/Materials/Textures/purple-nebula_left.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_right.png b/Demo/StaticAssets/Materials/Textures/purple-nebula_right.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_right.png rename to Demo/StaticAssets/Materials/Textures/purple-nebula_right.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_right.png.meta b/Demo/StaticAssets/Materials/Textures/purple-nebula_right.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_right.png.meta rename to Demo/StaticAssets/Materials/Textures/purple-nebula_right.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_up.png b/Demo/StaticAssets/Materials/Textures/purple-nebula_up.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_up.png rename to Demo/StaticAssets/Materials/Textures/purple-nebula_up.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_up.png.meta b/Demo/StaticAssets/Materials/Textures/purple-nebula_up.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/purple-nebula_up.png.meta rename to Demo/StaticAssets/Materials/Textures/purple-nebula_up.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/review.png b/Demo/StaticAssets/Materials/Textures/review.png similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/review.png rename to Demo/StaticAssets/Materials/Textures/review.png diff --git a/Demo/Runtime/StaticAssets/Materials/Textures/review.png.meta b/Demo/StaticAssets/Materials/Textures/review.png.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/Textures/review.png.meta rename to Demo/StaticAssets/Materials/Textures/review.png.meta diff --git a/Demo/Runtime/StaticAssets/Materials/TouchPanel.mat b/Demo/StaticAssets/Materials/TouchPanel.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/TouchPanel.mat rename to Demo/StaticAssets/Materials/TouchPanel.mat diff --git a/Demo/Runtime/StaticAssets/Materials/TouchPanel.mat.meta b/Demo/StaticAssets/Materials/TouchPanel.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Materials/TouchPanel.mat.meta rename to Demo/StaticAssets/Materials/TouchPanel.mat.meta diff --git a/Demo/Runtime/StaticAssets/Meshes.meta b/Demo/StaticAssets/Meshes.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes.meta rename to Demo/StaticAssets/Meshes.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Ball.fbx b/Demo/StaticAssets/Meshes/Ball.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Ball.fbx rename to Demo/StaticAssets/Meshes/Ball.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Ball.fbx.meta b/Demo/StaticAssets/Meshes/Ball.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Ball.fbx.meta rename to Demo/StaticAssets/Meshes/Ball.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-L.fbx b/Demo/StaticAssets/Meshes/MagicCube-Split-L.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-L.fbx rename to Demo/StaticAssets/Meshes/MagicCube-Split-L.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-L.fbx.meta b/Demo/StaticAssets/Meshes/MagicCube-Split-L.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-L.fbx.meta rename to Demo/StaticAssets/Meshes/MagicCube-Split-L.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-R.fbx b/Demo/StaticAssets/Meshes/MagicCube-Split-R.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-R.fbx rename to Demo/StaticAssets/Meshes/MagicCube-Split-R.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-R.fbx.meta b/Demo/StaticAssets/Meshes/MagicCube-Split-R.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicCube-Split-R.fbx.meta rename to Demo/StaticAssets/Meshes/MagicCube-Split-R.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicCube.fbx b/Demo/StaticAssets/Meshes/MagicCube.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicCube.fbx rename to Demo/StaticAssets/Meshes/MagicCube.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicCube.fbx.meta b/Demo/StaticAssets/Meshes/MagicCube.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicCube.fbx.meta rename to Demo/StaticAssets/Meshes/MagicCube.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicSphere.fbx b/Demo/StaticAssets/Meshes/MagicSphere.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicSphere.fbx rename to Demo/StaticAssets/Meshes/MagicSphere.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/MagicSphere.fbx.meta b/Demo/StaticAssets/Meshes/MagicSphere.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/MagicSphere.fbx.meta rename to Demo/StaticAssets/Meshes/MagicSphere.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Pedestal.fbx b/Demo/StaticAssets/Meshes/Pedestal.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Pedestal.fbx rename to Demo/StaticAssets/Meshes/Pedestal.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Pedestal.fbx.meta b/Demo/StaticAssets/Meshes/Pedestal.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Pedestal.fbx.meta rename to Demo/StaticAssets/Meshes/Pedestal.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Platform.fbx b/Demo/StaticAssets/Meshes/Platform.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Platform.fbx rename to Demo/StaticAssets/Meshes/Platform.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Platform.fbx.meta b/Demo/StaticAssets/Meshes/Platform.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Platform.fbx.meta rename to Demo/StaticAssets/Meshes/Platform.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Podium.fbx b/Demo/StaticAssets/Meshes/Podium.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Podium.fbx rename to Demo/StaticAssets/Meshes/Podium.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Podium.fbx.meta b/Demo/StaticAssets/Meshes/Podium.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Podium.fbx.meta rename to Demo/StaticAssets/Meshes/Podium.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/PodiumTeleportArea.fbx b/Demo/StaticAssets/Meshes/PodiumTeleportArea.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/PodiumTeleportArea.fbx rename to Demo/StaticAssets/Meshes/PodiumTeleportArea.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/PodiumTeleportArea.fbx.meta b/Demo/StaticAssets/Meshes/PodiumTeleportArea.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/PodiumTeleportArea.fbx.meta rename to Demo/StaticAssets/Meshes/PodiumTeleportArea.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/ReviewPanel.fbx b/Demo/StaticAssets/Meshes/ReviewPanel.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/ReviewPanel.fbx rename to Demo/StaticAssets/Meshes/ReviewPanel.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/ReviewPanel.fbx.meta b/Demo/StaticAssets/Meshes/ReviewPanel.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/ReviewPanel.fbx.meta rename to Demo/StaticAssets/Meshes/ReviewPanel.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Shield.fbx b/Demo/StaticAssets/Meshes/Shield.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Shield.fbx rename to Demo/StaticAssets/Meshes/Shield.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Shield.fbx.meta b/Demo/StaticAssets/Meshes/Shield.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Shield.fbx.meta rename to Demo/StaticAssets/Meshes/Shield.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Table.fbx b/Demo/StaticAssets/Meshes/Table.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Table.fbx rename to Demo/StaticAssets/Meshes/Table.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Table.fbx.meta b/Demo/StaticAssets/Meshes/Table.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Table.fbx.meta rename to Demo/StaticAssets/Meshes/Table.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Target.fbx b/Demo/StaticAssets/Meshes/Target.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Target.fbx rename to Demo/StaticAssets/Meshes/Target.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Target.fbx.meta b/Demo/StaticAssets/Meshes/Target.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Target.fbx.meta rename to Demo/StaticAssets/Meshes/Target.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/TeleportArea.fbx b/Demo/StaticAssets/Meshes/TeleportArea.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/TeleportArea.fbx rename to Demo/StaticAssets/Meshes/TeleportArea.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/TeleportArea.fbx.meta b/Demo/StaticAssets/Meshes/TeleportArea.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/TeleportArea.fbx.meta rename to Demo/StaticAssets/Meshes/TeleportArea.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/TouchPanel.fbx b/Demo/StaticAssets/Meshes/TouchPanel.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/TouchPanel.fbx rename to Demo/StaticAssets/Meshes/TouchPanel.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/TouchPanel.fbx.meta b/Demo/StaticAssets/Meshes/TouchPanel.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/TouchPanel.fbx.meta rename to Demo/StaticAssets/Meshes/TouchPanel.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Meshes/Transformer.fbx b/Demo/StaticAssets/Meshes/Transformer.fbx similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Transformer.fbx rename to Demo/StaticAssets/Meshes/Transformer.fbx diff --git a/Demo/Runtime/StaticAssets/Meshes/Transformer.fbx.meta b/Demo/StaticAssets/Meshes/Transformer.fbx.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Meshes/Transformer.fbx.meta rename to Demo/StaticAssets/Meshes/Transformer.fbx.meta diff --git a/Demo/Runtime/StaticAssets/Prefabs.meta b/Demo/StaticAssets/Prefabs.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Prefabs.meta rename to Demo/StaticAssets/Prefabs.meta diff --git a/Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab b/Demo/StaticAssets/Prefabs/Laser Sword.prefab similarity index 100% rename from Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab rename to Demo/StaticAssets/Prefabs/Laser Sword.prefab diff --git a/Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab.meta b/Demo/StaticAssets/Prefabs/Laser Sword.prefab.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Prefabs/Laser Sword.prefab.meta rename to Demo/StaticAssets/Prefabs/Laser Sword.prefab.meta diff --git a/Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat b/Demo/StaticAssets/Prefabs/Magic Cube.mat similarity index 100% rename from Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat rename to Demo/StaticAssets/Prefabs/Magic Cube.mat diff --git a/Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat.meta b/Demo/StaticAssets/Prefabs/Magic Cube.mat.meta similarity index 100% rename from Demo/Runtime/StaticAssets/Prefabs/Magic Cube.mat.meta rename to Demo/StaticAssets/Prefabs/Magic Cube.mat.meta diff --git a/Source/Basic-Conditions-And-Behaviors.meta b/Source/Basic-Conditions-And-Behaviors.meta deleted file mode 100644 index f27ff9690..000000000 --- a/Source/Basic-Conditions-And-Behaviors.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d3b40b0ff0d826541b7cbf3690b75b46 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/.azure-pipelines.yml b/Source/Basic-Conditions-And-Behaviors/.azure-pipelines.yml deleted file mode 100644 index 9b4617a61..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.azure-pipelines.yml +++ /dev/null @@ -1,196 +0,0 @@ -# Starter pipeline -# Start with a minimal pipeline that you can customize to build and deploy your code. -# Add steps that build, run tests, deploy, and more: -# https://aka.ms/yaml - -resources: - repositories: - - repository: Creator - type: github - endpoint: Innoactive - name: Innoactive/Creator - ref: develop - - repository: UnityProject - type: github - endpoint: Innoactive - name: Innoactive/Empty-Unity-Project-2019 - ref: develop - -trigger: - - master - - develop -pr: - branches: - include: - - develop - -pool: Unity - -variables: - - group: basic-unity -stages: - - stage: Lint - displayName: Lint - jobs: - - job: CommitMessageCheck - displayName: Commit Message Check - steps: - - script: npm install @commitlint/cli commitlint-azure-pipelines-cli @commitlint/config-conventional - - script: > - npx - -p @commitlint/cli - -p commitlint-azure-pipelines-cli - -p @commitlint/config-conventional - commitlint-azure-pipelines --config .commitlintrc.json - - - stage: Build - displayName: 'Build & Test' - condition: succeeded() - jobs: - - job: build - workspace: - clean: all - steps: - - checkout: UnityProject - lfs: true - - checkout: Creator - lfs: true - - checkout: self - lfs: true - - - task: UseNode@1 - - - task: PowerShell@2 - displayName: "Run Semantic release" - condition: eq(variables['Build.SourceBranchName'], 'master') - inputs: - targetType: 'inline' - script: | - npx -p semantic-release-ado semantic-release - workingDirectory: "Basic-Conditions-And-Behaviors/" - env: - GH_TOKEN: "$(GITHUB_TOKEN)" - - - task: PowerShell@2 - displayName: Fetch version from git - condition: ne(variables['Build.SourceBranchName'], 'master') - inputs: - targetType: 'inline' - script: | - $TAG = (git tag -l "v*" --sort=committerdate | Select -last 1) - if(!$TAG) { $TAG = "v0.0.0" } - $TAG = $TAG.TrimStart("v") + "-" + (git log -1 --pretty=format:%h) - Write-Host "##vso[task.setvariable variable=Version]$TAG" - workingDirectory: "Basic-Conditions-And-Behaviors/" - - - task: PowerShell@2 - displayName: Publish variables - inputs: - targetType: 'inline' - script: | - echo "##vso[task.setvariable variable=Version;isOutput=true]v$(Version)" - name: ExportedVariables - - - task: CopyFiles@2 - inputs: - SourceFolder: "Empty-Unity-Project-2019/" - Contents: "**" - TargetFolder: "$(Path.Project)" - displayName: Copy base Project - - - task: CopyFiles@2 - inputs: - SourceFolder: "Creator/" - Contents: "**" - TargetFolder: "$(Path.Creator)/Core" - displayName: Copy Creator Core - - - task: CopyFiles@2 - inputs: - SourceFolder: "Basic-Conditions-And-Behaviors/" - Contents: "**" - TargetFolder: "$(Path.Creator)/Components/Basic-Conditions-And-Behaviors" - displayName: Copy Basic Conditions and Behaviors - - - task: DeleteFiles@1 - inputs: - Contents: "!(Project)" - displayName: Clean Up - - - task: PowerShell@2 - displayName: Build Project - inputs: - targetType: 'inline' - script: | - u3d available -f - u3d install $(UnityVersion) - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor-build.log -nographics -quit -batchmode -buildWindows64Player Build\\TestBuild\\TestBuild.exe - - - task: PowerShell@2 - displayName: Run Tests - inputs: - targetType: 'inline' - script: | - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_editmode_tests.log -batchmode -runTests -testPlatform editmode -testResults $(System.DefaultWorkingDirectory)\TEST-EditMode.xml - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_playmode_tests.log -batchmode -runTests -testPlatform playmode -testResults $(System.DefaultWorkingDirectory)\TEST-PlayMode.xml - - - task: PublishTestResults@2 - inputs: - testResultsFormat: "NUnit" - testResultsFiles: "TEST-*.xml" - - - task: PowerShell@2 - displayName: Export Unity package - inputs: - targetType: 'inline' - script: | - echo 'Exporting version $(Version)' - ((Get-Content -path $(Path.ExportConfig)/$(ExportConfigName) -Raw) -replace '{version}','v$(Version)') | Set-Content -Path $(Path.Project)/export-config.json - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_export.log -batchmode -quit -executeMethod Innoactive.CreatorEditor.PackageExporter.Export --export-config export-config.json - Start-Sleep -s 5 - - - task: PublishPipelineArtifact@1 - displayName: "Publish Unity Package" - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/packages/" - artifact: "creator-basic-condition-behaviors-unitypackage" - publishLocation: "pipeline" - - - task: PublishPipelineArtifact@1 - displayName: "Publish Logs" - condition: always() - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/logs/" - artifact: "creator-basic-condition-behaviors-logs-$(System.JobId)" - publishLocation: "pipeline" - - - stage: Release - displayName: Release - dependsOn: - - Lint - - Build - condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master')) - jobs: - - job: - workspace: - clean: all - variables: - Version: $[stageDependencies.Build.build.outputs['ExportedVariables.Version']] - steps: - - task: DownloadPipelineArtifact@2 - displayName: 'Download exported package' - inputs: - buildType: 'current' - artifactName: 'creator-basic-condition-behaviors-unitypackage' - targetPath: '$(Build.ArtifactStagingDirectory)/packages/' - - - task: GitHubRelease@1 - inputs: - gitHubConnection: 'Github.com - Jenkins / CI User' - repositoryName: 'Innoactive/Basic-Conditions-And-Behaviors' - action: 'edit' - target: '$(Build.SourceVersion)' - tag: '$(Version)' - assetUploadMode: "replace" - assets: "$(Build.ArtifactStagingDirectory)/packages/*" - addChangeLog: false diff --git a/Source/Basic-Conditions-And-Behaviors/.commitlintrc.json b/Source/Basic-Conditions-And-Behaviors/.commitlintrc.json deleted file mode 100644 index 14473e999..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.commitlintrc.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": ["@commitlint/config-conventional"] } \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/.gitattributes b/Source/Basic-Conditions-And-Behaviors/.gitattributes deleted file mode 100644 index f02d6ffc6..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.gitattributes +++ /dev/null @@ -1,129 +0,0 @@ -# Kindly borrowed (and extended) -# from https://gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f - -# Set the default behavior, in case people don't have core.autocrlf set. -* text=auto - -## Unity ## - -*.cs diff=csharp text -*.cginc text -*.shader text - -# linguist-generated leads to diffs not being shown on github -# see https://github.com/github/linguist#generated-code and -# https://stackoverflow.com/a/24382933/1142028 -*.mat binary merge=unityyamlmerge linguist-generated=true -*.anim binary merge=unityyamlmerge linguist-generated=true -*.unity binary merge=unityyamlmerge linguist-generated=true -*.prefab binary merge=unityyamlmerge linguist-generated=true -*.physicsMaterial2D binary merge=unityyamlmerge linguist-generated=true -*.physicsMaterial binary merge=unityyamlmerge linguist-generated=true -#*.asset binary merge=unityyamlmerge linguist-generated=true -*.meta binary merge=unityyamlmerge linguist-generated=true -*.controller binary merge=unityyamlmerge linguist-generated=true - -## git-lfs ## - -# Graphics -*.jpg filter=lfs diff=lfs merge=lfs -text -*.JPG filter=lfs diff=lfs merge=lfs -text -*.jpeg filter=lfs diff=lfs merge=lfs -text -*.JPEG filter=lfs diff=lfs merge=lfs -text -*.png filter=lfs diff=lfs merge=lfs -text -*.PNG filter=lfs diff=lfs merge=lfs -text -*.psd filter=lfs diff=lfs merge=lfs -text -*.PSD filter=lfs diff=lfs merge=lfs -text -*.ai filter=lfs diff=lfs merge=lfs -text -*.AI filter=lfs diff=lfs merge=lfs -text -*.bmp filter=lfs diff=lfs merge=lfs -text -*.BMP filter=lfs diff=lfs merge=lfs -text -*.gif filter=lfs diff=lfs merge=lfs -text -*.GIF filter=lfs diff=lfs merge=lfs -text -*.img filter=lfs diff=lfs merge=lfs -text -*.IMG filter=lfs diff=lfs merge=lfs -text -*.tif filter=lfs diff=lfs merge=lfs -text -*.TIF filter=lfs diff=lfs merge=lfs -text -*.xcf filter=lfs diff=lfs merge=lfs -text -*.XCV filter=lfs diff=lfs merge=lfs -text -*.tga filter=lfs diff=lfs merge=lfs -text -*.TGA filter=lfs diff=lfs merge=lfs -text - -# Videos -*.mpg filter=lfs diff=lfs merge=lfs -text -*.MPG filter=lfs diff=lfs merge=lfs -text -*.mpeg filter=lfs diff=lfs merge=lfs -text -*.MPEG filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text -*.MP4 filter=lfs diff=lfs merge=lfs -text -*.avi filter=lfs diff=lfs merge=lfs -text -*.AVI filter=lfs diff=lfs merge=lfs -text -*.asf filter=lfs diff=lfs merge=lfs -text -*.ASF filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text -*.MP4 filter=lfs diff=lfs merge=lfs -text -*.mov filter=lfs diff=lfs merge=lfs -text -*.MOV filter=lfs diff=lfs merge=lfs -text - -# Audio -*.mp3 filter=lfs diff=lfs merge=lfs -text -*.MP3 filter=lfs diff=lfs merge=lfs -text -*.ogg filter=lfs diff=lfs merge=lfs -text -*.OGG filter=lfs diff=lfs merge=lfs -text -*.wav filter=lfs diff=lfs merge=lfs -text -*.WAV filter=lfs diff=lfs merge=lfs -text - -# Models -*.obj filter=lfs diff=lfs merge=lfs -text -*.OBJ filter=lfs diff=lfs merge=lfs -text -*.fbx filter=lfs diff=lfs merge=lfs -text -*.FBX filter=lfs diff=lfs merge=lfs -text -*.ply filter=lfs diff=lfs merge=lfs -text -*.PLY filter=lfs diff=lfs merge=lfs -text -*.raw filter=lfs diff=lfs merge=lfs -text -*.RAW filter=lfs diff=lfs merge=lfs -text -*.blend filter=lfs diff=lfs merge=lfs -text -*.BLEND filter=lfs diff=lfs merge=lfs -text -*.3ds filter=lfs diff=lfs merge=lfs -text -*.3DS filter=lfs diff=lfs merge=lfs -text -*.stl filter=lfs diff=lfs merge=lfs -text -*.STL filter=lfs diff=lfs merge=lfs -text -*.pmd filter=lfs diff=lfs merge=lfs -text -*.PMD filter=lfs diff=lfs merge=lfs -text -*.mesh filter=lfs diff=lfs merge=lfs -text -*.MESH filter=lfs diff=lfs merge=lfs -text - -# Libs -*.dll filter=lfs diff=lfs merge=lfs -text -*.DLL filter=lfs diff=lfs merge=lfs -text -*.a filter=lfs diff=lfs merge=lfs -text -*.A filter=lfs diff=lfs merge=lfs -text -*.so filter=lfs diff=lfs merge=lfs -text -*.SO filter=lfs diff=lfs merge=lfs -text -*.lib filter=lfs diff=lfs merge=lfs -text -*.LIB filter=lfs diff=lfs merge=lfs -text -*.jar filter=lfs diff=lfs merge=lfs -text -*.JAR filter=lfs diff=lfs merge=lfs -text - -# Unity Light Build -*.exr filter=lfs diff=lfs merge=lfs -text -*.EXR filter=lfs diff=lfs merge=lfs -text -LightingData.asset filter=lfs diff=lfs merge=lfs -text - -# Others -*.pdf filter=lfs diff=lfs merge=lfs -text -*.PDF filter=lfs diff=lfs merge=lfs -text -*.r16 filter=lfs diff=lfs merge=lfs -text -*.R16 filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text -*.unitypackage filter=lfs diff=lfs merge=lfs -text -*.aif filter=lfs diff=lfs merge=lfs -text -*.ttf filter=lfs diff=lfs merge=lfs -text -*.TTF filter=lfs diff=lfs merge=lfs -text -*.rns filter=lfs diff=lfs merge=lfs -text -*.reason filter=lfs diff=lfs merge=lfs -text -*.lxo filter=lfs diff=lfs merge=lfs -text - -# 3D Modelling tools -*.sbs filter=lfs diff=lfs merge=lfs -text -*.max filter=lfs diff=lfs merge=lfs -text diff --git a/Source/Basic-Conditions-And-Behaviors/.github/CODE_OF_CONDUCT.md b/Source/Basic-Conditions-And-Behaviors/.github/CODE_OF_CONDUCT.md deleted file mode 100644 index 9716a0ad6..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.github/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,85 +0,0 @@ -# Contributor Code of Conduct - -**Table of Contents:** - -* [Summary](#summary) -* [Our Standards](#our-standards) -* [Our Responsibilities](#our-responsibilities) -* [Scope](#scope) -* [Enforcement](#enforcement) -* [Attribution](#attribution) - -**Version**: 1.0.0 - -## Summary - -In order to keep the Open Source Innoactive community a warm, welcoming, and a safe place we ask that all participants read and adhere to the following code of conduct. - -* **Be friendly and patient:** Remember you might not be communicating in someone else's primary spoken or programming language, and others may not have your level of understanding. - -* **Be welcoming and inclusive:** Our communities welcome and support people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. - -* **Be considerate:** Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. - -* **Be respectful:** We are a world-wide community of professionals, and we conduct ourselves professionally. Disagreement is no excuse for poor behavior and poor manners. Disrespectful and unacceptable behavior includes, but is not limited to: - * Violent threats or language. - * Discriminatory or derogatory jokes and language. - * Posting sexually explicit or violent material. - * Posting, or threatening to post, people's personally identifying information ("doxing"). - * Insults, especially those using discriminatory terms or slurs. - * Behavior that could be perceived as sexual attention. - * Advocating for or encouraging any of the above behaviors. - -* **Understand disagreements:** Disagreements, both social and technical, are useful learning opportunities. Seek to understand the other viewpoints and resolve differences constructively. - -* **This code is not exhaustive or complete.** It serves to capture our common understanding of a productive, collaborative environment. We expect the code to be followed in spirit as much as in the letter. - -We expect all contributors to uphold our standards of conduct. If any member of the community violates this code of conduct, the Innoactive team and project maintainers will take action. We reserve the right to remove issues, comments, and PRs that do not comply with our conduct standards. Repeated or significant offenses will result in blocked accounts and disassociation with our projects and the Innoactive community. - -If you are subject to or witness unacceptable behavior, or have any other concerns, please communicate with any of our [maintainers](CONTRIBUTING.md#maintainers). - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling -* Insults or other derogatory comments -* Personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, discussions in a public or private Innoactive channel, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise, unacceptable behavior may be reported by contacting any of our [maintainers](CONTRIBUTING.md#maintainers). - -All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. We are obligated to maintain confidentiality concerning the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This code of conduct is based on the template established by the [TODO Group](https://todogroup.org/) and used by numerous other large communities (e.g., Microsoft, Facebook, Twitter, GitHub and the Scope section from the [Contributor Covenant](https://www.contributor-covenant.org), [version 1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html). - -For answers to common questions about this code of conduct, see [Contributor Covenant's F.A.Q.](https://www.contributor-covenant.org/faq). diff --git a/Source/Basic-Conditions-And-Behaviors/.github/CODING_CONVENTIONS.md b/Source/Basic-Conditions-And-Behaviors/.github/CODING_CONVENTIONS.md deleted file mode 100644 index 8846c9f95..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.github/CODING_CONVENTIONS.md +++ /dev/null @@ -1,509 +0,0 @@ -# Coding Conventions - -Unless otherwise specified, the Innoactive projects adhere to the MSDN C# [Coding Conventions](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions) and [Design Guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/). -In the following, the most important guidelines and custom decisions are listed. - -## Language -* Code, documentation, and comments are to be written in English. - -## Naming Conventions - -### Name -* Use meaningful but concise names. -* Do not use special characters in any names. -* Do not use abbreviations. - -```cs -public class RuntimeStatistics -{ - // very bad: - private int n; - // bad: - private int numFrms; - private int frameCnt; - // good: - private int numberOfFrames; - private int frameCount; - // too verbose: - private int numberOfElapsedFramesSinceApplicationStart; -} -``` - -* Keep the most specific descriptor left, e.g. pauseButton not buttonPause. -* Boolean variables and Properties should start with Is or Has, e.g. isActive. - -### Formatting -* Classes, properties, and public fields are written in PascalCase. -* Private fields are written in camelCase. -* Static and const fields (public, protected, or private) are formatted like non-const/static fields. - -```cs -public class MyClass -{ - public float MyProperty { get; private set; } - public bool MyPublicVariable; - private string myPrivateVariable; - public static string MyStaticVariable = "someValue"; - protected const string MyConstVariable = "someOtherValue"; - private const string myPrivateConstVariable = "yetAnotherValue"; -} -``` - -* Functions are written in PascalCase. -* Function parameters are written in camelCase. -* Local variables are written in camelCase. - -```cs -public bool MyFunction(bool myFunctionParameter) -{ - float myLocalVariable = 0; -} -``` - -* Interfaces are written in PascalCase, but start with an *I*. - -```cs -public interface IMyInterface -{ -} -``` - -* Enums are written in PascalCase. -* Enum Values are written in PascalCase. - -```cs -public enum MyEnum -{ - FirstEnumValue, - SecondEnumValue, - ThirdEnumValue, -} -``` - -## Bracing and Indentation -* Each opening and closing brace is placed in a separate line. -* Braces start at the indentation level of the outlying scope. -* Add Braces even for short single-line scopes. - -```cs -// Do -if (condition == true) -{ - return; -} -// Don't -if (condition == true) - return; -if (condition == true) return; -``` - -* Exception: Default properties are implemented in a single line. - Encapsulating properties and properties with simple single-statement accessors place accessors on a single line together with the respective implementation. - Complex accessors with multiple statements follow the general rule of placing braces and statements on separate lines. - -```cs -public bool DefaultProperty { get; protected set; } - -public bool EncapsulatingProperty -{ - get { return wrappedValue; } - protected set { wrappedValue = value; } -} - -public bool SimpleProperty -{ - get { return entry == "MagicValue"; } - set { entry = string.Format("Bla{0}", value); } -} - -public bool ComplexProperty -{ - get - { - if(wrappedValue == null) - { - throw new OperationException(); - } - - wrappedValue; - } - protected set - { - wrappedValue = value; - - if (implementation != null) - { - implementation.ForwardValue(value); - } - } -} - -public bool MixedProperty -{ - get - { - return wrappedValue; - } - protected set - { - wrappedValue = value; - - if (implementation != null) - { - implementation.ForwardValue(value); - } - } -} -``` - -* Content of the braced scope is indented an additional level. -* Indent by 4 spaces. -* Indent every scope (namespaces, classes, loops, ...). - -```cs -public class ClassInTopScope -{ - public bool PropertyInClassScope { get; set; } - - public float FunctionInClassScope() - { - public float functionVariable; - - { - float scopedVariable = 3; - } - - for (int i = 0; i < 100; ++i) - { - float scopedVariable = i; - } - } -} -``` - -* Do not indent compile `#if` and `#pragma`. -* Indent `#region` specifications. -* Do not further indent code inside compile directives like `#if` or `#region`s. - -```cs -namespace MyNamespace -{ - public class MyClass1 - { - public bool FirstFunction(); - -#pragma warning disable 0618 // temporarily disable obsolete usage warning - CallObsoleteFunction(); -#pragma warning restore 0618 - - #region First Region - public bool SecondFunction(); - #endregion - - #region Second Region - public bool ThirdFunction(); - #endregion - } - -#if COMPILE_DEFINE - public class MyClass2 - { - } -#endif -} -``` - -* When splitting a statement or declaration, indent the split line by one level. -* When defining local delegates, do not indent the opening and closing braces. - -```cs -public float FunctionWithManyParameters() -{ - bool expression = CheckConditionOne() - && CheckConditionTwo() - && CheckConditionThree() - && CheckConditionFour(); - - Action localTask = () => - { - // [...] - } - - new AsyncTask(localTask).Execute(); - - new AsyncTask(() => - { - // [...] - }) - .Execute(); -} -``` - -## Code comments -* Enrich your code with meaningful comments. -* Use `//` for inline code comments, and `///` for API docs. -* Add xml API docs to all elements of the public API: classes, functions, properties, fields, and events. -* Comments should always start with a capital letter, be separated from the comment symbol by a space, and end with a period. -* All sentence-like parts of a comment (e.g. ` and ` texts) should end with a period. - - -```cs -/// -/// Explain the general intent and typical usage of the class here. -/// -public class ExampleClass -{ - /// - /// Provide additional detail here. - /// - public float ExampleProperty { get; private set; } - - /// - /// Provide details about what the function does. - /// - /// Explain parameter here. - /// Explain return type here. - /// When is this exception thrown. - public int ExampleFunction(float exampleParameter) - { - // [...] - } -} -``` - -* Avoid empty xml tags components like `param` or `return`. Either add a valuable descriptions, or remove the tag. - -```cs -public class ExampleClass -{ - //Do - - /// - /// This function computes the square root of a value. - /// - public float SquareRoot(float value) - { - // [...] - } - - // Don't - - /// - /// This function computes the square root of a value. - /// - /// - /// - public float SquareRoot(float value) - { - // [...] - } -} -``` - -## Whitespaces -* Use empty lines to separate classes/class members/blocks of statements. -* Do not use two or more consecutive empty lines (use regions instead to group blocks). -* Add a whitespace to separate a condition/iteration keyword (`if`, `while`, `for`, ...) and its braces. -* Do not use a whitespace to separate a function name and its brace. - -```cs -if (CheckParameters(param1, param2) && param3) -{ - // [...] -} - -while (pi == 3) -{ - // [...] -} - -SomeFunction(param); -``` - -* Add whitespaces after commas and around operators. - -```cs -if (CheckParameters(param1, param2) && param3) -{ - return param1 + (param2 * param3); -} -``` - -## Events - -* Use C# events - avoid UnityEvents, Actions, or similar. -* Use EventArgs classes instead of delegates or actions for event definitions. -* Use immutable `EventArgs` classes, which provide public readonly fields. Initialize these fields from a constructor. - -```cs -public class MyButton -{ - // Do - public class ClickedEventArgs : System.EventArgs - { - public readonly string SomeData; - public ClickedEventArgs(string data) - { - SomeData = data; - } - } - - public event EventHandler Clicked; - - // Don't - public delegate void ClickedEvent(string someData); - public event ClickedEvent Clicked; - - // Don't - public event Action Clicked; -} -``` - -* EventArgs classes end with `EventArgs`, and are derived from `System.EventArgs`. -* Name Events with a verb describing the event (without pre- or suffix), Loaded, Finished. -* Event handling functions start with `On`, followed by the scope and the event name. -* If an event can be triggered by a child class, provide a function called `EmitEVENTNAME`. - -```cs -public class MyButton -{ - public class ClickedEventArgs : System.EventArgs - { - public readonly string someData; - public ClickedEventArgs(string data) - { - someData = data; - } - } - - public event EventHandler Clicked; - - protected void EmitClicked(string data) - { - Clicked.Invoke(this, new ClickedEventArgs() { someData = data }); - } -} - -public class ButtonObserver -{ - public void Observe - { - new MyButton().Clicked += OnButtonClicked; - } - - private void OnButtonClicked(object sender, MyButton.ClickedEventArgs args) -} -``` - -## Logging - -* Prefer format syntax over explicit string concatenation. - -```cs -private void SomeFunction() -{ - int numberOfThings = 42; - - // Do - Debug.Log($"I know {numberOfThings} things"); - - // Or - Debug.LogFormat("I know {0} things", numberOfThings); - - // Don't - Debug.Log("I know " + numberOfThings + " things"); -} -``` - -## Exceptions - -* Exception names end with `Exception`. -* If exceptions are to be thrown by only one class, define them inside this class. -* Exceptions thrown by multiple sources are defined in a separate file, in the matching namespace (no Exceptions sub-namespace). - -## Access Modifiers - -* Only use public variables or Properties with public setters for data objects. -* Always specify an Access Modifier. - -```cs -public class MyClass -{ - // Do - private float myPrivateVariable1; - // Don't - float myPrivateVariable2; -} -``` - -## Unity-specific - -* Prefer private variables marked with `[SerializeField]` over public variables for Inspector fields. -* When using a public variable in a MonoBehaviour, still add `[SerializeField]` to ease detection of Inspector fields. -* Use the `[Tooltip("...")}` attribute in Inspector fields for documentation / usage hints. -* Always initialize Inspector fields (to prevent never-assigned-warnings). -* Avoid the automatic conversion from `UnityEngine.Object` to bool. -* When using Enum-typed Inspector fields, consider hard-wiring the enum values to prevent serialization errors when changing available enum values. - -```cs -// Do -if (gameObject != null) -{ - // [...] -} - -// Don't -if (gameObject) -{ - // [...] -} -``` - -## Lambdas - -* Prefer lambda-style expressions over delegate-style. - -```cs -// Do -(float param1, string param2) => {} - -// Don't -delegate(float param1, string param2) {} -``` - -* Prefer named functions over lambdas. -* Assign longer or more complex lambdas to named local `Action`/`Func`. -* If nested lambdas are required, assign each one to named local `Action`/`Func`. -* Avoid defining long lambdas directly as parameter of a function call. - -## Obsoletion - -* Avoid changes in code that break existing APIs (i.e. Class Names, Function Argument types, Renaming of public members / properties, return types). -* Use `System.Obsolete` to mark outdated code that will be removed in newer versions. -* When re-naming classes/properties/methods, try to maintain the old version tagged as obsolete. -* Obsolete code will be maintained for one (major) release, and is deleted afterwards. - -## Misc - -* Define class-specific Exceptions, Enums, EventArgs, ... inside the corresponding class. -* For Interfaces, define Exceptions, Enums, EventArgs, ... in the same file as the interface. -* Do not use `var`, always specify the full type name. -* Use `Invoke` to trigger actions or events. -* Only use `this.` before members where absolutely necessary. -* Decide whether or not to design for inheritance. - * If not intended to be derived from, make all non-public entities `private`. - * If intended to be derived from, take care to mark necessary entities `protected` and/or `virtual`. -* Consider using early returns in functions to prevent deeply nested scopes. -* Use parentheses to group parts of complex statements. - Especially, always group sub-clauses when combining different boolean operators. -* Do not omit the array type specifier when using array initialization lists. - -```cs -// Do -string[] myList = new string[] { "a", "b", "c", "d" }; - -// Don't -string[] myList = new [] { "a", "b", "c", "d" }; -``` - -* Do not prefix static method defined in the same or parent class with the class scope. \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/.github/CONTRIBUTING.md b/Source/Basic-Conditions-And-Behaviors/.github/CONTRIBUTING.md deleted file mode 100644 index d544a1014..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.github/CONTRIBUTING.md +++ /dev/null @@ -1,174 +0,0 @@ -# How to contribute - -At Innoactive we want to thank you for being part of this community and helping us to improve the Creator. - -There are many ways to contribute, it could be by suggesting new features and ideas, reporting bugs, extending and modifying functionalities, and even from just using the Creator and developing amazing VR training applications. - -In this guide, we summarize how you can do all those actions. - -### Table of Contents: - -1. [Getting Started](#getting-started) -1. [Code of Conduct](#code-of-conduct) -1. [Feature Request](#feature-request) -1. [Bug Report](#bug-report) -1. [Submitting Changes](#submitting-changes) -1. [Maintainers](#maintainers) -1. [Coding Conventions](#coding-conventions) -1. [Source Control Commit Guidelines](#source-control-commit-guidelines) -1. [Contributors](#contributors) - -## Getting Started - -The easiest and simplest way to get started and try out the Creator is by downloading the latest version from our [resources site](http://developers.innoactive.de/creator/). - -Make sure to read the [documentation](http://developers.innoactive.de/documentation/creator/) for a deeper understanding of how the tool works. - -## Code of Conduct - -This project and everyone participating in it are governed by the [Innoactive Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to our [maintainers](#maintainers). - -## Feature Request - -We are keen to listen to your feature requests. - -To request a feature, please go to the `Issues` section of this repository and create a new issue using the `Feature request` template. Be as detailed as possible, if possible, try to include references, and explain what is the benefit of the feature. - -Make sure your idea is unique using the search functionality. If a similar feature request already exists, try providing additional information instead of creating a new issue. - -In the case that a similar feature request already exits but is closed without being resolved, you are welcome to create a new one if you think it makes sense. - -## Bug Report - -If you find an error in the source code, or experience one when using the Creator, you can help us by submitting a bug report issue to our GitHub issue tracker. - -Before submitting a new bug report, make sure there has not been reported already by using the search functionality in the issues section of this repository. - -To report a new bug, please go to the `Issues` section of this repository and create a new issue using the `Bug report` template. Be as detailed as possible, explain how to reproduce it, if possible, try to include references and rate of reproducibility. - -You can also [submit a Pull Request](#submitting-changes) with a fix! - -Creating comprehensive bug reports helps the community to quickly understand the problem and the severity. - -If you find a security vulnerability, do NOT open an issue. Contact a [maintainer](#maintainers) instead. - -Alternatively, customers can contact us directly using our [support channel](https://jira.innoactive.de/servicedesk/customer/portal/3). - -## Submitting Changes - -By default, this repository is protected, the only way to submit changes is by merging via [creating a pull request from a fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork), this is only intending to provide the best quality and add a security layer, we could detect and prevent new bugs, breaking functionalities and avoid violations to our [code convention](#coding-conventions). - -Use the [pull request template](PULL_REQUEST_TEMPLATE.md) for detail as much as possible all the changes included in the pull request, this way it is easier for everyone to review. - -Make sure to also follow the [Source Control Commit Guidelines](#source-control-commit-guidelines). - -See more about [Pull Requests](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) and [how to fork a repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo). - -## Maintainers - -Meet out maintainers: - -[SimonTheSourcerer](https://github.com/SimonTheSourcerer) | [tomwim](https://github.com/tomwim) | -:---: | :---: | -[Simon L](mailto:simon.lerch@innoactive.de) | [Thomas W.](mailto:thomas.wimmer@innoactive.de) - -Maintainers are responsible for this repository and its community. - -## Coding Conventions - -By encouraging coding conventions we ensure: - -* The code to having a consistent look, so that readers can focus on content, not layout. -* Enabling readers to understand the code more quickly by making assumptions based on previous experience. -* Facilitating copying, changing, and maintaining the code. -* Sticking to C# best practices. - -Please follow our [Coding Conventions](CODING_CONVENTIONS.md). - -## Source Control Commit Guidelines - -When committing to an Innoactive git project, please adhere to the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary). This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate automated release notes. - -### Commit Message Format -Every commit message consists of a **header** (mandatory), a **body**, and a **footer**. -The header has a special format that includes a **type** and **subject**: - -``` -: - -[optional body] - -[optional footer(s)] -``` - -Any line of the commit message cannot be longer than 100 characters! This allows the message to be easier -to read on GitHub as well as in various git tools. - -The footer should contain a [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) if any. - - -### Revert -If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit .`, where the hash is the SHA of the commit being reverted. - -### Type -Must be one of the following: - -* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) -* **ci**: Changes to our CI configuration files and scripts (example scopes: Circle, BrowserStack, SauceLabs) -* **docs**: Documentation only changes -* **feat**: A new feature -* **fix**: A bug fix -* **perf**: A code change that improves performance -* **refactor**: A code change that neither fixes a bug nor adds a feature -* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) -* **test**: Adding missing tests or correcting existing tests - -### Subject -The subject contains a succinct description of the change: - -* use the imperative, present tense: "change" not "changed" nor "changes" -* don't capitalize the first letter -* no dot (.) at the end - -### Body -Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". -The body should include the motivation for the change and contrast this with previous behavior. - -### Footer -The footer should contain any information about **Breaking Changes** and is also the place to -reference GitHub issues that this commit **Closes**. - -**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this. - -### Examples: - -#### Commit message with no body - -``` -docs: update changelog to beta.5 -``` - -#### Commit message with both -``` -fix: need to depend on latest rxjs and zone.js - -The version in our package.json gets copied to the one we publish, and users need the latest of these. -``` - -#### Commit message with multi-paragraph body and multiple footers -``` -fix: correct minor typos in code - -see the issue for details - -on typos fixed. - -Reviewed-by: Z -Refs #133 -``` - -See more [Conventional Commits Examples](https://www.conventionalcommits.org/en/v1.0.0/#examples) - -## Contributors - -Thank you all for your help, we appreciate all your [contributions](https://github.com/Innoactive/Creator/graphs/contributors). diff --git a/Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/BUG_REPORT.md deleted file mode 100644 index 37c0fd1ad..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/BUG_REPORT.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -### Describe the bug - - -### Steps to Reproduce - - -1. -1. -1. -1. -1. - - -### Expected behavior - - -### Current behavior - - -### Screenshots - - -### Context (Environment) - - -### Possible Solution - \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md b/Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md deleted file mode 100644 index 55f231cb8..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -### Is the feature request related to a problem? - - -### Proposal - - -### Alternatives - - -### Additional context - \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/.github/PULL_REQUEST_TEMPLATE.md b/Source/Basic-Conditions-And-Behaviors/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 18ad54ac0..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,38 +0,0 @@ -### Description - - -**Fixes**: # (issue) - -### Type of change - - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update - -### How Has This Been Tested? - - - -**Test Configuration**: - - -### Aditional Notes - - -### Checklist - - -- [ ] My code follows the [Coding Conventions](#coding-conventions) -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/.gitignore b/Source/Basic-Conditions-And-Behaviors/.gitignore deleted file mode 100644 index 287da7c1e..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/Assets/AssetStoreTools* - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.suo -*.tmp -*.user -*.userprefs -*.pidb -*.booproj -*.svd - - -# Unity3D generated meta files -*.pidb.meta - -# Unity3D Generated File On Crash Reports -sysinfo.txt - -# Builds -*.apk -*.unitypackage -site/ - -################# -# DocFx Ignores # -################# -/**/DROP/ -/**/TEMP/ -/**/packages/ -/**/bin/ -/**/obj/ -/**/obj.meta -.Documentation/_site -.Documentation/api diff --git a/Source/Basic-Conditions-And-Behaviors/.releaserc.json b/Source/Basic-Conditions-And-Behaviors/.releaserc.json deleted file mode 100644 index 7d34d68d6..000000000 --- a/Source/Basic-Conditions-And-Behaviors/.releaserc.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "branch": "master", - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/github", - ["semantic-release-ado", { - "varName": "Version", - "setOnlyOnRelease": false - }] - ] - } \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers.meta b/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers.meta deleted file mode 100644 index 49e50b4d3..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85bda9da87bdda645baccb49de485ba4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer.meta b/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer.meta deleted file mode 100644 index 7a3a57506..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 86281505ffa9a8b40891c82c9514c2e8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers.meta b/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers.meta deleted file mode 100644 index 512e8b96a..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 01c01d8b50b0dbf4a837a51779b1f00b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref b/Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref deleted file mode 100644 index d88585434..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:e476a81b6ef7b824686666349a591a9a" -} \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref.meta b/Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref.meta deleted file mode 100644 index fdd48db7a..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Editor/VRBuilder.Editor.CoreReference.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 267b7b6cc79b7b7459ea029559632f1b -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime.meta b/Source/Basic-Conditions-And-Behaviors/Runtime.meta deleted file mode 100644 index 9548d5a0a..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 22d14ec0cf8ee77498bd5e0766086a00 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions.meta deleted file mode 100644 index d7a217a2a..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Conditions/PositionalConditions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3ee002fbf1ff9844e8fb29350aa62162 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities.meta deleted file mode 100644 index 9df31aa03..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/ProcessUtilities.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 68a271e5465ed8c4093f8cca0834f335 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/Properties.meta deleted file mode 100644 index 61fd8c060..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b45c7e49a11d4ad4db879bfca73cf2ea -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Data.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Data.meta deleted file mode 100644 index f7f042aff..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Data.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 67fd9f7bea98b3f4e88b17e8e9b059c7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting.meta deleted file mode 100644 index 8ff888957..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Highlighting.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 197bf21fe3c8e7b45a9ec528e57589c7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Particles.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Particles.meta deleted file mode 100644 index 66576a6e8..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Particles.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f23fa5f3eb6e9524cab1005e68142bdd -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Path.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Path.meta deleted file mode 100644 index 06bcc9fea..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Properties/Path.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6aae26ba752d35944b3db503e5a00d89 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref b/Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref deleted file mode 100644 index a0155ae8f..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:c8561f9de838ac04d8feeda695bc572d" -} \ No newline at end of file diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref.meta b/Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref.meta deleted file mode 100644 index 04a3e5ce5..000000000 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/VRBuilder.CoreReference.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c31101c33895dc34aab12220ea33968d -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/.azure-pipelines.yml b/Source/Basic-Interaction-Component/.azure-pipelines.yml deleted file mode 100644 index b5d5fd04e..000000000 --- a/Source/Basic-Interaction-Component/.azure-pipelines.yml +++ /dev/null @@ -1,207 +0,0 @@ -resources: - repositories: - - repository: Creator - type: github - endpoint: Innoactive - name: Innoactive/Creator - ref: develop - - repository: UnityProject - type: github - endpoint: Innoactive - name: Innoactive/Empty-Unity-Project-2019 - ref: develop - - repository: BehaviorsAndConditions - type: github - endpoint: Innoactive - name: Innoactive/Basic-Conditions-And-Behaviors - ref: develop - -trigger: - - master - - develop - -pr: - branches: - include: - - develop - -pool: Unity - -variables: - - group: basic-unity - -stages: - - stage: Lint - displayName: Lint - jobs: - - job: CommitMessageCheck - displayName: Commit Message Check - steps: - - script: npm install @commitlint/cli commitlint-azure-pipelines-cli @commitlint/config-conventional - - script: > - npx - -p @commitlint/cli - -p commitlint-azure-pipelines-cli - -p @commitlint/config-conventional - commitlint-azure-pipelines --config .commitlintrc.json - - - stage: Build - displayName: 'Build & Test' - condition: succeeded() - jobs: - - job: build - workspace: - clean: all - steps: - - checkout: UnityProject - lfs: true - - checkout: Creator - lfs: true - - checkout: BehaviorsAndConditions - lfs: true - - checkout: self - lfs: true - - - task: UseNode@1 - - - task: PowerShell@2 - displayName: "Run Semantic release" - condition: eq(variables['Build.SourceBranchName'], 'master') - inputs: - targetType: 'inline' - script: | - npx -p semantic-release-ado semantic-release - workingDirectory: "Basic-Interaction-Component/" - env: - GH_TOKEN: "$(GITHUB_TOKEN)" - - - task: PowerShell@2 - displayName: Fetch version from git - condition: ne(variables['Build.SourceBranchName'], 'master') - inputs: - targetType: 'inline' - script: | - $TAG = (git tag -l "v*" --sort=committerdate | Select -last 1) - if(!$TAG) { $TAG = "v0.0.0" } - $TAG = $TAG.TrimStart("v") + "-" + (git log -1 --pretty=format:%h) - Write-Host "##vso[task.setvariable variable=Version]$TAG" - workingDirectory: "Basic-Interaction-Component/" - - - task: PowerShell@2 - displayName: Publish variables - inputs: - targetType: 'inline' - script: | - echo "##vso[task.setvariable variable=Version;isOutput=true]v$(Version)" - name: ExportedVariables - - - task: CopyFiles@2 - displayName: Copy base Project - inputs: - SourceFolder: "Empty-Unity-Project-2019/" - Contents: "**" - TargetFolder: "$(Path.Project)" - - - task: CopyFiles@2 - displayName: Copy Creator Core - inputs: - SourceFolder: "Creator/" - Contents: "**" - TargetFolder: "$(Path.Creator)/Core" - - - task: CopyFiles@2 - displayName: Copy Basic Conditions and Behaviors - inputs: - SourceFolder: "Basic-Conditions-And-Behaviors/" - Contents: "**" - TargetFolder: "$(Path.Creator)/Components/Basic-Conditions-And-Behaviors" - - - task: CopyFiles@2 - displayName: Copy Basic-Interaction Component - inputs: - SourceFolder: "Basic-Interaction-Component/" - Contents: "**" - TargetFolder: "$(Path.Creator)/Components/Basic-Interaction" - - - task: DeleteFiles@1 - displayName: Clean Up - inputs: - Contents: "!(Project)" - - - task: PowerShell@2 - displayName: Build Project - inputs: - targetType: 'inline' - script: | - u3d available -f - u3d install $(UnityVersion) - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor-build.log -nographics -quit -batchmode -buildWindows64Player Build\\TestBuild\\TestBuild.exe - - - task: PowerShell@2 - displayName: Run Tests - inputs: - targetType: 'inline' - script: | - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_editmode_tests.log -batchmode -runTests -testPlatform editmode -testResults $(System.DefaultWorkingDirectory)\TEST-EditMode.xml - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_playmode_tests.log -batchmode -runTests -testPlatform playmode -testResults $(System.DefaultWorkingDirectory)\TEST-PlayMode.xml - - - task: PublishTestResults@2 - inputs: - testResultsFormat: "NUnit" - testResultsFiles: "TEST-*.xml" - - - task: PowerShell@2 - displayName: Export Unity package - inputs: - targetType: 'inline' - script: | - echo 'Exporting version $(Version)' - ((Get-Content -path $(Path.ExportConfig)/$(ExportConfigName) -Raw) -replace '{version}','v$(Version)') | Set-Content -Path $(Path.Project)/export-config.json - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_export.log -batchmode -quit -executeMethod Innoactive.CreatorEditor.PackageExporter.Export --export-config export-config.json - Start-Sleep -s 5 - - - task: PublishPipelineArtifact@1 - displayName: "Publish Unity Package" - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/packages/" - artifact: "creator-basic-interaction-unitypackage" - publishLocation: "pipeline" - - - task: PublishPipelineArtifact@1 - displayName: "Publish Logs" - condition: always() - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/logs/" - artifact: "creator-basic-interaction-logs-$(System.JobId)" - publishLocation: "pipeline" - - - stage: Release - displayName: Release - dependsOn: - - Lint - - Build - condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master')) - jobs: - - job: - workspace: - clean: all - variables: - Version: $[stageDependencies.Build.build.outputs['ExportedVariables.Version']] - steps: - - task: DownloadPipelineArtifact@2 - displayName: 'Download exported package' - inputs: - buildType: 'current' - artifactName: 'creator-basic-interaction-unitypackage' - targetPath: '$(Build.ArtifactStagingDirectory)/packages/' - - - task: GitHubRelease@1 - inputs: - gitHubConnection: 'Github.com - Jenkins / CI User' - repositoryName: 'Innoactive/Basic-Interaction-Component' - action: 'edit' - target: '$(Build.SourceVersion)' - tag: '$(Version)' - assetUploadMode: "replace" - assets: "$(Build.ArtifactStagingDirectory)/packages/*" - addChangeLog: false \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/.commitlintrc.json b/Source/Basic-Interaction-Component/.commitlintrc.json deleted file mode 100644 index 14473e999..000000000 --- a/Source/Basic-Interaction-Component/.commitlintrc.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": ["@commitlint/config-conventional"] } \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/.gitattributes b/Source/Basic-Interaction-Component/.gitattributes deleted file mode 100644 index f02d6ffc6..000000000 --- a/Source/Basic-Interaction-Component/.gitattributes +++ /dev/null @@ -1,129 +0,0 @@ -# Kindly borrowed (and extended) -# from https://gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f - -# Set the default behavior, in case people don't have core.autocrlf set. -* text=auto - -## Unity ## - -*.cs diff=csharp text -*.cginc text -*.shader text - -# linguist-generated leads to diffs not being shown on github -# see https://github.com/github/linguist#generated-code and -# https://stackoverflow.com/a/24382933/1142028 -*.mat binary merge=unityyamlmerge linguist-generated=true -*.anim binary merge=unityyamlmerge linguist-generated=true -*.unity binary merge=unityyamlmerge linguist-generated=true -*.prefab binary merge=unityyamlmerge linguist-generated=true -*.physicsMaterial2D binary merge=unityyamlmerge linguist-generated=true -*.physicsMaterial binary merge=unityyamlmerge linguist-generated=true -#*.asset binary merge=unityyamlmerge linguist-generated=true -*.meta binary merge=unityyamlmerge linguist-generated=true -*.controller binary merge=unityyamlmerge linguist-generated=true - -## git-lfs ## - -# Graphics -*.jpg filter=lfs diff=lfs merge=lfs -text -*.JPG filter=lfs diff=lfs merge=lfs -text -*.jpeg filter=lfs diff=lfs merge=lfs -text -*.JPEG filter=lfs diff=lfs merge=lfs -text -*.png filter=lfs diff=lfs merge=lfs -text -*.PNG filter=lfs diff=lfs merge=lfs -text -*.psd filter=lfs diff=lfs merge=lfs -text -*.PSD filter=lfs diff=lfs merge=lfs -text -*.ai filter=lfs diff=lfs merge=lfs -text -*.AI filter=lfs diff=lfs merge=lfs -text -*.bmp filter=lfs diff=lfs merge=lfs -text -*.BMP filter=lfs diff=lfs merge=lfs -text -*.gif filter=lfs diff=lfs merge=lfs -text -*.GIF filter=lfs diff=lfs merge=lfs -text -*.img filter=lfs diff=lfs merge=lfs -text -*.IMG filter=lfs diff=lfs merge=lfs -text -*.tif filter=lfs diff=lfs merge=lfs -text -*.TIF filter=lfs diff=lfs merge=lfs -text -*.xcf filter=lfs diff=lfs merge=lfs -text -*.XCV filter=lfs diff=lfs merge=lfs -text -*.tga filter=lfs diff=lfs merge=lfs -text -*.TGA filter=lfs diff=lfs merge=lfs -text - -# Videos -*.mpg filter=lfs diff=lfs merge=lfs -text -*.MPG filter=lfs diff=lfs merge=lfs -text -*.mpeg filter=lfs diff=lfs merge=lfs -text -*.MPEG filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text -*.MP4 filter=lfs diff=lfs merge=lfs -text -*.avi filter=lfs diff=lfs merge=lfs -text -*.AVI filter=lfs diff=lfs merge=lfs -text -*.asf filter=lfs diff=lfs merge=lfs -text -*.ASF filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text -*.MP4 filter=lfs diff=lfs merge=lfs -text -*.mov filter=lfs diff=lfs merge=lfs -text -*.MOV filter=lfs diff=lfs merge=lfs -text - -# Audio -*.mp3 filter=lfs diff=lfs merge=lfs -text -*.MP3 filter=lfs diff=lfs merge=lfs -text -*.ogg filter=lfs diff=lfs merge=lfs -text -*.OGG filter=lfs diff=lfs merge=lfs -text -*.wav filter=lfs diff=lfs merge=lfs -text -*.WAV filter=lfs diff=lfs merge=lfs -text - -# Models -*.obj filter=lfs diff=lfs merge=lfs -text -*.OBJ filter=lfs diff=lfs merge=lfs -text -*.fbx filter=lfs diff=lfs merge=lfs -text -*.FBX filter=lfs diff=lfs merge=lfs -text -*.ply filter=lfs diff=lfs merge=lfs -text -*.PLY filter=lfs diff=lfs merge=lfs -text -*.raw filter=lfs diff=lfs merge=lfs -text -*.RAW filter=lfs diff=lfs merge=lfs -text -*.blend filter=lfs diff=lfs merge=lfs -text -*.BLEND filter=lfs diff=lfs merge=lfs -text -*.3ds filter=lfs diff=lfs merge=lfs -text -*.3DS filter=lfs diff=lfs merge=lfs -text -*.stl filter=lfs diff=lfs merge=lfs -text -*.STL filter=lfs diff=lfs merge=lfs -text -*.pmd filter=lfs diff=lfs merge=lfs -text -*.PMD filter=lfs diff=lfs merge=lfs -text -*.mesh filter=lfs diff=lfs merge=lfs -text -*.MESH filter=lfs diff=lfs merge=lfs -text - -# Libs -*.dll filter=lfs diff=lfs merge=lfs -text -*.DLL filter=lfs diff=lfs merge=lfs -text -*.a filter=lfs diff=lfs merge=lfs -text -*.A filter=lfs diff=lfs merge=lfs -text -*.so filter=lfs diff=lfs merge=lfs -text -*.SO filter=lfs diff=lfs merge=lfs -text -*.lib filter=lfs diff=lfs merge=lfs -text -*.LIB filter=lfs diff=lfs merge=lfs -text -*.jar filter=lfs diff=lfs merge=lfs -text -*.JAR filter=lfs diff=lfs merge=lfs -text - -# Unity Light Build -*.exr filter=lfs diff=lfs merge=lfs -text -*.EXR filter=lfs diff=lfs merge=lfs -text -LightingData.asset filter=lfs diff=lfs merge=lfs -text - -# Others -*.pdf filter=lfs diff=lfs merge=lfs -text -*.PDF filter=lfs diff=lfs merge=lfs -text -*.r16 filter=lfs diff=lfs merge=lfs -text -*.R16 filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text -*.unitypackage filter=lfs diff=lfs merge=lfs -text -*.aif filter=lfs diff=lfs merge=lfs -text -*.ttf filter=lfs diff=lfs merge=lfs -text -*.TTF filter=lfs diff=lfs merge=lfs -text -*.rns filter=lfs diff=lfs merge=lfs -text -*.reason filter=lfs diff=lfs merge=lfs -text -*.lxo filter=lfs diff=lfs merge=lfs -text - -# 3D Modelling tools -*.sbs filter=lfs diff=lfs merge=lfs -text -*.max filter=lfs diff=lfs merge=lfs -text diff --git a/Source/Basic-Interaction-Component/.github/CODE_OF_CONDUCT.md b/Source/Basic-Interaction-Component/.github/CODE_OF_CONDUCT.md deleted file mode 100644 index 9716a0ad6..000000000 --- a/Source/Basic-Interaction-Component/.github/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,85 +0,0 @@ -# Contributor Code of Conduct - -**Table of Contents:** - -* [Summary](#summary) -* [Our Standards](#our-standards) -* [Our Responsibilities](#our-responsibilities) -* [Scope](#scope) -* [Enforcement](#enforcement) -* [Attribution](#attribution) - -**Version**: 1.0.0 - -## Summary - -In order to keep the Open Source Innoactive community a warm, welcoming, and a safe place we ask that all participants read and adhere to the following code of conduct. - -* **Be friendly and patient:** Remember you might not be communicating in someone else's primary spoken or programming language, and others may not have your level of understanding. - -* **Be welcoming and inclusive:** Our communities welcome and support people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. - -* **Be considerate:** Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. - -* **Be respectful:** We are a world-wide community of professionals, and we conduct ourselves professionally. Disagreement is no excuse for poor behavior and poor manners. Disrespectful and unacceptable behavior includes, but is not limited to: - * Violent threats or language. - * Discriminatory or derogatory jokes and language. - * Posting sexually explicit or violent material. - * Posting, or threatening to post, people's personally identifying information ("doxing"). - * Insults, especially those using discriminatory terms or slurs. - * Behavior that could be perceived as sexual attention. - * Advocating for or encouraging any of the above behaviors. - -* **Understand disagreements:** Disagreements, both social and technical, are useful learning opportunities. Seek to understand the other viewpoints and resolve differences constructively. - -* **This code is not exhaustive or complete.** It serves to capture our common understanding of a productive, collaborative environment. We expect the code to be followed in spirit as much as in the letter. - -We expect all contributors to uphold our standards of conduct. If any member of the community violates this code of conduct, the Innoactive team and project maintainers will take action. We reserve the right to remove issues, comments, and PRs that do not comply with our conduct standards. Repeated or significant offenses will result in blocked accounts and disassociation with our projects and the Innoactive community. - -If you are subject to or witness unacceptable behavior, or have any other concerns, please communicate with any of our [maintainers](CONTRIBUTING.md#maintainers). - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling -* Insults or other derogatory comments -* Personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, discussions in a public or private Innoactive channel, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise, unacceptable behavior may be reported by contacting any of our [maintainers](CONTRIBUTING.md#maintainers). - -All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. We are obligated to maintain confidentiality concerning the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This code of conduct is based on the template established by the [TODO Group](https://todogroup.org/) and used by numerous other large communities (e.g., Microsoft, Facebook, Twitter, GitHub and the Scope section from the [Contributor Covenant](https://www.contributor-covenant.org), [version 1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html). - -For answers to common questions about this code of conduct, see [Contributor Covenant's F.A.Q.](https://www.contributor-covenant.org/faq). diff --git a/Source/Basic-Interaction-Component/.github/CODING_CONVENTIONS.md b/Source/Basic-Interaction-Component/.github/CODING_CONVENTIONS.md deleted file mode 100644 index 8846c9f95..000000000 --- a/Source/Basic-Interaction-Component/.github/CODING_CONVENTIONS.md +++ /dev/null @@ -1,509 +0,0 @@ -# Coding Conventions - -Unless otherwise specified, the Innoactive projects adhere to the MSDN C# [Coding Conventions](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions) and [Design Guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/). -In the following, the most important guidelines and custom decisions are listed. - -## Language -* Code, documentation, and comments are to be written in English. - -## Naming Conventions - -### Name -* Use meaningful but concise names. -* Do not use special characters in any names. -* Do not use abbreviations. - -```cs -public class RuntimeStatistics -{ - // very bad: - private int n; - // bad: - private int numFrms; - private int frameCnt; - // good: - private int numberOfFrames; - private int frameCount; - // too verbose: - private int numberOfElapsedFramesSinceApplicationStart; -} -``` - -* Keep the most specific descriptor left, e.g. pauseButton not buttonPause. -* Boolean variables and Properties should start with Is or Has, e.g. isActive. - -### Formatting -* Classes, properties, and public fields are written in PascalCase. -* Private fields are written in camelCase. -* Static and const fields (public, protected, or private) are formatted like non-const/static fields. - -```cs -public class MyClass -{ - public float MyProperty { get; private set; } - public bool MyPublicVariable; - private string myPrivateVariable; - public static string MyStaticVariable = "someValue"; - protected const string MyConstVariable = "someOtherValue"; - private const string myPrivateConstVariable = "yetAnotherValue"; -} -``` - -* Functions are written in PascalCase. -* Function parameters are written in camelCase. -* Local variables are written in camelCase. - -```cs -public bool MyFunction(bool myFunctionParameter) -{ - float myLocalVariable = 0; -} -``` - -* Interfaces are written in PascalCase, but start with an *I*. - -```cs -public interface IMyInterface -{ -} -``` - -* Enums are written in PascalCase. -* Enum Values are written in PascalCase. - -```cs -public enum MyEnum -{ - FirstEnumValue, - SecondEnumValue, - ThirdEnumValue, -} -``` - -## Bracing and Indentation -* Each opening and closing brace is placed in a separate line. -* Braces start at the indentation level of the outlying scope. -* Add Braces even for short single-line scopes. - -```cs -// Do -if (condition == true) -{ - return; -} -// Don't -if (condition == true) - return; -if (condition == true) return; -``` - -* Exception: Default properties are implemented in a single line. - Encapsulating properties and properties with simple single-statement accessors place accessors on a single line together with the respective implementation. - Complex accessors with multiple statements follow the general rule of placing braces and statements on separate lines. - -```cs -public bool DefaultProperty { get; protected set; } - -public bool EncapsulatingProperty -{ - get { return wrappedValue; } - protected set { wrappedValue = value; } -} - -public bool SimpleProperty -{ - get { return entry == "MagicValue"; } - set { entry = string.Format("Bla{0}", value); } -} - -public bool ComplexProperty -{ - get - { - if(wrappedValue == null) - { - throw new OperationException(); - } - - wrappedValue; - } - protected set - { - wrappedValue = value; - - if (implementation != null) - { - implementation.ForwardValue(value); - } - } -} - -public bool MixedProperty -{ - get - { - return wrappedValue; - } - protected set - { - wrappedValue = value; - - if (implementation != null) - { - implementation.ForwardValue(value); - } - } -} -``` - -* Content of the braced scope is indented an additional level. -* Indent by 4 spaces. -* Indent every scope (namespaces, classes, loops, ...). - -```cs -public class ClassInTopScope -{ - public bool PropertyInClassScope { get; set; } - - public float FunctionInClassScope() - { - public float functionVariable; - - { - float scopedVariable = 3; - } - - for (int i = 0; i < 100; ++i) - { - float scopedVariable = i; - } - } -} -``` - -* Do not indent compile `#if` and `#pragma`. -* Indent `#region` specifications. -* Do not further indent code inside compile directives like `#if` or `#region`s. - -```cs -namespace MyNamespace -{ - public class MyClass1 - { - public bool FirstFunction(); - -#pragma warning disable 0618 // temporarily disable obsolete usage warning - CallObsoleteFunction(); -#pragma warning restore 0618 - - #region First Region - public bool SecondFunction(); - #endregion - - #region Second Region - public bool ThirdFunction(); - #endregion - } - -#if COMPILE_DEFINE - public class MyClass2 - { - } -#endif -} -``` - -* When splitting a statement or declaration, indent the split line by one level. -* When defining local delegates, do not indent the opening and closing braces. - -```cs -public float FunctionWithManyParameters() -{ - bool expression = CheckConditionOne() - && CheckConditionTwo() - && CheckConditionThree() - && CheckConditionFour(); - - Action localTask = () => - { - // [...] - } - - new AsyncTask(localTask).Execute(); - - new AsyncTask(() => - { - // [...] - }) - .Execute(); -} -``` - -## Code comments -* Enrich your code with meaningful comments. -* Use `//` for inline code comments, and `///` for API docs. -* Add xml API docs to all elements of the public API: classes, functions, properties, fields, and events. -* Comments should always start with a capital letter, be separated from the comment symbol by a space, and end with a period. -* All sentence-like parts of a comment (e.g. ` and ` texts) should end with a period. - - -```cs -/// -/// Explain the general intent and typical usage of the class here. -/// -public class ExampleClass -{ - /// - /// Provide additional detail here. - /// - public float ExampleProperty { get; private set; } - - /// - /// Provide details about what the function does. - /// - /// Explain parameter here. - /// Explain return type here. - /// When is this exception thrown. - public int ExampleFunction(float exampleParameter) - { - // [...] - } -} -``` - -* Avoid empty xml tags components like `param` or `return`. Either add a valuable descriptions, or remove the tag. - -```cs -public class ExampleClass -{ - //Do - - /// - /// This function computes the square root of a value. - /// - public float SquareRoot(float value) - { - // [...] - } - - // Don't - - /// - /// This function computes the square root of a value. - /// - /// - /// - public float SquareRoot(float value) - { - // [...] - } -} -``` - -## Whitespaces -* Use empty lines to separate classes/class members/blocks of statements. -* Do not use two or more consecutive empty lines (use regions instead to group blocks). -* Add a whitespace to separate a condition/iteration keyword (`if`, `while`, `for`, ...) and its braces. -* Do not use a whitespace to separate a function name and its brace. - -```cs -if (CheckParameters(param1, param2) && param3) -{ - // [...] -} - -while (pi == 3) -{ - // [...] -} - -SomeFunction(param); -``` - -* Add whitespaces after commas and around operators. - -```cs -if (CheckParameters(param1, param2) && param3) -{ - return param1 + (param2 * param3); -} -``` - -## Events - -* Use C# events - avoid UnityEvents, Actions, or similar. -* Use EventArgs classes instead of delegates or actions for event definitions. -* Use immutable `EventArgs` classes, which provide public readonly fields. Initialize these fields from a constructor. - -```cs -public class MyButton -{ - // Do - public class ClickedEventArgs : System.EventArgs - { - public readonly string SomeData; - public ClickedEventArgs(string data) - { - SomeData = data; - } - } - - public event EventHandler Clicked; - - // Don't - public delegate void ClickedEvent(string someData); - public event ClickedEvent Clicked; - - // Don't - public event Action Clicked; -} -``` - -* EventArgs classes end with `EventArgs`, and are derived from `System.EventArgs`. -* Name Events with a verb describing the event (without pre- or suffix), Loaded, Finished. -* Event handling functions start with `On`, followed by the scope and the event name. -* If an event can be triggered by a child class, provide a function called `EmitEVENTNAME`. - -```cs -public class MyButton -{ - public class ClickedEventArgs : System.EventArgs - { - public readonly string someData; - public ClickedEventArgs(string data) - { - someData = data; - } - } - - public event EventHandler Clicked; - - protected void EmitClicked(string data) - { - Clicked.Invoke(this, new ClickedEventArgs() { someData = data }); - } -} - -public class ButtonObserver -{ - public void Observe - { - new MyButton().Clicked += OnButtonClicked; - } - - private void OnButtonClicked(object sender, MyButton.ClickedEventArgs args) -} -``` - -## Logging - -* Prefer format syntax over explicit string concatenation. - -```cs -private void SomeFunction() -{ - int numberOfThings = 42; - - // Do - Debug.Log($"I know {numberOfThings} things"); - - // Or - Debug.LogFormat("I know {0} things", numberOfThings); - - // Don't - Debug.Log("I know " + numberOfThings + " things"); -} -``` - -## Exceptions - -* Exception names end with `Exception`. -* If exceptions are to be thrown by only one class, define them inside this class. -* Exceptions thrown by multiple sources are defined in a separate file, in the matching namespace (no Exceptions sub-namespace). - -## Access Modifiers - -* Only use public variables or Properties with public setters for data objects. -* Always specify an Access Modifier. - -```cs -public class MyClass -{ - // Do - private float myPrivateVariable1; - // Don't - float myPrivateVariable2; -} -``` - -## Unity-specific - -* Prefer private variables marked with `[SerializeField]` over public variables for Inspector fields. -* When using a public variable in a MonoBehaviour, still add `[SerializeField]` to ease detection of Inspector fields. -* Use the `[Tooltip("...")}` attribute in Inspector fields for documentation / usage hints. -* Always initialize Inspector fields (to prevent never-assigned-warnings). -* Avoid the automatic conversion from `UnityEngine.Object` to bool. -* When using Enum-typed Inspector fields, consider hard-wiring the enum values to prevent serialization errors when changing available enum values. - -```cs -// Do -if (gameObject != null) -{ - // [...] -} - -// Don't -if (gameObject) -{ - // [...] -} -``` - -## Lambdas - -* Prefer lambda-style expressions over delegate-style. - -```cs -// Do -(float param1, string param2) => {} - -// Don't -delegate(float param1, string param2) {} -``` - -* Prefer named functions over lambdas. -* Assign longer or more complex lambdas to named local `Action`/`Func`. -* If nested lambdas are required, assign each one to named local `Action`/`Func`. -* Avoid defining long lambdas directly as parameter of a function call. - -## Obsoletion - -* Avoid changes in code that break existing APIs (i.e. Class Names, Function Argument types, Renaming of public members / properties, return types). -* Use `System.Obsolete` to mark outdated code that will be removed in newer versions. -* When re-naming classes/properties/methods, try to maintain the old version tagged as obsolete. -* Obsolete code will be maintained for one (major) release, and is deleted afterwards. - -## Misc - -* Define class-specific Exceptions, Enums, EventArgs, ... inside the corresponding class. -* For Interfaces, define Exceptions, Enums, EventArgs, ... in the same file as the interface. -* Do not use `var`, always specify the full type name. -* Use `Invoke` to trigger actions or events. -* Only use `this.` before members where absolutely necessary. -* Decide whether or not to design for inheritance. - * If not intended to be derived from, make all non-public entities `private`. - * If intended to be derived from, take care to mark necessary entities `protected` and/or `virtual`. -* Consider using early returns in functions to prevent deeply nested scopes. -* Use parentheses to group parts of complex statements. - Especially, always group sub-clauses when combining different boolean operators. -* Do not omit the array type specifier when using array initialization lists. - -```cs -// Do -string[] myList = new string[] { "a", "b", "c", "d" }; - -// Don't -string[] myList = new [] { "a", "b", "c", "d" }; -``` - -* Do not prefix static method defined in the same or parent class with the class scope. \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/.github/CONTRIBUTING.md b/Source/Basic-Interaction-Component/.github/CONTRIBUTING.md deleted file mode 100644 index c17dabdb6..000000000 --- a/Source/Basic-Interaction-Component/.github/CONTRIBUTING.md +++ /dev/null @@ -1,174 +0,0 @@ -# How to contribute - -At Innoactive we want to thank you for being part of this community and helping us to improve the Creator. - -There are many ways to contribute, it could be by suggesting new features and ideas, reporting bugs, extending and modifying functionalities, and even from just using the Creator and developing amazing VR training applications. - -In this guide, we summarize how you can do all those actions. - -### Table of Contents: - -1. [Getting Started](#getting-started) -1. [Code of Conduct](#code-of-conduct) -1. [Feature Request](#feature-request) -1. [Bug Report](#bug-report) -1. [Submitting Changes](#submitting-changes) -1. [Maintainers](#maintainers) -1. [Coding Conventions](#coding-conventions) -1. [Source Control Commit Guidelines](#source-control-commit-guidelines) -1. [Contributors](#contributors) - -## Getting Started - -The easiest and simplest way to get started and try out the Creator is by downloading the latest version from our [resources site](http://developers.innoactive.de/creator/). - -Make sure to read the [documentation](http://developers.innoactive.de/documentation/creator/) for a deeper understanding of how the tool works. - -## Code of Conduct - -This project and everyone participating in it are governed by the [Innoactive Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to our [maintainers](#maintainers). - -## Feature Request - -We are keen to listen to your feature requests. - -To request a feature, please go to the `Issues` section of this repository and create a new issue using the `Feature request` template. Be as detailed as possible, if possible, try to include references, and explain what is the benefit of the feature. - -Make sure your idea is unique using the search functionality. If a similar feature request already exists, try providing additional information instead of creating a new issue. - -In the case that a similar feature request already exits but is closed without being resolved, you are welcome to create a new one if you think it makes sense. - -## Bug Report - -If you find an error in the source code, or experience one when using the Creator, you can help us by submitting a bug report issue to our GitHub issue tracker. - -Before submitting a new bug report, make sure there has not been reported already by using the search functionality in the issues section of this repository. - -To report a new bug, please go to the `Issues` section of this repository and create a new issue using the `Bug report` template. Be as detailed as possible, explain how to reproduce it, if possible, try to include references and rate of reproducibility. - -You can also [submit a Pull Request](#submitting-changes) with a fix! - -Creating comprehensive bug reports helps the community to quickly understand the problem and the severity. - -If you find a security vulnerability, do NOT open an issue. Contact a [maintainer](#maintainers) instead. - -Alternatively, customers can contact us directly using our [support channel](https://jira.innoactive.de/servicedesk/customer/portal/3). - -## Submitting Changes - -By default, this repository is protected, the only way to submit changes is by merging via [creating a pull request from a fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork), this is only intending to provide the best quality and add a security layer, we could detect and prevent new bugs, breaking functionalities and avoid violations to our [code convention](#coding-conventions). - -Use the [pull request template](PULL_REQUEST_TEMPLATE.md) for detail as much as possible all the changes included in the pull request, this way it is easier for everyone to review. - -Make sure to also follow the [Source Control Commit Guidelines](#source-control-commit-guidelines). - -See more about [Pull Requests](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) and [how to fork a repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo). - -## Maintainers - -Meet out maintainers: - -[tomwim](https://github.com/tomwim) | [SimonTheSourcerer](https://github.com/SimonTheSourcerer) | -:---: | :---: | -[Thomas W.](mailto:thomas.wimmer@innoactive.de) | [Simon L](mailto:simon.lerch@innoactive.de) - -Maintainers are responsible for this repository and its community. - -## Coding Conventions - -By encouraging coding conventions we ensure: - -* The code to having a consistent look, so that readers can focus on content, not layout. -* Enabling readers to understand the code more quickly by making assumptions based on previous experience. -* Facilitating copying, changing, and maintaining the code. -* Sticking to C# best practices. - -Please follow our [Coding Conventions](CODING_CONVENTIONS.md). - -## Source Control Commit Guidelines - -When committing to an Innoactive git project, please adhere to the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary). This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate automated release notes. - -### Commit Message Format -Every commit message consists of a **header** (mandatory), a **body**, and a **footer**. -The header has a special format that includes a **type** and **subject**: - -``` -: - -[optional body] - -[optional footer(s)] -``` - -Any line of the commit message cannot be longer than 100 characters! This allows the message to be easier -to read on GitHub as well as in various git tools. - -The footer should contain a [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) if any. - - -### Revert -If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit .`, where the hash is the SHA of the commit being reverted. - -### Type -Must be one of the following: - -* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) -* **ci**: Changes to our CI configuration files and scripts (example scopes: Circle, BrowserStack, SauceLabs) -* **docs**: Documentation only changes -* **feat**: A new feature -* **fix**: A bug fix -* **perf**: A code change that improves performance -* **refactor**: A code change that neither fixes a bug nor adds a feature -* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) -* **test**: Adding missing tests or correcting existing tests - -### Subject -The subject contains a succinct description of the change: - -* use the imperative, present tense: "change" not "changed" nor "changes" -* don't capitalize the first letter -* no dot (.) at the end - -### Body -Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". -The body should include the motivation for the change and contrast this with previous behavior. - -### Footer -The footer should contain any information about **Breaking Changes** and is also the place to -reference GitHub issues that this commit **Closes**. - -**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this. - -### Examples: - -#### Commit message with no body - -``` -docs: update changelog to beta.5 -``` - -#### Commit message with both -``` -fix: need to depend on latest rxjs and zone.js - -The version in our package.json gets copied to the one we publish, and users need the latest of these. -``` - -#### Commit message with multi-paragraph body and multiple footers -``` -fix: correct minor typos in code - -see the issue for details - -on typos fixed. - -Reviewed-by: Z -Refs #133 -``` - -See more [Conventional Commits Examples](https://www.conventionalcommits.org/en/v1.0.0/#examples) - -## Contributors - -Thank you all for your help, we appreciate all your [contributions](https://github.com/Innoactive/Creator/graphs/contributors). diff --git a/Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/BUG_REPORT.md deleted file mode 100644 index 37c0fd1ad..000000000 --- a/Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/BUG_REPORT.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -### Describe the bug - - -### Steps to Reproduce - - -1. -1. -1. -1. -1. - - -### Expected behavior - - -### Current behavior - - -### Screenshots - - -### Context (Environment) - - -### Possible Solution - \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md b/Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md deleted file mode 100644 index 55f231cb8..000000000 --- a/Source/Basic-Interaction-Component/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -### Is the feature request related to a problem? - - -### Proposal - - -### Alternatives - - -### Additional context - \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/.github/PULL_REQUEST_TEMPLATE.md b/Source/Basic-Interaction-Component/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 18ad54ac0..000000000 --- a/Source/Basic-Interaction-Component/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,38 +0,0 @@ -### Description - - -**Fixes**: # (issue) - -### Type of change - - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update - -### How Has This Been Tested? - - - -**Test Configuration**: - - -### Aditional Notes - - -### Checklist - - -- [ ] My code follows the [Coding Conventions](#coding-conventions) -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/.gitignore b/Source/Basic-Interaction-Component/.gitignore deleted file mode 100644 index 287da7c1e..000000000 --- a/Source/Basic-Interaction-Component/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/Assets/AssetStoreTools* - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.suo -*.tmp -*.user -*.userprefs -*.pidb -*.booproj -*.svd - - -# Unity3D generated meta files -*.pidb.meta - -# Unity3D Generated File On Crash Reports -sysinfo.txt - -# Builds -*.apk -*.unitypackage -site/ - -################# -# DocFx Ignores # -################# -/**/DROP/ -/**/TEMP/ -/**/packages/ -/**/bin/ -/**/obj/ -/**/obj.meta -.Documentation/_site -.Documentation/api diff --git a/Source/Basic-Interaction-Component/.releaserc.json b/Source/Basic-Interaction-Component/.releaserc.json deleted file mode 100644 index 7d34d68d6..000000000 --- a/Source/Basic-Interaction-Component/.releaserc.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "branch": "master", - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/github", - ["semantic-release-ado", { - "varName": "Version", - "setOnlyOnRelease": false - }] - ] - } \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/Editor/Converters.meta b/Source/Basic-Interaction-Component/Editor/Converters.meta deleted file mode 100644 index 014939e0c..000000000 --- a/Source/Basic-Interaction-Component/Editor/Converters.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bc47edcf1688ebe4fa092ff68191c374 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs b/Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs deleted file mode 100644 index 5868b9854..000000000 --- a/Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs +++ /dev/null @@ -1,34 +0,0 @@ -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.BasicInteraction.Properties; -using VRBuilder.Core.SceneObjects; - -namespace VRBuilder.Editor.ProcessUpgradeTool -{ - /// - /// Replaces an obsolete with a - /// with the same configuration. - /// -#pragma warning disable CS0618 // Type or member is obsolete - public class GrabbedObjectWithTagConditionConverter : Converter - { - /// - protected override GrabbedCondition PerformConversion(GrabbedObjectWithTagCondition oldCondition) -#pragma warning restore CS0618 // Type or member is obsolete - { - GrabbedCondition newCondition = new GrabbedCondition(); - - if (oldCondition.Data.Targets.HasValue()) - { - newCondition.Data.Targets = oldCondition.Data.Targets; - } - else - { -#pragma warning disable CS0618 // Type or member is obsolete - newCondition.Data.Targets = new MultipleScenePropertyReference(oldCondition.Data.Tag.Guid); -#pragma warning restore CS0618 // Type or member is obsolete - } - - return newCondition; - } - } -} diff --git a/Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs.meta b/Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs.meta deleted file mode 100644 index 25571f4c3..000000000 --- a/Source/Basic-Interaction-Component/Editor/Converters/GrabbedObjectWithTagConditionConverter.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0f3eda11b70eec941955afeab89f22f0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs b/Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs deleted file mode 100644 index 09ba83a74..000000000 --- a/Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.Linq; -using VRBuilder.BasicInteraction.Conditions; -using VRBuilder.BasicInteraction.Properties; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Unity; - -namespace VRBuilder.Editor.ProcessUpgradeTool -{ - /// - /// Replaces an obsolete with a - /// with the same configuration. - /// -#pragma warning disable CS0618 // Type or member is obsolete - public class SnappedObjectWithTagConditionConverter : Converter - { - /// - protected override SnappedCondition PerformConversion(SnappedObjectWithTagCondition oldCondition) -#pragma warning restore CS0618 // Type or member is obsolete - { - SnappedCondition newCondition = new SnappedCondition(); - - if (oldCondition.Data.TargetObjects.HasValue()) - { - newCondition.Data.TargetObjects = oldCondition.Data.TargetObjects; - } - else - { -#pragma warning disable CS0618 // Type or member is obsolete - newCondition.Data.TargetObjects = new MultipleScenePropertyReference(oldCondition.Data.Tag.Guid); -#pragma warning restore CS0618 // Type or member is obsolete - } - - if (oldCondition.Data.TargetSnapZone.HasValue()) - { - newCondition.Data.TargetSnapZone = oldCondition.Data.TargetSnapZone; - } -#pragma warning disable CS0618 // Type or member is obsolete - else if (string.IsNullOrEmpty(oldCondition.Data.ZoneToSnapInto.UniqueName) == false) - { - { - ProcessSceneObject referencedObject = SceneUtils.GetActiveAndInactiveComponents().FirstOrDefault(sceneObject => sceneObject.UniqueName == oldCondition.Data.ZoneToSnapInto.UniqueName); -#pragma warning restore CS0618 // Type or member is obsolete - - if (referencedObject != null) - { - newCondition.Data.TargetSnapZone = new SingleScenePropertyReference(referencedObject.Guid); - } - } - } - - return newCondition; - } - } -} \ No newline at end of file diff --git a/Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs.meta b/Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs.meta deleted file mode 100644 index 8be3e591c..000000000 --- a/Source/Basic-Interaction-Component/Editor/Converters/SnappedObjectWithTagConditionConverter.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2660e6263dd31df47b02734fb1db6948 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup.meta b/Source/Basic-Interaction-Component/Editor/RigSetup.meta deleted file mode 100644 index 017ef6cbf..000000000 --- a/Source/Basic-Interaction-Component/Editor/RigSetup.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1a04a2384d10d934bb7c479bd4c46e71 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Basic-Interaction-Component.meta b/Source/BasicInteraction.meta similarity index 100% rename from Source/Basic-Interaction-Component.meta rename to Source/BasicInteraction.meta diff --git a/Source/Basic-Interaction-Component/Editor.meta b/Source/BasicInteraction/Editor.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor.meta rename to Source/BasicInteraction/Editor.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor.meta b/Source/BasicInteraction/Editor/Setup.meta similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Editor.meta rename to Source/BasicInteraction/Editor/Setup.meta index 769dd80f7..e2a3d4685 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor.meta +++ b/Source/BasicInteraction/Editor/Setup.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 28c839245244a2042971f0d86d2102dc +guid: 80186d8f669f45842b8b1a409862a8c9 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs b/Source/BasicInteraction/Editor/Setup/DefaultRigSceneSetup.cs similarity index 96% rename from Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs rename to Source/BasicInteraction/Editor/Setup/DefaultRigSceneSetup.cs index e15f654a9..17ac5ac3f 100644 --- a/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs +++ b/Source/BasicInteraction/Editor/Setup/DefaultRigSceneSetup.cs @@ -3,11 +3,11 @@ using System.Linq; using UnityEngine; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.Setup; using VRBuilder.Core.Setup; using VRBuilder.Core.Utils; -using VRBuilder.Editor.Setup; -namespace VRBuilder.Editor.BasicInteraction.RigSetup +namespace VRBuilder.BasicInteraction.Editor.Setup { /// /// Setups the default rig for the active interaction component. diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs.meta b/Source/BasicInteraction/Editor/Setup/DefaultRigSceneSetup.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/RigSetup/DefaultRigSceneSetup.cs.meta rename to Source/BasicInteraction/Editor/Setup/DefaultRigSceneSetup.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/InteractionFrameworkSceneSetup.cs b/Source/BasicInteraction/Editor/Setup/InteractionFrameworkSceneSetup.cs similarity index 90% rename from Source/Basic-Interaction-Component/Editor/InteractionFrameworkSceneSetup.cs rename to Source/BasicInteraction/Editor/Setup/InteractionFrameworkSceneSetup.cs index a3ceb8d14..d3997c381 100644 --- a/Source/Basic-Interaction-Component/Editor/InteractionFrameworkSceneSetup.cs +++ b/Source/BasicInteraction/Editor/Setup/InteractionFrameworkSceneSetup.cs @@ -1,6 +1,7 @@ using UnityEngine; +using VRBuilder.Core.Editor.Setup; -namespace VRBuilder.Editor.BasicInteraction +namespace VRBuilder.BasicInteraction.Editor.Setup { /// /// This base class is supposed to be implemented by classes which will be called to setup the scene, @@ -13,7 +14,7 @@ public abstract class InteractionFrameworkSceneSetup : SceneSetup /// public override string Key { get; } = "InteractionFrameworkSetup"; - + /// /// Removes current MainCamera. /// diff --git a/Source/Basic-Interaction-Component/Editor/InteractionFrameworkSceneSetup.cs.meta b/Source/BasicInteraction/Editor/Setup/InteractionFrameworkSceneSetup.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/InteractionFrameworkSceneSetup.cs.meta rename to Source/BasicInteraction/Editor/Setup/InteractionFrameworkSceneSetup.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs b/Source/BasicInteraction/Editor/Setup/RigLoaderSceneSetup.cs similarity index 88% rename from Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs rename to Source/BasicInteraction/Editor/Setup/RigLoaderSceneSetup.cs index edac8362a..0d1abc64e 100644 --- a/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs +++ b/Source/BasicInteraction/Editor/Setup/RigLoaderSceneSetup.cs @@ -1,9 +1,9 @@ -using VRBuilder.BasicInteraction.RigSetup; -using VRBuilder.Core.Properties; -using UnityEngine; -using VRBuilder.Editor.Setup; +using UnityEngine; +using VRBuilder.BasicInteraction.RigSetup; +using VRBuilder.Core.Editor.Setup; +using VRBuilder.Core.SceneObjects; -namespace VRBuilder.Editor.BasicInteraction.RigSetup +namespace VRBuilder.BasicInteraction.Editor.Setup { /// /// Setups the rig loader, cleans up the scene and creates a dummy user. diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs.meta b/Source/BasicInteraction/Editor/Setup/RigLoaderSceneSetup.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/RigSetup/RigLoaderSceneSetup.cs.meta rename to Source/BasicInteraction/Editor/Setup/RigLoaderSceneSetup.cs.meta diff --git a/Source/Core/Editor/ProcessController/UI.meta b/Source/BasicInteraction/Editor/UI.meta similarity index 77% rename from Source/Core/Editor/ProcessController/UI.meta rename to Source/BasicInteraction/Editor/UI.meta index cc3cc6df2..2cd3248a4 100644 --- a/Source/Core/Editor/ProcessController/UI.meta +++ b/Source/BasicInteraction/Editor/UI.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cfc33e0fcef2b7d4a932819c6d0fba75 +guid: efb4fdac75889c94eae48833ce93eb29 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/Basic-Interaction-Component/Editor/Inspector.meta b/Source/BasicInteraction/Editor/UI/Inspector.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/Inspector.meta rename to Source/BasicInteraction/Editor/UI/Inspector.meta diff --git a/Source/Basic-Interaction-Component/Editor/Inspector/HasGuidValidationEditor.cs b/Source/BasicInteraction/Editor/UI/Inspector/HasGuidValidationEditor.cs similarity index 98% rename from Source/Basic-Interaction-Component/Editor/Inspector/HasGuidValidationEditor.cs rename to Source/BasicInteraction/Editor/UI/Inspector/HasGuidValidationEditor.cs index 2d27208a2..59f4ea8fc 100644 --- a/Source/Basic-Interaction-Component/Editor/Inspector/HasGuidValidationEditor.cs +++ b/Source/BasicInteraction/Editor/UI/Inspector/HasGuidValidationEditor.cs @@ -6,12 +6,12 @@ using UnityEngine.UIElements; using VRBuilder.BasicInteraction.Validation; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI; +using VRBuilder.Core.Editor.UI.GraphView.Windows; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UI.Windows; -namespace VRBuilder.Editor.BasicInteraction.Inspector +namespace VRBuilder.BasicInteraction.Editor.UI.Inspector { /// Notes: /// The class has lots of code duplication with ProcessSceneReferenceDrawer but creating a common code base will not be useful. diff --git a/Source/Basic-Interaction-Component/Editor/Inspector/HasGuidValidationEditor.cs.meta b/Source/BasicInteraction/Editor/UI/Inspector/HasGuidValidationEditor.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/Inspector/HasGuidValidationEditor.cs.meta rename to Source/BasicInteraction/Editor/UI/Inspector/HasGuidValidationEditor.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/InteractionRigSetupDrawer.cs b/Source/BasicInteraction/Editor/UI/Inspector/InteractionRigSetupDrawer.cs similarity index 92% rename from Source/Basic-Interaction-Component/Editor/RigSetup/InteractionRigSetupDrawer.cs rename to Source/BasicInteraction/Editor/UI/Inspector/InteractionRigSetupDrawer.cs index ee30d2348..e498c9029 100644 --- a/Source/Basic-Interaction-Component/Editor/RigSetup/InteractionRigSetupDrawer.cs +++ b/Source/BasicInteraction/Editor/UI/Inspector/InteractionRigSetupDrawer.cs @@ -1,30 +1,28 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Linq; -using VRBuilder.BasicInteraction.RigSetup; -using VRBuilder.Core.Utils; using UnityEditor; using UnityEditorInternal; using UnityEngine; +using VRBuilder.BasicInteraction.RigSetup; -namespace VRBuilder.Editor.BasicInteraction.RigSetup +namespace VRBuilder.BasicInteraction.Editor.UI.Inspector { - + [CustomEditor(typeof(InteractionRigSetup))] internal class InteractionRigSetupDrawer : UnityEditor.Editor { private readonly float lineHeight = EditorGUIUtility.singleLineHeight; - + private ReorderableList list; private List foundProvider = new List(); - + private GUIContent warningIcon; - + private void OnEnable() { - InteractionRigSetup rigSetup = (InteractionRigSetup) target; - + InteractionRigSetup rigSetup = (InteractionRigSetup)target; + if (Application.isPlaying == false) { foundProvider = rigSetup.UpdateRigList(); @@ -44,7 +42,7 @@ private void OnEnable() } InteractionRigProvider provider = FindProvider(rigSetup.PossibleInteractionRigs[index].Name); - + Rect labelRect = new Rect(rect.x, rect.y, rect.width - 2 * lineHeight - 4, lineHeight); if (provider != null) { @@ -55,14 +53,14 @@ private void OnEnable() Rect toggleRect = new Rect(rect.x + rect.width - 2 * lineHeight, rect.y, lineHeight, lineHeight); rigSetup.PossibleInteractionRigs[index].Enabled = EditorGUI.Toggle(toggleRect, rigSetup.PossibleInteractionRigs[index].Enabled); - + if (canBeUsed == false) { Rect warningRect = new Rect(rect.x + rect.width - lineHeight, rect.y, lineHeight, lineHeight); GUIContent labelContent = new GUIContent("", warningIcon.image, provider.GetSetupTooltip()); EditorGUI.LabelField(warningRect, labelContent); } - + } else { @@ -75,7 +73,7 @@ private void OnEnable() list.onReorderCallback = reorderableList => { foundProvider = rigSetup.UpdateRigList(); - }; + }; list.drawFooterCallback = rect => { }; } @@ -91,12 +89,12 @@ public override void OnInspectorGUI() { warningIcon = EditorGUIUtility.IconContent("Warning@2x"); } - + GUILayout.Box( "Enable/Disable available interaction Rigs, you are also able to prioritize them by changing the position in the array. Top most has the highest priority. The interaction Rig will be spawned at the USER GameObject."); serializedObject.Update(); list.DoLayoutList(); - + EditorGUILayout.PropertyField(serializedObject.FindProperty("DummyUser")); serializedObject.ApplyModifiedProperties(); } diff --git a/Source/Basic-Interaction-Component/Editor/RigSetup/InteractionRigSetupDrawer.cs.meta b/Source/BasicInteraction/Editor/UI/Inspector/InteractionRigSetupDrawer.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/RigSetup/InteractionRigSetupDrawer.cs.meta rename to Source/BasicInteraction/Editor/UI/Inspector/InteractionRigSetupDrawer.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/Inspector/IsObjectWithTagValidationEditor.cs b/Source/BasicInteraction/Editor/UI/Inspector/IsObjectWithTagValidationEditor.cs similarity index 97% rename from Source/Basic-Interaction-Component/Editor/Inspector/IsObjectWithTagValidationEditor.cs rename to Source/BasicInteraction/Editor/UI/Inspector/IsObjectWithTagValidationEditor.cs index 6ef17c2b5..3c57bb4f0 100644 --- a/Source/Basic-Interaction-Component/Editor/Inspector/IsObjectWithTagValidationEditor.cs +++ b/Source/BasicInteraction/Editor/UI/Inspector/IsObjectWithTagValidationEditor.cs @@ -1,15 +1,15 @@ +using System; using System.Collections.Generic; using System.Linq; -using System; using UnityEditor; using UnityEngine; +using VRBuilder.BasicInteraction.Validation; +using VRBuilder.Core.Editor.UI; +using VRBuilder.Core.Editor.UndoRedo; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UndoRedo; -using VRBuilder.BasicInteraction.Validation; -namespace VRBuilder.Editor.BasicInteraction.Inspector +namespace VRBuilder.BasicInteraction.Editor.UI.Inspector { [CustomEditor(typeof(IsObjectWithTagValidation))] [CanEditMultipleObjects] diff --git a/Source/Basic-Interaction-Component/Editor/Inspector/IsObjectWithTagValidationEditor.cs.meta b/Source/BasicInteraction/Editor/UI/Inspector/IsObjectWithTagValidationEditor.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/Inspector/IsObjectWithTagValidationEditor.cs.meta rename to Source/BasicInteraction/Editor/UI/Inspector/IsObjectWithTagValidationEditor.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems.meta b/Source/BasicInteraction/Editor/UI/MenuItems.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems.meta rename to Source/BasicInteraction/Editor/UI/MenuItems.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/GrabbedMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/GrabbedMenuItem.cs similarity index 76% rename from Source/Basic-Interaction-Component/Editor/MenuItems/GrabbedMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/GrabbedMenuItem.cs index 48d4ffa51..5db880840 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/GrabbedMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/GrabbedMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Conditions; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Conditions +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { public class GrabbedMenuItem : MenuItem { diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/GrabbedMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/GrabbedMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/GrabbedMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/GrabbedMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/ReleasedMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/ReleasedMenuItem.cs similarity index 76% rename from Source/Basic-Interaction-Component/Editor/MenuItems/ReleasedMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/ReleasedMenuItem.cs index 5eb534a51..1108b2b7b 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/ReleasedMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/ReleasedMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Conditions; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Conditions +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { public class ReleasedMenuItem : MenuItem { diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/ReleasedMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/ReleasedMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/ReleasedMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/ReleasedMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/SnappedMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/SnappedMenuItem.cs similarity index 76% rename from Source/Basic-Interaction-Component/Editor/MenuItems/SnappedMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/SnappedMenuItem.cs index 81279772e..04f181bf9 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/SnappedMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/SnappedMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Conditions; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Conditions +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { public class SnappedMenuItem : MenuItem { diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/SnappedMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/SnappedMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/SnappedMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/SnappedMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/TeleportMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/TeleportMenuItem.cs similarity index 79% rename from Source/Basic-Interaction-Component/Editor/MenuItems/TeleportMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/TeleportMenuItem.cs index 2e6412468..022248e9e 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/TeleportMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/TeleportMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Conditions; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Conditions +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { /// public class TeleportMenuItem : MenuItem diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/TeleportMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/TeleportMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/TeleportMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/TeleportMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/TouchedMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/TouchedMenuItem.cs similarity index 76% rename from Source/Basic-Interaction-Component/Editor/MenuItems/TouchedMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/TouchedMenuItem.cs index c36eb4609..3666c1d65 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/TouchedMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/TouchedMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Conditions; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Conditions +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { public class TouchedMenuItem : MenuItem { diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/TouchedMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/TouchedMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/TouchedMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/TouchedMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/UnsnapMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/UnsnapMenuItem.cs similarity index 77% rename from Source/Basic-Interaction-Component/Editor/MenuItems/UnsnapMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/UnsnapMenuItem.cs index 28c7d526f..71000d51f 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/UnsnapMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/UnsnapMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Behaviors; using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Behaviors +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { /// public class UnsnapMenuItem : MenuItem diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/UnsnapMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/UnsnapMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/UnsnapMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/UnsnapMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/UsedMenuItem.cs b/Source/BasicInteraction/Editor/UI/MenuItems/UsedMenuItem.cs similarity index 75% rename from Source/Basic-Interaction-Component/Editor/MenuItems/UsedMenuItem.cs rename to Source/BasicInteraction/Editor/UI/MenuItems/UsedMenuItem.cs index 776c57073..693bce44f 100644 --- a/Source/Basic-Interaction-Component/Editor/MenuItems/UsedMenuItem.cs +++ b/Source/BasicInteraction/Editor/UI/MenuItems/UsedMenuItem.cs @@ -1,8 +1,8 @@ using VRBuilder.BasicInteraction.Conditions; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.BasicInteraction.UI.Conditions +namespace VRBuilder.BasicInteraction.Editor.UI.MenuItems { public class UsedMenuItem : MenuItem { diff --git a/Source/Basic-Interaction-Component/Editor/MenuItems/UsedMenuItem.cs.meta b/Source/BasicInteraction/Editor/UI/MenuItems/UsedMenuItem.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/MenuItems/UsedMenuItem.cs.meta rename to Source/BasicInteraction/Editor/UI/MenuItems/UsedMenuItem.cs.meta diff --git a/Source/Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef b/Source/BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef similarity index 84% rename from Source/Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef rename to Source/BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef index 27feb6c93..df265a011 100644 --- a/Source/Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef +++ b/Source/BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef @@ -1,9 +1,9 @@ { - "name": "VRBuilder.Editor.BasicInteraction", + "name": "VRBuilder.BasicInteraction.Editor", "rootNamespace": "", "references": [ "VRBuilder.BasicInteraction", - "VRBuilder.Editor", + "VRBuilder.Core.Editor", "VRBuilder.Core" ], "includePlatforms": [ diff --git a/Source/Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef.meta b/Source/BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef.meta similarity index 100% rename from Source/Basic-Interaction-Component/Editor/VRBuilder.Editor.BasicInteraction.asmdef.meta rename to Source/BasicInteraction/Editor/VRBuilder.BasicInteraction.Editor.asmdef.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources.meta b/Source/BasicInteraction/Resources.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources.meta rename to Source/BasicInteraction/Resources.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/INTERACTION_RIG_LOADER.prefab b/Source/BasicInteraction/Resources/INTERACTION_RIG_LOADER.prefab similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/INTERACTION_RIG_LOADER.prefab rename to Source/BasicInteraction/Resources/INTERACTION_RIG_LOADER.prefab diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/INTERACTION_RIG_LOADER.prefab.meta b/Source/BasicInteraction/Resources/INTERACTION_RIG_LOADER.prefab.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/INTERACTION_RIG_LOADER.prefab.meta rename to Source/BasicInteraction/Resources/INTERACTION_RIG_LOADER.prefab.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/Materials.meta b/Source/BasicInteraction/Resources/Materials.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/Materials.meta rename to Source/BasicInteraction/Resources/Materials.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialSRP.mat b/Source/BasicInteraction/Resources/Materials/AnchorMaterialSRP.mat similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialSRP.mat rename to Source/BasicInteraction/Resources/Materials/AnchorMaterialSRP.mat diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialSRP.mat.meta b/Source/BasicInteraction/Resources/Materials/AnchorMaterialSRP.mat.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialSRP.mat.meta rename to Source/BasicInteraction/Resources/Materials/AnchorMaterialSRP.mat.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat b/Source/BasicInteraction/Resources/Materials/AnchorMaterialURP.mat similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat rename to Source/BasicInteraction/Resources/Materials/AnchorMaterialURP.mat diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat.meta b/Source/BasicInteraction/Resources/Materials/AnchorMaterialURP.mat.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/Materials/AnchorMaterialURP.mat.meta rename to Source/BasicInteraction/Resources/Materials/AnchorMaterialURP.mat.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/TeleportReticle.prefab b/Source/BasicInteraction/Resources/TeleportReticle.prefab similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/TeleportReticle.prefab rename to Source/BasicInteraction/Resources/TeleportReticle.prefab diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/TeleportReticle.prefab.meta b/Source/BasicInteraction/Resources/TeleportReticle.prefab.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/TeleportReticle.prefab.meta rename to Source/BasicInteraction/Resources/TeleportReticle.prefab.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/USER_DUMMY.prefab b/Source/BasicInteraction/Resources/USER_DUMMY.prefab similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/USER_DUMMY.prefab rename to Source/BasicInteraction/Resources/USER_DUMMY.prefab diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/USER_DUMMY.prefab.meta b/Source/BasicInteraction/Resources/USER_DUMMY.prefab.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/USER_DUMMY.prefab.meta rename to Source/BasicInteraction/Resources/USER_DUMMY.prefab.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab b/Source/BasicInteraction/Resources/VRBuilderAnchorPrefab.prefab similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab rename to Source/BasicInteraction/Resources/VRBuilderAnchorPrefab.prefab diff --git a/Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab.meta b/Source/BasicInteraction/Resources/VRBuilderAnchorPrefab.prefab.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Resources/VRBuilderAnchorPrefab.prefab.meta rename to Source/BasicInteraction/Resources/VRBuilderAnchorPrefab.prefab.meta diff --git a/Source/Basic-Interaction-Component/Runtime.meta b/Source/BasicInteraction/Runtime.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime.meta rename to Source/BasicInteraction/Runtime.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Behaviors.meta b/Source/BasicInteraction/Runtime/Behaviors.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Behaviors.meta rename to Source/BasicInteraction/Runtime/Behaviors.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Behaviors/UnsnapBehavior.cs b/Source/BasicInteraction/Runtime/Behaviors/UnsnapBehavior.cs similarity index 99% rename from Source/Basic-Interaction-Component/Runtime/Behaviors/UnsnapBehavior.cs rename to Source/BasicInteraction/Runtime/Behaviors/UnsnapBehavior.cs index a8e8b1448..9ff522dfd 100644 --- a/Source/Basic-Interaction-Component/Runtime/Behaviors/UnsnapBehavior.cs +++ b/Source/BasicInteraction/Runtime/Behaviors/UnsnapBehavior.cs @@ -3,6 +3,7 @@ using System.Collections; using System.Runtime.Serialization; using UnityEngine.Scripting; +using VRBuilder.BasicInteraction.Interaction; using VRBuilder.BasicInteraction.Properties; using VRBuilder.Core; using VRBuilder.Core.Attributes; diff --git a/Source/Basic-Interaction-Component/Runtime/Behaviors/UnsnapBehavior.cs.meta b/Source/BasicInteraction/Runtime/Behaviors/UnsnapBehavior.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Behaviors/UnsnapBehavior.cs.meta rename to Source/BasicInteraction/Runtime/Behaviors/UnsnapBehavior.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions.meta b/Source/BasicInteraction/Runtime/Conditions.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions.meta rename to Source/BasicInteraction/Runtime/Conditions.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedCondition.cs b/Source/BasicInteraction/Runtime/Conditions/GrabbedCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/GrabbedCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/GrabbedCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/GrabbedCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedObjectWithTagCondition.cs b/Source/BasicInteraction/Runtime/Conditions/GrabbedObjectWithTagCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedObjectWithTagCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/GrabbedObjectWithTagCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedObjectWithTagCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/GrabbedObjectWithTagCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/GrabbedObjectWithTagCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/GrabbedObjectWithTagCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/ReleasedCondition.cs b/Source/BasicInteraction/Runtime/Conditions/ReleasedCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/ReleasedCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/ReleasedCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/ReleasedCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/ReleasedCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/ReleasedCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/ReleasedCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/SnappedCondition.cs b/Source/BasicInteraction/Runtime/Conditions/SnappedCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/SnappedCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/SnappedCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/SnappedCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/SnappedCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/SnappedCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/SnappedCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/SnappedObjectWithTagCondition.cs b/Source/BasicInteraction/Runtime/Conditions/SnappedObjectWithTagCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/SnappedObjectWithTagCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/SnappedObjectWithTagCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/SnappedObjectWithTagCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/SnappedObjectWithTagCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/SnappedObjectWithTagCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/SnappedObjectWithTagCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/TeleportCondition.cs b/Source/BasicInteraction/Runtime/Conditions/TeleportCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/TeleportCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/TeleportCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/TeleportCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/TeleportCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/TeleportCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/TeleportCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/TouchedCondition.cs b/Source/BasicInteraction/Runtime/Conditions/TouchedCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/TouchedCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/TouchedCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/TouchedCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/TouchedCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/TouchedCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/TouchedCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/UsedCondition.cs b/Source/BasicInteraction/Runtime/Conditions/UsedCondition.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/UsedCondition.cs rename to Source/BasicInteraction/Runtime/Conditions/UsedCondition.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Conditions/UsedCondition.cs.meta b/Source/BasicInteraction/Runtime/Conditions/UsedCondition.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Conditions/UsedCondition.cs.meta rename to Source/BasicInteraction/Runtime/Conditions/UsedCondition.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction.meta b/Source/BasicInteraction/Runtime/Interaction.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Interaction.meta rename to Source/BasicInteraction/Runtime/Interaction.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/BaseInteractionSimulator.cs b/Source/BasicInteraction/Runtime/Interaction/BaseInteractionSimulator.cs similarity index 98% rename from Source/Basic-Interaction-Component/Runtime/Interaction/BaseInteractionSimulator.cs rename to Source/BasicInteraction/Runtime/Interaction/BaseInteractionSimulator.cs index 4d104aeb2..d680fad78 100644 --- a/Source/Basic-Interaction-Component/Runtime/Interaction/BaseInteractionSimulator.cs +++ b/Source/BasicInteraction/Runtime/Interaction/BaseInteractionSimulator.cs @@ -1,10 +1,10 @@ using System; using System.Linq; using UnityEngine; -using VRBuilder.Core.Utils; using UnityEngine.SceneManagement; +using VRBuilder.Core.Utils; -namespace VRBuilder.BasicInteraction +namespace VRBuilder.BasicInteraction.Interaction { /// /// Base interaction simulator, only have one concrete simulator implementation in your project. @@ -13,7 +13,7 @@ namespace VRBuilder.BasicInteraction public abstract class BaseInteractionSimulator { private static BaseInteractionSimulator instance; - + /// /// Current instance of the interaction simulator. /// @@ -80,12 +80,12 @@ private static void OnSceneLoad(Scene scene) /// Simulates a hover over a SnapZone. /// public abstract void HoverSnapZone(ISnapZone snapZone, IInteractableObject interactable); - + /// /// Simulates a unhover over a SnapZone. /// public abstract void UnhoverSnapZone(ISnapZone snapZone, IInteractableObject interactable); - + /// /// Returns the base class used for teleportation in your VR framework. /// diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/BaseInteractionSimulator.cs.meta b/Source/BasicInteraction/Runtime/Interaction/BaseInteractionSimulator.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Interaction/BaseInteractionSimulator.cs.meta rename to Source/BasicInteraction/Runtime/Interaction/BaseInteractionSimulator.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/IInteractableObject.cs b/Source/BasicInteraction/Runtime/Interaction/IInteractableObject.cs similarity index 93% rename from Source/Basic-Interaction-Component/Runtime/Interaction/IInteractableObject.cs rename to Source/BasicInteraction/Runtime/Interaction/IInteractableObject.cs index f3e5b9046..d9835d500 100644 --- a/Source/Basic-Interaction-Component/Runtime/Interaction/IInteractableObject.cs +++ b/Source/BasicInteraction/Runtime/Interaction/IInteractableObject.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace VRBuilder.BasicInteraction +namespace VRBuilder.BasicInteraction.Interaction { /// /// Base interface to determine that the given class is an interactable object. @@ -11,7 +11,7 @@ public interface IInteractableObject /// GameObject this interactable object is attached to. /// GameObject GameObject { get; } - + /// /// Determines if this interactable object can be touched. /// diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/IInteractableObject.cs.meta b/Source/BasicInteraction/Runtime/Interaction/IInteractableObject.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Interaction/IInteractableObject.cs.meta rename to Source/BasicInteraction/Runtime/Interaction/IInteractableObject.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/ISnapZone.cs b/Source/BasicInteraction/Runtime/Interaction/ISnapZone.cs similarity index 88% rename from Source/Basic-Interaction-Component/Runtime/Interaction/ISnapZone.cs rename to Source/BasicInteraction/Runtime/Interaction/ISnapZone.cs index f1180cf65..081c9c3e7 100644 --- a/Source/Basic-Interaction-Component/Runtime/Interaction/ISnapZone.cs +++ b/Source/BasicInteraction/Runtime/Interaction/ISnapZone.cs @@ -1,7 +1,7 @@ -using VRBuilder.BasicInteraction.Properties; -using UnityEngine; +using UnityEngine; +using VRBuilder.BasicInteraction.Properties; -namespace VRBuilder.BasicInteraction +namespace VRBuilder.BasicInteraction.Interaction { /// /// Base interface for SnapZone, if you add an custom interaction framework add this interface to your SnapZone implementation. @@ -12,27 +12,27 @@ public interface ISnapZone /// Returns if the SnapZone is empty. /// bool IsEmpty { get; } - + /// /// Returns the snapped object, can be null. /// ISnappableProperty SnappedObject { get; } - + /// /// Position where the object is snapped. /// Transform Anchor { get; } - + /// /// Returns if the object can be snapped at all. /// bool CanSnap(ISnappableProperty target); - + /// /// Forces the object to be snapped, returns true when it was snapped successfully. /// bool ForceSnap(ISnappableProperty target); - + /// /// Forces release the snapped object, will return false when there is no object. /// diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/ISnapZone.cs.meta b/Source/BasicInteraction/Runtime/Interaction/ISnapZone.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Interaction/ISnapZone.cs.meta rename to Source/BasicInteraction/Runtime/Interaction/ISnapZone.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/InteractionSimulatorDummy.cs b/Source/BasicInteraction/Runtime/Interaction/InteractionSimulatorDummy.cs similarity index 97% rename from Source/Basic-Interaction-Component/Runtime/Interaction/InteractionSimulatorDummy.cs rename to Source/BasicInteraction/Runtime/Interaction/InteractionSimulatorDummy.cs index 1b9487bcb..765f14d83 100644 --- a/Source/Basic-Interaction-Component/Runtime/Interaction/InteractionSimulatorDummy.cs +++ b/Source/BasicInteraction/Runtime/Interaction/InteractionSimulatorDummy.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace VRBuilder.BasicInteraction +namespace VRBuilder.BasicInteraction.Interaction { /// /// Interaction simulator dummy, does nothing beside of warning to there is no concrete implementation of a simulator. @@ -9,7 +9,7 @@ namespace VRBuilder.BasicInteraction public class BaseInteractionSimulatorDummy : BaseInteractionSimulator { private const string ErrorMessage = "You are using the interaction simulator without providing a concrete implementation for your VR interaction framework."; - + /// public override void Touch(IInteractableObject interactable) { diff --git a/Source/Basic-Interaction-Component/Runtime/Interaction/InteractionSimulatorDummy.cs.meta b/Source/BasicInteraction/Runtime/Interaction/InteractionSimulatorDummy.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Interaction/InteractionSimulatorDummy.cs.meta rename to Source/BasicInteraction/Runtime/Interaction/InteractionSimulatorDummy.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Locomotion.meta b/Source/BasicInteraction/Runtime/Locomotion.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Locomotion.meta rename to Source/BasicInteraction/Runtime/Locomotion.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Locomotion/BaseLocomotionHandler.cs b/Source/BasicInteraction/Runtime/Locomotion/BaseLocomotionHandler.cs similarity index 94% rename from Source/Basic-Interaction-Component/Runtime/Locomotion/BaseLocomotionHandler.cs rename to Source/BasicInteraction/Runtime/Locomotion/BaseLocomotionHandler.cs index 7d1512a25..5eaf95a8b 100644 --- a/Source/Basic-Interaction-Component/Runtime/Locomotion/BaseLocomotionHandler.cs +++ b/Source/BasicInteraction/Runtime/Locomotion/BaseLocomotionHandler.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace VRBuilder.BasicInteraction +namespace VRBuilder.BasicInteraction.Locomotion { /// /// Handles basic locomotion for e.g. rigs and provides an abstract locomotion layer. @@ -11,12 +11,12 @@ public abstract class BaseLocomotionHandler : MonoBehaviour /// Current rotation of the rig or camera. /// public abstract Quaternion CurrentRotation { get; } - + /// /// Current position of the rig or camera. /// public abstract Vector3 CurrentPosition { get; } - + /// /// Sets a new position and rotation for the rig or camera. /// diff --git a/Source/Basic-Interaction-Component/Runtime/Locomotion/BaseLocomotionHandler.cs.meta b/Source/BasicInteraction/Runtime/Locomotion/BaseLocomotionHandler.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Locomotion/BaseLocomotionHandler.cs.meta rename to Source/BasicInteraction/Runtime/Locomotion/BaseLocomotionHandler.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties.meta b/Source/BasicInteraction/Runtime/Properties.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties.meta rename to Source/BasicInteraction/Runtime/Properties.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/IGrabbableProperty.cs b/Source/BasicInteraction/Runtime/Properties/IGrabbableProperty.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/IGrabbableProperty.cs rename to Source/BasicInteraction/Runtime/Properties/IGrabbableProperty.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/IGrabbableProperty.cs.meta b/Source/BasicInteraction/Runtime/Properties/IGrabbableProperty.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/IGrabbableProperty.cs.meta rename to Source/BasicInteraction/Runtime/Properties/IGrabbableProperty.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ISnapZoneProperty.cs b/Source/BasicInteraction/Runtime/Properties/ISnapZoneProperty.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ISnapZoneProperty.cs rename to Source/BasicInteraction/Runtime/Properties/ISnapZoneProperty.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ISnapZoneProperty.cs.meta b/Source/BasicInteraction/Runtime/Properties/ISnapZoneProperty.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ISnapZoneProperty.cs.meta rename to Source/BasicInteraction/Runtime/Properties/ISnapZoneProperty.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ISnappableProperty.cs b/Source/BasicInteraction/Runtime/Properties/ISnappableProperty.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ISnappableProperty.cs rename to Source/BasicInteraction/Runtime/Properties/ISnappableProperty.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ISnappableProperty.cs.meta b/Source/BasicInteraction/Runtime/Properties/ISnappableProperty.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ISnappableProperty.cs.meta rename to Source/BasicInteraction/Runtime/Properties/ISnappableProperty.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ITeleportationProperty.cs b/Source/BasicInteraction/Runtime/Properties/ITeleportationProperty.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ITeleportationProperty.cs rename to Source/BasicInteraction/Runtime/Properties/ITeleportationProperty.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ITeleportationProperty.cs.meta b/Source/BasicInteraction/Runtime/Properties/ITeleportationProperty.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ITeleportationProperty.cs.meta rename to Source/BasicInteraction/Runtime/Properties/ITeleportationProperty.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ITouchableProperty.cs b/Source/BasicInteraction/Runtime/Properties/ITouchableProperty.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ITouchableProperty.cs rename to Source/BasicInteraction/Runtime/Properties/ITouchableProperty.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/ITouchableProperty.cs.meta b/Source/BasicInteraction/Runtime/Properties/ITouchableProperty.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/ITouchableProperty.cs.meta rename to Source/BasicInteraction/Runtime/Properties/ITouchableProperty.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/IUsableProperty.cs b/Source/BasicInteraction/Runtime/Properties/IUsableProperty.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/IUsableProperty.cs rename to Source/BasicInteraction/Runtime/Properties/IUsableProperty.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Properties/IUsableProperty.cs.meta b/Source/BasicInteraction/Runtime/Properties/IUsableProperty.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Properties/IUsableProperty.cs.meta rename to Source/BasicInteraction/Runtime/Properties/IUsableProperty.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup.meta b/Source/BasicInteraction/Runtime/RigSetup.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup.meta rename to Source/BasicInteraction/Runtime/RigSetup.meta diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigProvider.cs b/Source/BasicInteraction/Runtime/RigSetup/InteractionRigProvider.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigProvider.cs rename to Source/BasicInteraction/Runtime/RigSetup/InteractionRigProvider.cs diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigProvider.cs.meta b/Source/BasicInteraction/Runtime/RigSetup/InteractionRigProvider.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigProvider.cs.meta rename to Source/BasicInteraction/Runtime/RigSetup/InteractionRigProvider.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigSetup.cs b/Source/BasicInteraction/Runtime/RigSetup/InteractionRigSetup.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigSetup.cs rename to Source/BasicInteraction/Runtime/RigSetup/InteractionRigSetup.cs diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigSetup.cs.meta b/Source/BasicInteraction/Runtime/RigSetup/InteractionRigSetup.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup/InteractionRigSetup.cs.meta rename to Source/BasicInteraction/Runtime/RigSetup/InteractionRigSetup.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup/NoRigSetup.cs b/Source/BasicInteraction/Runtime/RigSetup/NoRigSetup.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup/NoRigSetup.cs rename to Source/BasicInteraction/Runtime/RigSetup/NoRigSetup.cs diff --git a/Source/Basic-Interaction-Component/Runtime/RigSetup/NoRigSetup.cs.meta b/Source/BasicInteraction/Runtime/RigSetup/NoRigSetup.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/RigSetup/NoRigSetup.cs.meta rename to Source/BasicInteraction/Runtime/RigSetup/NoRigSetup.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/VRBuilder.BasicInteraction.asmdef b/Source/BasicInteraction/Runtime/VRBuilder.BasicInteraction.asmdef similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/VRBuilder.BasicInteraction.asmdef rename to Source/BasicInteraction/Runtime/VRBuilder.BasicInteraction.asmdef diff --git a/Source/Basic-Interaction-Component/Runtime/VRBuilder.BasicInteraction.asmdef.meta b/Source/BasicInteraction/Runtime/VRBuilder.BasicInteraction.asmdef.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/VRBuilder.BasicInteraction.asmdef.meta rename to Source/BasicInteraction/Runtime/VRBuilder.BasicInteraction.asmdef.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Validation.meta b/Source/BasicInteraction/Runtime/Validation.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation.meta rename to Source/BasicInteraction/Runtime/Validation.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/HasGuidValidation.cs b/Source/BasicInteraction/Runtime/Validation/HasGuidValidation.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/HasGuidValidation.cs rename to Source/BasicInteraction/Runtime/Validation/HasGuidValidation.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/HasGuidValidation.cs.meta b/Source/BasicInteraction/Runtime/Validation/HasGuidValidation.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/HasGuidValidation.cs.meta rename to Source/BasicInteraction/Runtime/Validation/HasGuidValidation.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/IsObjectWithTagValidation.cs b/Source/BasicInteraction/Runtime/Validation/IsObjectWithTagValidation.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/IsObjectWithTagValidation.cs rename to Source/BasicInteraction/Runtime/Validation/IsObjectWithTagValidation.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/IsObjectWithTagValidation.cs.meta b/Source/BasicInteraction/Runtime/Validation/IsObjectWithTagValidation.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/IsObjectWithTagValidation.cs.meta rename to Source/BasicInteraction/Runtime/Validation/IsObjectWithTagValidation.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/IsProcessSceneObjectValidation.cs b/Source/BasicInteraction/Runtime/Validation/IsProcessSceneObjectValidation.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/IsProcessSceneObjectValidation.cs rename to Source/BasicInteraction/Runtime/Validation/IsProcessSceneObjectValidation.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/IsProcessSceneObjectValidation.cs.meta b/Source/BasicInteraction/Runtime/Validation/IsProcessSceneObjectValidation.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/IsProcessSceneObjectValidation.cs.meta rename to Source/BasicInteraction/Runtime/Validation/IsProcessSceneObjectValidation.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/Validator.cs b/Source/BasicInteraction/Runtime/Validation/Validator.cs similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/Validator.cs rename to Source/BasicInteraction/Runtime/Validation/Validator.cs diff --git a/Source/Basic-Interaction-Component/Runtime/Validation/Validator.cs.meta b/Source/BasicInteraction/Runtime/Validation/Validator.cs.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Validation/Validator.cs.meta rename to Source/BasicInteraction/Runtime/Validation/Validator.cs.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets.meta b/Source/BasicInteraction/StaticAssets.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets.meta rename to Source/BasicInteraction/StaticAssets.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials.meta b/Source/BasicInteraction/StaticAssets/Materials.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Materials.meta rename to Source/BasicInteraction/StaticAssets/Materials.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/Opaque-Queue-Line.mat b/Source/BasicInteraction/StaticAssets/Materials/Opaque-Queue-Line.mat similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/Opaque-Queue-Line.mat rename to Source/BasicInteraction/StaticAssets/Materials/Opaque-Queue-Line.mat diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/Opaque-Queue-Line.mat.meta b/Source/BasicInteraction/StaticAssets/Materials/Opaque-Queue-Line.mat.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Materials/Opaque-Queue-Line.mat.meta rename to Source/BasicInteraction/StaticAssets/Materials/Opaque-Queue-Line.mat.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders.meta b/Source/BasicInteraction/StaticAssets/Shaders.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders.meta rename to Source/BasicInteraction/StaticAssets/Shaders.meta diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/Unlit-Line-Opaque.shader b/Source/BasicInteraction/StaticAssets/Shaders/Unlit-Line-Opaque.shader similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/Unlit-Line-Opaque.shader rename to Source/BasicInteraction/StaticAssets/Shaders/Unlit-Line-Opaque.shader diff --git a/Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/Unlit-Line-Opaque.shader.meta b/Source/BasicInteraction/StaticAssets/Shaders/Unlit-Line-Opaque.shader.meta similarity index 100% rename from Source/Basic-Interaction-Component/Runtime/Static Assets/Shaders/Unlit-Line-Opaque.shader.meta rename to Source/BasicInteraction/StaticAssets/Shaders/Unlit-Line-Opaque.shader.meta diff --git a/Source/Core/.azure-documentation-release.yml b/Source/Core/.azure-documentation-release.yml deleted file mode 100644 index b3b6123cc..000000000 --- a/Source/Core/.azure-documentation-release.yml +++ /dev/null @@ -1,79 +0,0 @@ -resources: - repositories: - - repository: DocuTheme - type: github - endpoint: Innoactive - name: Innoactive/Hub-Documentation-DocFx-Theme - -trigger: - branches: - include: - - master - - develop - paths: - include: - - '.Documentation/*' - -pr: none - -parameters: -- name: release - type: boolean - default: false - -pool: Unity - -jobs: - - job: - displayName: "Build and Publish Documentation" - workspace: - clean: all - - steps: - - checkout: DocuTheme - lfs: true - - checkout: self - lfs: true - - - powershell: | - $TAG = (git describe --all --match "v*").Split("-")[0].Replace("tags/", "").TrimStart("v") - Write-Host "##vso[task.setvariable variable=Version]$TAG" - workingDirectory: 'Creator' - displayName: 'Parse build Tag' - - - task: CopyFiles@2 - inputs: - SourceFolder: 'Hub-Documentation-DocFx-Theme/' - Contents: '**' - TargetFolder: 'Creator/.Documentation/theme' - displayName: Copy Theme - - - task: Npm@1 - inputs: - command: 'custom' - workingDir: 'Creator/.Documentation/theme' - customCommand: 'install' - displayName: Prepare Theme - - - task: Npm@1 - inputs: - command: 'custom' - workingDir: 'Creator/.Documentation/theme' - customCommand: 'run build' - displayName: Build Theme - - - task: NuGetCommand@2 - inputs: - command: 'custom' - arguments: 'install docfx.console -Version 2.54.0' - displayName: Installing DocFx - - - script: docfx --globalMetadata "{_gaTrackingId:\"$(gaTrackingId)\",_version:\"v$(Version)\"}" Creator\.Documentation\docfx.json - displayName: "Building Documentation" - - - task: PublishPipelineArtifact@1 - inputs: - targetPath: 'Creator/.Documentation/_site' - artifact: 'documentation' - publishLocation: 'pipeline' - displayName: Store Documentation \ No newline at end of file diff --git a/Source/Core/.azure-pipelines.yml b/Source/Core/.azure-pipelines.yml deleted file mode 100644 index 1ed63219f..000000000 --- a/Source/Core/.azure-pipelines.yml +++ /dev/null @@ -1,187 +0,0 @@ -resources: - repositories: - - repository: UnityProject - type: github - endpoint: Innoactive - name: Innoactive/Empty-Unity-Project-2019 - ref: develop - - repository: Templates - type: github - endpoint: Innoactive - name: Innoactive/Creator-Azure-Templates - ref: master - -trigger: - - master - - develop - -pr: - branches: - include: - - develop - -pool: Unity - -variables: - - group: basic-unity - -stages: - - stage: Lint - displayName: Lint - jobs: - - job: CommitMessageCheck - displayName: Commit Message Check - steps: - - script: npm install @commitlint/cli commitlint-azure-pipelines-cli @commitlint/config-conventional - - script: > - npx - -p @commitlint/cli - -p commitlint-azure-pipelines-cli - -p @commitlint/config-conventional - commitlint-azure-pipelines --config .commitlintrc.json - - - stage: Build - displayName: 'Build & Test' - condition: succeeded() - jobs: - - job: build - workspace: - clean: all - steps: - - checkout: UnityProject - lfs: true - - checkout: self - lfs: true - - - task: CopyFiles@2 - inputs: - SourceFolder: 'Empty-Unity-Project-2019/' - Contents: '**' - TargetFolder: '$(Path.Project)' - displayName: Copy base Project - - - task: CopyFiles@2 - inputs: - SourceFolder: 'Creator/' - Contents: '**' - TargetFolder: '$(Path.Creator)/Core' - displayName: Copy Creator Core - - - task: PowerShell@2 - displayName: Build Project - inputs: - targetType: 'inline' - script: | - u3d available -f - u3d install $(UnityVersion) - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor-build.log -nographics -quit -batchmode -buildWindows64Player Build\\TestBuild\\TestBuild.exe - - - task: PowerShell@2 - displayName: Run Tests - inputs: - targetType: 'inline' - script: | - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_editmode_tests.log -batchmode -runTests -testPlatform editmode -testResults $(System.DefaultWorkingDirectory)\TEST-EditMode.xml - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_playmode_tests.log -batchmode -runTests -testPlatform playmode -testResults $(System.DefaultWorkingDirectory)\TEST-PlayMode.xml - - - task: PublishTestResults@2 - inputs: - testResultsFormat: "NUnit" - testResultsFiles: "TEST-*.xml" - - - task: UseNode@1 - - - task: PowerShell@2 - displayName: "Run Semantic release" - condition: eq(variables['Build.SourceBranchName'], 'master') - inputs: - targetType: 'inline' - script: | - npx -p semantic-release-ado semantic-release - workingDirectory: "Creator/" - env: - GH_TOKEN: "$(GITHUB_TOKEN)" - - - template: replace-string.yml@Templates - parameters: - FilePathInCreator: 'Core/Editor/Analytics/GoogleTracker.cs' - OldString: '$(DEV_TRACKING_ID)' - NewString: '$(LIVE_TRACKING_ID)' - Condition: eq(variables['Build.SourceBranchName'], 'master') - - - task: PowerShell@2 - displayName: Fetch version from git - condition: ne(variables['Build.SourceBranchName'], 'master') - inputs: - targetType: 'inline' - script: | - $TAG = (git tag -l "v*" --sort=committerdate | Select -last 1) - if(!$TAG) { $TAG = "v0.0.0" } - $TAG = $TAG.TrimStart("v") + "-" + (git log -1 --pretty=format:%h) - Write-Host "##vso[task.setvariable variable=Version]$TAG" - workingDirectory: "Creator/" - - - task: PowerShell@2 - displayName: Publish variables - inputs: - targetType: 'inline' - script: | - echo "##vso[task.setvariable variable=Version;isOutput=true]v$(Version)" - name: ExportedVariables - - - task: PowerShell@2 - displayName: Export Unity package - inputs: - targetType: 'inline' - script: | - echo 'Exporting version $(Version)' - ((Get-Content -path $(Path.ExportConfig)/$(ExportConfigName) -Raw) -replace '{version}','v$(Version)') | Set-Content -Path $(Path.Project)/export-config.json - u3d run -u $(UnityVersion) -- -projectPath '$(Path.Project)' -logFile $(Build.ArtifactStagingDirectory)/logs/editor_export.log -batchmode -quit -executeMethod Innoactive.CreatorEditor.PackageExporter.Export --export-config export-config.json - Start-Sleep -s 5 - - - task: PublishPipelineArtifact@1 - displayName: "Publish Unity Package" - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/packages/" - artifact: "creator-core-unitypackage" - publishLocation: "pipeline" - - - task: PublishPipelineArtifact@1 - displayName: "Publish Logs" - condition: always() - continueOnError: true - inputs: - targetPath: "$(Build.ArtifactStagingDirectory)/logs/" - artifact: "creator-core-logs-$(System.JobId)" - publishLocation: "pipeline" - - - stage: Release - displayName: Release - dependsOn: - - Lint - - Build - condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master')) - jobs: - - job: - workspace: - clean: all - variables: - Version: $[stageDependencies.Build.build.outputs['ExportedVariables.Version']] - steps: - - task: DownloadPipelineArtifact@2 - displayName: 'Download exported package' - inputs: - buildType: 'current' - artifactName: 'creator-core-unitypackage' - targetPath: '$(Build.ArtifactStagingDirectory)/packages/' - - - task: GitHubRelease@1 - inputs: - gitHubConnection: 'Github.com - Jenkins / CI User' - repositoryName: 'Innoactive/Creator' - action: 'edit' - target: '$(Build.SourceVersion)' - tag: '$(Version)' - assetUploadMode: "replace" - assets: "$(Build.ArtifactStagingDirectory)/packages/*" - addChangeLog: false diff --git a/Source/Core/.commitlintrc.json b/Source/Core/.commitlintrc.json deleted file mode 100644 index 14473e999..000000000 --- a/Source/Core/.commitlintrc.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": ["@commitlint/config-conventional"] } \ No newline at end of file diff --git a/Source/Core/.editorconfig b/Source/Core/.editorconfig deleted file mode 100644 index b9ee9a93d..000000000 --- a/Source/Core/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# see http://editorconfig.org/ for docs on this file - -[*] -indent_style = space -indent_size = 4 -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -# trailing whitespace is significant in markdown (bad choice, bad!) -[*.{md,markdown}] -trim_trailing_whitespace = false - -# keep these and the VS stuff below in sync with .hgeol's CRLF extensions -[*.{vcproj,bat,cmd,xaml,tt,t4,ttinclude}] -end_of_line = crlf diff --git a/Source/Core/.gitattributes b/Source/Core/.gitattributes deleted file mode 100644 index f02d6ffc6..000000000 --- a/Source/Core/.gitattributes +++ /dev/null @@ -1,129 +0,0 @@ -# Kindly borrowed (and extended) -# from https://gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f - -# Set the default behavior, in case people don't have core.autocrlf set. -* text=auto - -## Unity ## - -*.cs diff=csharp text -*.cginc text -*.shader text - -# linguist-generated leads to diffs not being shown on github -# see https://github.com/github/linguist#generated-code and -# https://stackoverflow.com/a/24382933/1142028 -*.mat binary merge=unityyamlmerge linguist-generated=true -*.anim binary merge=unityyamlmerge linguist-generated=true -*.unity binary merge=unityyamlmerge linguist-generated=true -*.prefab binary merge=unityyamlmerge linguist-generated=true -*.physicsMaterial2D binary merge=unityyamlmerge linguist-generated=true -*.physicsMaterial binary merge=unityyamlmerge linguist-generated=true -#*.asset binary merge=unityyamlmerge linguist-generated=true -*.meta binary merge=unityyamlmerge linguist-generated=true -*.controller binary merge=unityyamlmerge linguist-generated=true - -## git-lfs ## - -# Graphics -*.jpg filter=lfs diff=lfs merge=lfs -text -*.JPG filter=lfs diff=lfs merge=lfs -text -*.jpeg filter=lfs diff=lfs merge=lfs -text -*.JPEG filter=lfs diff=lfs merge=lfs -text -*.png filter=lfs diff=lfs merge=lfs -text -*.PNG filter=lfs diff=lfs merge=lfs -text -*.psd filter=lfs diff=lfs merge=lfs -text -*.PSD filter=lfs diff=lfs merge=lfs -text -*.ai filter=lfs diff=lfs merge=lfs -text -*.AI filter=lfs diff=lfs merge=lfs -text -*.bmp filter=lfs diff=lfs merge=lfs -text -*.BMP filter=lfs diff=lfs merge=lfs -text -*.gif filter=lfs diff=lfs merge=lfs -text -*.GIF filter=lfs diff=lfs merge=lfs -text -*.img filter=lfs diff=lfs merge=lfs -text -*.IMG filter=lfs diff=lfs merge=lfs -text -*.tif filter=lfs diff=lfs merge=lfs -text -*.TIF filter=lfs diff=lfs merge=lfs -text -*.xcf filter=lfs diff=lfs merge=lfs -text -*.XCV filter=lfs diff=lfs merge=lfs -text -*.tga filter=lfs diff=lfs merge=lfs -text -*.TGA filter=lfs diff=lfs merge=lfs -text - -# Videos -*.mpg filter=lfs diff=lfs merge=lfs -text -*.MPG filter=lfs diff=lfs merge=lfs -text -*.mpeg filter=lfs diff=lfs merge=lfs -text -*.MPEG filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text -*.MP4 filter=lfs diff=lfs merge=lfs -text -*.avi filter=lfs diff=lfs merge=lfs -text -*.AVI filter=lfs diff=lfs merge=lfs -text -*.asf filter=lfs diff=lfs merge=lfs -text -*.ASF filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text -*.MP4 filter=lfs diff=lfs merge=lfs -text -*.mov filter=lfs diff=lfs merge=lfs -text -*.MOV filter=lfs diff=lfs merge=lfs -text - -# Audio -*.mp3 filter=lfs diff=lfs merge=lfs -text -*.MP3 filter=lfs diff=lfs merge=lfs -text -*.ogg filter=lfs diff=lfs merge=lfs -text -*.OGG filter=lfs diff=lfs merge=lfs -text -*.wav filter=lfs diff=lfs merge=lfs -text -*.WAV filter=lfs diff=lfs merge=lfs -text - -# Models -*.obj filter=lfs diff=lfs merge=lfs -text -*.OBJ filter=lfs diff=lfs merge=lfs -text -*.fbx filter=lfs diff=lfs merge=lfs -text -*.FBX filter=lfs diff=lfs merge=lfs -text -*.ply filter=lfs diff=lfs merge=lfs -text -*.PLY filter=lfs diff=lfs merge=lfs -text -*.raw filter=lfs diff=lfs merge=lfs -text -*.RAW filter=lfs diff=lfs merge=lfs -text -*.blend filter=lfs diff=lfs merge=lfs -text -*.BLEND filter=lfs diff=lfs merge=lfs -text -*.3ds filter=lfs diff=lfs merge=lfs -text -*.3DS filter=lfs diff=lfs merge=lfs -text -*.stl filter=lfs diff=lfs merge=lfs -text -*.STL filter=lfs diff=lfs merge=lfs -text -*.pmd filter=lfs diff=lfs merge=lfs -text -*.PMD filter=lfs diff=lfs merge=lfs -text -*.mesh filter=lfs diff=lfs merge=lfs -text -*.MESH filter=lfs diff=lfs merge=lfs -text - -# Libs -*.dll filter=lfs diff=lfs merge=lfs -text -*.DLL filter=lfs diff=lfs merge=lfs -text -*.a filter=lfs diff=lfs merge=lfs -text -*.A filter=lfs diff=lfs merge=lfs -text -*.so filter=lfs diff=lfs merge=lfs -text -*.SO filter=lfs diff=lfs merge=lfs -text -*.lib filter=lfs diff=lfs merge=lfs -text -*.LIB filter=lfs diff=lfs merge=lfs -text -*.jar filter=lfs diff=lfs merge=lfs -text -*.JAR filter=lfs diff=lfs merge=lfs -text - -# Unity Light Build -*.exr filter=lfs diff=lfs merge=lfs -text -*.EXR filter=lfs diff=lfs merge=lfs -text -LightingData.asset filter=lfs diff=lfs merge=lfs -text - -# Others -*.pdf filter=lfs diff=lfs merge=lfs -text -*.PDF filter=lfs diff=lfs merge=lfs -text -*.r16 filter=lfs diff=lfs merge=lfs -text -*.R16 filter=lfs diff=lfs merge=lfs -text -*.zip filter=lfs diff=lfs merge=lfs -text -*.unitypackage filter=lfs diff=lfs merge=lfs -text -*.aif filter=lfs diff=lfs merge=lfs -text -*.ttf filter=lfs diff=lfs merge=lfs -text -*.TTF filter=lfs diff=lfs merge=lfs -text -*.rns filter=lfs diff=lfs merge=lfs -text -*.reason filter=lfs diff=lfs merge=lfs -text -*.lxo filter=lfs diff=lfs merge=lfs -text - -# 3D Modelling tools -*.sbs filter=lfs diff=lfs merge=lfs -text -*.max filter=lfs diff=lfs merge=lfs -text diff --git a/Source/Core/.github/CODE_OF_CONDUCT.md b/Source/Core/.github/CODE_OF_CONDUCT.md deleted file mode 100644 index 9716a0ad6..000000000 --- a/Source/Core/.github/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,85 +0,0 @@ -# Contributor Code of Conduct - -**Table of Contents:** - -* [Summary](#summary) -* [Our Standards](#our-standards) -* [Our Responsibilities](#our-responsibilities) -* [Scope](#scope) -* [Enforcement](#enforcement) -* [Attribution](#attribution) - -**Version**: 1.0.0 - -## Summary - -In order to keep the Open Source Innoactive community a warm, welcoming, and a safe place we ask that all participants read and adhere to the following code of conduct. - -* **Be friendly and patient:** Remember you might not be communicating in someone else's primary spoken or programming language, and others may not have your level of understanding. - -* **Be welcoming and inclusive:** Our communities welcome and support people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, color, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability. - -* **Be considerate:** Your work will be used by other people, and you in turn will depend on the work of others. Any decision you take will affect users and colleagues, and you should take those consequences into account when making decisions. Remember that we're a world-wide community, so you might not be communicating in someone else's primary language. - -* **Be respectful:** We are a world-wide community of professionals, and we conduct ourselves professionally. Disagreement is no excuse for poor behavior and poor manners. Disrespectful and unacceptable behavior includes, but is not limited to: - * Violent threats or language. - * Discriminatory or derogatory jokes and language. - * Posting sexually explicit or violent material. - * Posting, or threatening to post, people's personally identifying information ("doxing"). - * Insults, especially those using discriminatory terms or slurs. - * Behavior that could be perceived as sexual attention. - * Advocating for or encouraging any of the above behaviors. - -* **Understand disagreements:** Disagreements, both social and technical, are useful learning opportunities. Seek to understand the other viewpoints and resolve differences constructively. - -* **This code is not exhaustive or complete.** It serves to capture our common understanding of a productive, collaborative environment. We expect the code to be followed in spirit as much as in the letter. - -We expect all contributors to uphold our standards of conduct. If any member of the community violates this code of conduct, the Innoactive team and project maintainers will take action. We reserve the right to remove issues, comments, and PRs that do not comply with our conduct standards. Repeated or significant offenses will result in blocked accounts and disassociation with our projects and the Innoactive community. - -If you are subject to or witness unacceptable behavior, or have any other concerns, please communicate with any of our [maintainers](CONTRIBUTING.md#maintainers). - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling -* Insults or other derogatory comments -* Personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, discussions in a public or private Innoactive channel, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise, unacceptable behavior may be reported by contacting any of our [maintainers](CONTRIBUTING.md#maintainers). - -All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. We are obligated to maintain confidentiality concerning the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This code of conduct is based on the template established by the [TODO Group](https://todogroup.org/) and used by numerous other large communities (e.g., Microsoft, Facebook, Twitter, GitHub and the Scope section from the [Contributor Covenant](https://www.contributor-covenant.org), [version 1.4](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html). - -For answers to common questions about this code of conduct, see [Contributor Covenant's F.A.Q.](https://www.contributor-covenant.org/faq). diff --git a/Source/Core/.github/CODING_CONVENTIONS.md b/Source/Core/.github/CODING_CONVENTIONS.md deleted file mode 100644 index 8846c9f95..000000000 --- a/Source/Core/.github/CODING_CONVENTIONS.md +++ /dev/null @@ -1,509 +0,0 @@ -# Coding Conventions - -Unless otherwise specified, the Innoactive projects adhere to the MSDN C# [Coding Conventions](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions) and [Design Guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/). -In the following, the most important guidelines and custom decisions are listed. - -## Language -* Code, documentation, and comments are to be written in English. - -## Naming Conventions - -### Name -* Use meaningful but concise names. -* Do not use special characters in any names. -* Do not use abbreviations. - -```cs -public class RuntimeStatistics -{ - // very bad: - private int n; - // bad: - private int numFrms; - private int frameCnt; - // good: - private int numberOfFrames; - private int frameCount; - // too verbose: - private int numberOfElapsedFramesSinceApplicationStart; -} -``` - -* Keep the most specific descriptor left, e.g. pauseButton not buttonPause. -* Boolean variables and Properties should start with Is or Has, e.g. isActive. - -### Formatting -* Classes, properties, and public fields are written in PascalCase. -* Private fields are written in camelCase. -* Static and const fields (public, protected, or private) are formatted like non-const/static fields. - -```cs -public class MyClass -{ - public float MyProperty { get; private set; } - public bool MyPublicVariable; - private string myPrivateVariable; - public static string MyStaticVariable = "someValue"; - protected const string MyConstVariable = "someOtherValue"; - private const string myPrivateConstVariable = "yetAnotherValue"; -} -``` - -* Functions are written in PascalCase. -* Function parameters are written in camelCase. -* Local variables are written in camelCase. - -```cs -public bool MyFunction(bool myFunctionParameter) -{ - float myLocalVariable = 0; -} -``` - -* Interfaces are written in PascalCase, but start with an *I*. - -```cs -public interface IMyInterface -{ -} -``` - -* Enums are written in PascalCase. -* Enum Values are written in PascalCase. - -```cs -public enum MyEnum -{ - FirstEnumValue, - SecondEnumValue, - ThirdEnumValue, -} -``` - -## Bracing and Indentation -* Each opening and closing brace is placed in a separate line. -* Braces start at the indentation level of the outlying scope. -* Add Braces even for short single-line scopes. - -```cs -// Do -if (condition == true) -{ - return; -} -// Don't -if (condition == true) - return; -if (condition == true) return; -``` - -* Exception: Default properties are implemented in a single line. - Encapsulating properties and properties with simple single-statement accessors place accessors on a single line together with the respective implementation. - Complex accessors with multiple statements follow the general rule of placing braces and statements on separate lines. - -```cs -public bool DefaultProperty { get; protected set; } - -public bool EncapsulatingProperty -{ - get { return wrappedValue; } - protected set { wrappedValue = value; } -} - -public bool SimpleProperty -{ - get { return entry == "MagicValue"; } - set { entry = string.Format("Bla{0}", value); } -} - -public bool ComplexProperty -{ - get - { - if(wrappedValue == null) - { - throw new OperationException(); - } - - wrappedValue; - } - protected set - { - wrappedValue = value; - - if (implementation != null) - { - implementation.ForwardValue(value); - } - } -} - -public bool MixedProperty -{ - get - { - return wrappedValue; - } - protected set - { - wrappedValue = value; - - if (implementation != null) - { - implementation.ForwardValue(value); - } - } -} -``` - -* Content of the braced scope is indented an additional level. -* Indent by 4 spaces. -* Indent every scope (namespaces, classes, loops, ...). - -```cs -public class ClassInTopScope -{ - public bool PropertyInClassScope { get; set; } - - public float FunctionInClassScope() - { - public float functionVariable; - - { - float scopedVariable = 3; - } - - for (int i = 0; i < 100; ++i) - { - float scopedVariable = i; - } - } -} -``` - -* Do not indent compile `#if` and `#pragma`. -* Indent `#region` specifications. -* Do not further indent code inside compile directives like `#if` or `#region`s. - -```cs -namespace MyNamespace -{ - public class MyClass1 - { - public bool FirstFunction(); - -#pragma warning disable 0618 // temporarily disable obsolete usage warning - CallObsoleteFunction(); -#pragma warning restore 0618 - - #region First Region - public bool SecondFunction(); - #endregion - - #region Second Region - public bool ThirdFunction(); - #endregion - } - -#if COMPILE_DEFINE - public class MyClass2 - { - } -#endif -} -``` - -* When splitting a statement or declaration, indent the split line by one level. -* When defining local delegates, do not indent the opening and closing braces. - -```cs -public float FunctionWithManyParameters() -{ - bool expression = CheckConditionOne() - && CheckConditionTwo() - && CheckConditionThree() - && CheckConditionFour(); - - Action localTask = () => - { - // [...] - } - - new AsyncTask(localTask).Execute(); - - new AsyncTask(() => - { - // [...] - }) - .Execute(); -} -``` - -## Code comments -* Enrich your code with meaningful comments. -* Use `//` for inline code comments, and `///` for API docs. -* Add xml API docs to all elements of the public API: classes, functions, properties, fields, and events. -* Comments should always start with a capital letter, be separated from the comment symbol by a space, and end with a period. -* All sentence-like parts of a comment (e.g. ` and ` texts) should end with a period. - - -```cs -/// -/// Explain the general intent and typical usage of the class here. -/// -public class ExampleClass -{ - /// - /// Provide additional detail here. - /// - public float ExampleProperty { get; private set; } - - /// - /// Provide details about what the function does. - /// - /// Explain parameter here. - /// Explain return type here. - /// When is this exception thrown. - public int ExampleFunction(float exampleParameter) - { - // [...] - } -} -``` - -* Avoid empty xml tags components like `param` or `return`. Either add a valuable descriptions, or remove the tag. - -```cs -public class ExampleClass -{ - //Do - - /// - /// This function computes the square root of a value. - /// - public float SquareRoot(float value) - { - // [...] - } - - // Don't - - /// - /// This function computes the square root of a value. - /// - /// - /// - public float SquareRoot(float value) - { - // [...] - } -} -``` - -## Whitespaces -* Use empty lines to separate classes/class members/blocks of statements. -* Do not use two or more consecutive empty lines (use regions instead to group blocks). -* Add a whitespace to separate a condition/iteration keyword (`if`, `while`, `for`, ...) and its braces. -* Do not use a whitespace to separate a function name and its brace. - -```cs -if (CheckParameters(param1, param2) && param3) -{ - // [...] -} - -while (pi == 3) -{ - // [...] -} - -SomeFunction(param); -``` - -* Add whitespaces after commas and around operators. - -```cs -if (CheckParameters(param1, param2) && param3) -{ - return param1 + (param2 * param3); -} -``` - -## Events - -* Use C# events - avoid UnityEvents, Actions, or similar. -* Use EventArgs classes instead of delegates or actions for event definitions. -* Use immutable `EventArgs` classes, which provide public readonly fields. Initialize these fields from a constructor. - -```cs -public class MyButton -{ - // Do - public class ClickedEventArgs : System.EventArgs - { - public readonly string SomeData; - public ClickedEventArgs(string data) - { - SomeData = data; - } - } - - public event EventHandler Clicked; - - // Don't - public delegate void ClickedEvent(string someData); - public event ClickedEvent Clicked; - - // Don't - public event Action Clicked; -} -``` - -* EventArgs classes end with `EventArgs`, and are derived from `System.EventArgs`. -* Name Events with a verb describing the event (without pre- or suffix), Loaded, Finished. -* Event handling functions start with `On`, followed by the scope and the event name. -* If an event can be triggered by a child class, provide a function called `EmitEVENTNAME`. - -```cs -public class MyButton -{ - public class ClickedEventArgs : System.EventArgs - { - public readonly string someData; - public ClickedEventArgs(string data) - { - someData = data; - } - } - - public event EventHandler Clicked; - - protected void EmitClicked(string data) - { - Clicked.Invoke(this, new ClickedEventArgs() { someData = data }); - } -} - -public class ButtonObserver -{ - public void Observe - { - new MyButton().Clicked += OnButtonClicked; - } - - private void OnButtonClicked(object sender, MyButton.ClickedEventArgs args) -} -``` - -## Logging - -* Prefer format syntax over explicit string concatenation. - -```cs -private void SomeFunction() -{ - int numberOfThings = 42; - - // Do - Debug.Log($"I know {numberOfThings} things"); - - // Or - Debug.LogFormat("I know {0} things", numberOfThings); - - // Don't - Debug.Log("I know " + numberOfThings + " things"); -} -``` - -## Exceptions - -* Exception names end with `Exception`. -* If exceptions are to be thrown by only one class, define them inside this class. -* Exceptions thrown by multiple sources are defined in a separate file, in the matching namespace (no Exceptions sub-namespace). - -## Access Modifiers - -* Only use public variables or Properties with public setters for data objects. -* Always specify an Access Modifier. - -```cs -public class MyClass -{ - // Do - private float myPrivateVariable1; - // Don't - float myPrivateVariable2; -} -``` - -## Unity-specific - -* Prefer private variables marked with `[SerializeField]` over public variables for Inspector fields. -* When using a public variable in a MonoBehaviour, still add `[SerializeField]` to ease detection of Inspector fields. -* Use the `[Tooltip("...")}` attribute in Inspector fields for documentation / usage hints. -* Always initialize Inspector fields (to prevent never-assigned-warnings). -* Avoid the automatic conversion from `UnityEngine.Object` to bool. -* When using Enum-typed Inspector fields, consider hard-wiring the enum values to prevent serialization errors when changing available enum values. - -```cs -// Do -if (gameObject != null) -{ - // [...] -} - -// Don't -if (gameObject) -{ - // [...] -} -``` - -## Lambdas - -* Prefer lambda-style expressions over delegate-style. - -```cs -// Do -(float param1, string param2) => {} - -// Don't -delegate(float param1, string param2) {} -``` - -* Prefer named functions over lambdas. -* Assign longer or more complex lambdas to named local `Action`/`Func`. -* If nested lambdas are required, assign each one to named local `Action`/`Func`. -* Avoid defining long lambdas directly as parameter of a function call. - -## Obsoletion - -* Avoid changes in code that break existing APIs (i.e. Class Names, Function Argument types, Renaming of public members / properties, return types). -* Use `System.Obsolete` to mark outdated code that will be removed in newer versions. -* When re-naming classes/properties/methods, try to maintain the old version tagged as obsolete. -* Obsolete code will be maintained for one (major) release, and is deleted afterwards. - -## Misc - -* Define class-specific Exceptions, Enums, EventArgs, ... inside the corresponding class. -* For Interfaces, define Exceptions, Enums, EventArgs, ... in the same file as the interface. -* Do not use `var`, always specify the full type name. -* Use `Invoke` to trigger actions or events. -* Only use `this.` before members where absolutely necessary. -* Decide whether or not to design for inheritance. - * If not intended to be derived from, make all non-public entities `private`. - * If intended to be derived from, take care to mark necessary entities `protected` and/or `virtual`. -* Consider using early returns in functions to prevent deeply nested scopes. -* Use parentheses to group parts of complex statements. - Especially, always group sub-clauses when combining different boolean operators. -* Do not omit the array type specifier when using array initialization lists. - -```cs -// Do -string[] myList = new string[] { "a", "b", "c", "d" }; - -// Don't -string[] myList = new [] { "a", "b", "c", "d" }; -``` - -* Do not prefix static method defined in the same or parent class with the class scope. \ No newline at end of file diff --git a/Source/Core/.github/CONTRIBUTING.md b/Source/Core/.github/CONTRIBUTING.md deleted file mode 100644 index 2105b24e1..000000000 --- a/Source/Core/.github/CONTRIBUTING.md +++ /dev/null @@ -1,178 +0,0 @@ -# How to contribute - -At Innoactive we want to thank you for being part of this community and helping us to improve the Creator. - -There are many ways to contribute, it could be by suggesting new features and ideas, reporting bugs, extending and modifying functionalities, and even from just using the Creator and developing amazing VR training applications. - -In this guide, we summarize how you can do all those actions. - -### Table of Contents: - -1. [Getting Started](#getting-started) -1. [Code of Conduct](#code-of-conduct) -1. [Feature Request](#feature-request) -1. [Bug Report](#bug-report) -1. [Submitting Changes](#submitting-changes) -1. [Maintainers](#maintainers) -1. [Coding Conventions](#coding-conventions) -1. [Source Control Commit Guidelines](#source-control-commit-guidelines) -1. [Contributors](#contributors) - -## Getting Started - -The easiest and simplest way to get started and try out the Creator is by downloading the latest version from our [resources site](http://developers.innoactive.de/creator/). - -Make sure to read the [documentation](http://developers.innoactive.de/documentation/creator/) for a deeper understanding of how the tool works. - -## Code of Conduct - -This project and everyone participating in it are governed by the [Innoactive Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to our [maintainers](#maintainers). - -## Feature Request - -We are keen to listen to your feature requests. - -To request a feature, please go to the `Issues` section of this repository and create a new issue using the `Feature request` template. Be as detailed as possible, if possible, try to include references, and explain what is the benefit of the feature. - -Make sure your idea is unique using the search functionality. If a similar feature request already exists, try providing additional information instead of creating a new issue. - -In the case that a similar feature request already exits but is closed without being resolved, you are welcome to create a new one if you think it makes sense. - -## Bug Report - -If you find an error in the source code, or experience one when using the Creator, you can help us by submitting a bug report issue to our GitHub issue tracker. - -Before submitting a new bug report, make sure there has not been reported already by using the search functionality in the issues section of this repository. - -To report a new bug, please go to the `Issues` section of this repository and create a new issue using the `Bug report` template. Be as detailed as possible, explain how to reproduce it, if possible, try to include references and rate of reproducibility. - -You can also [submit a Pull Request](#submitting-changes) with a fix! - -Creating comprehensive bug reports helps the community to quickly understand the problem and the severity. - -If you find a security vulnerability, do NOT open an issue. Contact a [maintainer](#maintainers) instead. - -Alternatively, customers can contact us directly using our [support channel](https://jira.innoactive.de/servicedesk/customer/portal/3). - -## Submitting Changes - -By default, this repository is protected, the only way to submit changes is by merging via [creating a pull request from a fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork), this is only intending to provide the best quality and add a security layer, we could detect and prevent new bugs, breaking functionalities and avoid violations to our [code convention](#coding-conventions). - -Use the [pull request template](PULL_REQUEST_TEMPLATE.md) for detail as much as possible all the changes included in the pull request, this way it is easier for everyone to review. - -Make sure to also follow the [Source Control Commit Guidelines](#source-control-commit-guidelines). - -See more about [Pull Requests](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) and [how to fork a repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo). - -## Maintainers - -Meet our maintainers: - -[SimonTheSourcerer](https://github.com/SimonTheSourcerer) | [Tomwim](https://github.com/Tomwim) -:---: | :---: | -[Simon L](mailto:simon.lerch@innoactive.de) | [Thomas W](mailto:thomas.wimmer@innoactive.de) - - -Maintainers are responsible for this repository and its community. - -### Former Maintainers -[Aleksei Korolev](https://github.com/aleksei-korolev) - -## Coding Conventions - -By encouraging coding conventions we ensure: - -* The code to having a consistent look, so that readers can focus on content, not layout. -* Enabling readers to understand the code more quickly by making assumptions based on previous experience. -* Facilitating copying, changing, and maintaining the code. -* Sticking to C# best practices. - -Please follow our [Coding Conventions](CODING_CONVENTIONS.md). - -## Source Control Commit Guidelines - -When committing to an Innoactive git project, please adhere to the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary). This leads to more readable messages that are easy to follow when looking through the project history. But also, we use the git commit messages to generate automated release notes. - -### Commit Message Format -Every commit message consists of a **header** (mandatory), a **body**, and a **footer**. -The header has a special format that includes a **type** and **subject**: - -``` -: - -[optional body] - -[optional footer(s)] -``` - -Any line of the commit message cannot be longer than 100 characters! This allows the message to be easier -to read on GitHub as well as in various git tools. - -The footer should contain a [closing reference to an issue](https://help.github.com/articles/closing-issues-via-commit-messages/) if any. - - -### Revert -If the commit reverts a previous commit, it should begin with `revert: `, followed by the header of the reverted commit. In the body it should say: `This reverts commit .`, where the hash is the SHA of the commit being reverted. - -### Type -Must be one of the following: - -* **build**: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) -* **ci**: Changes to our CI configuration files and scripts (example scopes: Circle, BrowserStack, SauceLabs) -* **docs**: Documentation only changes -* **feat**: A new feature -* **fix**: A bug fix -* **perf**: A code change that improves performance -* **refactor**: A code change that neither fixes a bug nor adds a feature -* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) -* **test**: Adding missing tests or correcting existing tests - -### Subject -The subject contains a succinct description of the change: - -* use the imperative, present tense: "change" not "changed" nor "changes" -* don't capitalize the first letter -* no dot (.) at the end - -### Body -Just as in the **subject**, use the imperative, present tense: "change" not "changed" nor "changes". -The body should include the motivation for the change and contrast this with previous behavior. - -### Footer -The footer should contain any information about **Breaking Changes** and is also the place to -reference GitHub issues that this commit **Closes**. - -**Breaking Changes** should start with the word `BREAKING CHANGE:` with a space or two newlines. The rest of the commit message is then used for this. - -### Examples: - -#### Commit message with no body - -``` -docs: update changelog to beta.5 -``` - -#### Commit message with both -``` -fix: need to depend on latest rxjs and zone.js - -The version in our package.json gets copied to the one we publish, and users need the latest of these. -``` - -#### Commit message with multi-paragraph body and multiple footers -``` -fix: correct minor typos in code - -see the issue for details - -on typos fixed. - -Reviewed-by: Z -Refs #133 -``` - -See more [Conventional Commits Examples](https://www.conventionalcommits.org/en/v1.0.0/#examples) - -## Contributors - -Thank you all for your help, we appreciate all your [contributions](https://github.com/Innoactive/Creator/graphs/contributors). diff --git a/Source/Core/.github/ISSUE_TEMPLATE/BUG_REPORT.md b/Source/Core/.github/ISSUE_TEMPLATE/BUG_REPORT.md deleted file mode 100644 index 37c0fd1ad..000000000 --- a/Source/Core/.github/ISSUE_TEMPLATE/BUG_REPORT.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -### Describe the bug - - -### Steps to Reproduce - - -1. -1. -1. -1. -1. - - -### Expected behavior - - -### Current behavior - - -### Screenshots - - -### Context (Environment) - - -### Possible Solution - \ No newline at end of file diff --git a/Source/Core/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md b/Source/Core/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md deleted file mode 100644 index 55f231cb8..000000000 --- a/Source/Core/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -### Is the feature request related to a problem? - - -### Proposal - - -### Alternatives - - -### Additional context - \ No newline at end of file diff --git a/Source/Core/.github/PULL_REQUEST_TEMPLATE.md b/Source/Core/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 18ad54ac0..000000000 --- a/Source/Core/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,38 +0,0 @@ -### Description - - -**Fixes**: # (issue) - -### Type of change - - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update - -### How Has This Been Tested? - - - -**Test Configuration**: - - -### Aditional Notes - - -### Checklist - - -- [ ] My code follows the [Coding Conventions](#coding-conventions) -- [ ] I have performed a self-review of my code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] I have added tests that prove my fix is effective or that my feature works -- [ ] New and existing unit tests pass locally with my changes -- [ ] Any dependent changes have been merged and published in downstream modules \ No newline at end of file diff --git a/Source/Core/.gitignore b/Source/Core/.gitignore deleted file mode 100644 index 287da7c1e..000000000 --- a/Source/Core/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -/[Ll]ibrary/ -/[Tt]emp/ -/[Oo]bj/ -/[Bb]uild/ -/[Bb]uilds/ -/Assets/AssetStoreTools* - -# Autogenerated VS/MD/Consulo solution and project files -ExportedObj/ -.consulo/ -*.csproj -*.unityproj -*.sln -*.suo -*.tmp -*.user -*.userprefs -*.pidb -*.booproj -*.svd - - -# Unity3D generated meta files -*.pidb.meta - -# Unity3D Generated File On Crash Reports -sysinfo.txt - -# Builds -*.apk -*.unitypackage -site/ - -################# -# DocFx Ignores # -################# -/**/DROP/ -/**/TEMP/ -/**/packages/ -/**/bin/ -/**/obj/ -/**/obj.meta -.Documentation/_site -.Documentation/api diff --git a/Source/Core/.gitmodules b/Source/Core/.gitmodules deleted file mode 100644 index e69de29bb..000000000 diff --git a/Source/Core/.releaserc.json b/Source/Core/.releaserc.json deleted file mode 100644 index 7d34d68d6..000000000 --- a/Source/Core/.releaserc.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "branch": "master", - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/github", - ["semantic-release-ado", { - "varName": "Version", - "setOnlyOnRelease": false - }] - ] - } \ No newline at end of file diff --git a/Source/Core/Editor/AssemblyAttributes.cs b/Source/Core/Editor/AssemblyAttributes.cs index b4711fa2a..921840b00 100644 --- a/Source/Core/Editor/AssemblyAttributes.cs +++ b/Source/Core/Editor/AssemblyAttributes.cs @@ -6,4 +6,4 @@ [assembly: InternalsVisibleTo("VRBuilder.Core.Tests.PlayMode")] [assembly: InternalsVisibleTo("VRBuilder.Core.Tests.EditMode")] -[assembly: InternalsVisibleTo("VRBuilder.Editor.TextToSpeech")] +[assembly: InternalsVisibleTo("VRBuilder.TextToSpeech.Editor")] diff --git a/Source/Core/Editor/AssemblyUnloadDetector.cs b/Source/Core/Editor/AssemblyUnloadDetector.cs index c0a78705d..c82d648cb 100644 --- a/Source/Core/Editor/AssemblyUnloadDetector.cs +++ b/Source/Core/Editor/AssemblyUnloadDetector.cs @@ -5,7 +5,7 @@ using System; using UnityEditor; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// Tracks when the project is going to be unloaded (when assemblies are unloaded, when user starts or stop runtime, when scripts were modified). diff --git a/Source/Core/Editor/BuilderProjectSettings.cs b/Source/Core/Editor/BuilderProjectSettings.cs index df09eee6c..c2eb4ddfb 100644 --- a/Source/Core/Editor/BuilderProjectSettings.cs +++ b/Source/Core/Editor/BuilderProjectSettings.cs @@ -6,9 +6,9 @@ using System.IO; using UnityEditor; using UnityEngine; -using VRBuilder.Editor.XRUtils; +using VRBuilder.Core.Editor.XRUtils; -namespace VRBuilder.Editor.Settings +namespace VRBuilder.Core.Editor.Settings { /// /// Settings for a VR Builder Unity project. diff --git a/Source/Core/Editor/Configuration/AllowedMenuItemsSettings.cs b/Source/Core/Editor/Configuration/AllowedMenuItemsSettings.cs index 48a2865cd..05434f5c9 100644 --- a/Source/Core/Editor/Configuration/AllowedMenuItemsSettings.cs +++ b/Source/Core/Editor/Configuration/AllowedMenuItemsSettings.cs @@ -10,14 +10,14 @@ using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; using VRBuilder.Core.Utils; -using VRBuilder.Editor.Serialization; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.Serialization; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; using Newtonsoft.Json; using UnityEditor; using UnityEngine; using System.Threading.Tasks; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Configuration class for menu items. @@ -98,7 +98,7 @@ public static bool Save(AllowedMenuItemsSettings settings) { if (string.IsNullOrEmpty(EditorConfigurator.Instance.AllowedMenuItemsSettingsAssetPath)) { - Debug.LogFormat("The property \"AllowedMenuItemsSettingsAssetPath\" of the " + + UnityEngine.Debug.LogFormat("The property \"AllowedMenuItemsSettingsAssetPath\" of the " + "current editor configuration is not set. Thus, the AllowedMenuItemsSettings cannot be saved."); return false; } @@ -108,7 +108,7 @@ public static bool Save(AllowedMenuItemsSettings settings) if (path.StartsWith(assets) == false) { - Debug.LogErrorFormat("The property \"AllowedMenuItemsSettingsAssetPath\" of the current editor configuration" + + UnityEngine.Debug.LogErrorFormat("The property \"AllowedMenuItemsSettingsAssetPath\" of the current editor configuration" + " is invalid. It has to start with \"{0}\". Current value: \"{1}\"", assets, path); return false; } @@ -128,7 +128,7 @@ public static bool Save(AllowedMenuItemsSettings settings) if (string.IsNullOrEmpty(directoryPath)) { - Debug.LogErrorFormat("No valid directory path found in path \"{0}\". The property \"AllowedMenuItemSettingsAssetPath\"" + + UnityEngine.Debug.LogErrorFormat("No valid directory path found in path \"{0}\". The property \"AllowedMenuItemSettingsAssetPath\"" + " of the current editor configuration is invalid. Current value: \"{1}\"", fullPath, path); return false; } @@ -148,7 +148,7 @@ public static bool Save(AllowedMenuItemsSettings settings) } catch (Exception e) { - Debug.LogError(e); + UnityEngine.Debug.LogError(e); return false; } } @@ -163,7 +163,7 @@ public static AllowedMenuItemsSettings Load() string path = EditorConfigurator.Instance.AllowedMenuItemsSettingsAssetPath; if (string.IsNullOrEmpty(path)) { - Debug.Log("The property \"AllowedMenuItemsSettingsAssetPath\" of the current editor " + + UnityEngine.Debug.Log("The property \"AllowedMenuItemsSettingsAssetPath\" of the current editor " + "configuration is not set. Therefore, it cannot be loaded. A new \"AllowedMenuItemsSettings\" " + "object with all found conditions and behaviors was returned."); return new AllowedMenuItemsSettings(); diff --git a/Source/Core/Editor/Configuration/DefaultEditorConfiguration.cs b/Source/Core/Editor/Configuration/DefaultEditorConfiguration.cs index 2e92f4bfb..ff3bb813f 100644 --- a/Source/Core/Editor/Configuration/DefaultEditorConfiguration.cs +++ b/Source/Core/Editor/Configuration/DefaultEditorConfiguration.cs @@ -8,10 +8,10 @@ using VRBuilder.Core.Conditions; using VRBuilder.Core.IO; using VRBuilder.Core.Serialization; -using VRBuilder.Editor.ProcessValidation; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.ProcessValidation; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Default editor configuration definition which is used if no other was implemented. diff --git a/Source/Core/Editor/Configuration/EditorConfigWrapper.cs b/Source/Core/Editor/Configuration/EditorConfigWrapper.cs index 4c04d4df8..6d2d3ec7e 100644 --- a/Source/Core/Editor/Configuration/EditorConfigWrapper.cs +++ b/Source/Core/Editor/Configuration/EditorConfigWrapper.cs @@ -6,9 +6,9 @@ using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; using VRBuilder.Core.Serialization; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { internal class EditorConfigWrapper : DefaultEditorConfiguration { diff --git a/Source/Core/Editor/Configuration/EditorConfigurator.cs b/Source/Core/Editor/Configuration/EditorConfigurator.cs index 242cd03f4..ab76eb97f 100644 --- a/Source/Core/Editor/Configuration/EditorConfigurator.cs +++ b/Source/Core/Editor/Configuration/EditorConfigurator.cs @@ -8,12 +8,12 @@ using UnityEngine; using UnityEditor.Callbacks; using System.Collections.Generic; -using VRBuilder.Editor.UI.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.MenuItems.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Configurator to set the process editor configuration which is used by the process creation editor tools (like Step Inspector). @@ -40,7 +40,7 @@ public static void Init() if (definitions.Except(lowestPriorityTypes).Count() > 1) { string listOfDefinitions = string.Join("', '", definitions.Select(definition => definition.FullName).ToArray()); - Debug.LogErrorFormat( + UnityEngine.Debug.LogErrorFormat( "There is more than one final implementation of process editor configurations in this Unity project: '{0}'." + " Remove all editor configurations except for '{1}' and the one you want to use." + " '{2}' was selected as current editor configuration.", @@ -97,7 +97,7 @@ private static void ApplyConfigurationExtensions() if (conflicts > 0) { - Debug.LogWarningFormat("Conflicts in editor configuration extensions: {0} items were both required and disabled by different extensions. They have been enabled.", conflicts); + UnityEngine.Debug.LogWarningFormat("Conflicts in editor configuration extensions: {0} items were both required and disabled by different extensions. They have been enabled.", conflicts); } foreach (Type menuItem in disabledMenuItems) diff --git a/Source/Core/Editor/Configuration/IEditorConfiguration.cs b/Source/Core/Editor/Configuration/IEditorConfiguration.cs index 4a0853471..366c07a52 100644 --- a/Source/Core/Editor/Configuration/IEditorConfiguration.cs +++ b/Source/Core/Editor/Configuration/IEditorConfiguration.cs @@ -7,9 +7,9 @@ using VRBuilder.Core.Conditions; using VRBuilder.Core.IO; using VRBuilder.Core.Serialization; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Interface for editor configuration definition. Implement it to create your own. diff --git a/Source/Core/Editor/Configuration/IEditorConfigurationExtension.cs b/Source/Core/Editor/Configuration/IEditorConfigurationExtension.cs index 107215568..3f0a79a6a 100644 --- a/Source/Core/Editor/Configuration/IEditorConfigurationExtension.cs +++ b/Source/Core/Editor/Configuration/IEditorConfigurationExtension.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Interface for editor configuration extension definition. diff --git a/Source/Core/Editor/Configuration/LoggingConfigCreationTrigger.cs b/Source/Core/Editor/Configuration/LoggingConfigCreationTrigger.cs index 49a309868..33de6c3fe 100644 --- a/Source/Core/Editor/Configuration/LoggingConfigCreationTrigger.cs +++ b/Source/Core/Editor/Configuration/LoggingConfigCreationTrigger.cs @@ -8,7 +8,7 @@ using UnityEngine; using UnityEngine.UI; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Checks on editor initialization if there is a logging config. Will add one if it's missing. diff --git a/Source/Core/Editor/Configuration/RuntimeConfiguratorEditor.cs b/Source/Core/Editor/Configuration/RuntimeConfiguratorEditor.cs index 98f2c4ee5..9f5561dee 100644 --- a/Source/Core/Editor/Configuration/RuntimeConfiguratorEditor.cs +++ b/Source/Core/Editor/Configuration/RuntimeConfiguratorEditor.cs @@ -10,13 +10,13 @@ using UnityEditor.Localization; using UnityEngine; using UnityEngine.Localization.Settings; -using VRBuilder.Core; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.ProcessAssets; +using VRBuilder.Core.Editor.UI.GraphView.Windows; +using VRBuilder.Core.Editor.UI.Windows; using VRBuilder.Core.Utils; -using VRBuilder.Editor.UI.Graphics; -using VRBuilder.Editor.UI.Windows; -namespace VRBuilder.Editor.Configuration +namespace VRBuilder.Core.Editor.Configuration { /// /// Custom editor for choosing the process configuration in the Unity game object inspector. @@ -206,7 +206,7 @@ private void DrawProcessSelectionDropDown() { if (processDisplayNames[0] == dummyProcessName) { - Debug.LogError("No processes found. Did you delete or manually rename them?"); + UnityEngine.Debug.LogError("No processes found. Did you delete or manually rename them?"); EditorGUILayout.Popup("Selected Process", 0, processDisplayNames.ToArray()); return; } @@ -233,7 +233,7 @@ private bool CheckForMissingProcess(ref int index) } string processName = ProcessAssetUtils.GetProcessNameFromPath(configurator.GetSelectedProcess()); - Debug.LogError($"The stored process '{ProcessAssetUtils.GetProcessAssetPath(processName)}' was not found. Did you delete or manually rename it?"); + UnityEngine.Debug.LogError($"The stored process '{ProcessAssetUtils.GetProcessAssetPath(processName)}' was not found. Did you delete or manually rename it?"); processDisplayNames.Add(missingProcessName); index = processDisplayNames.Count - 1; return true; diff --git a/Source/Core/Editor/Debug/SceneObjectRegistryV2EditorWindow.cs b/Source/Core/Editor/Debug/SceneObjectRegistryV2EditorWindow.cs index 273e3c858..3e6048ee1 100644 --- a/Source/Core/Editor/Debug/SceneObjectRegistryV2EditorWindow.cs +++ b/Source/Core/Editor/Debug/SceneObjectRegistryV2EditorWindow.cs @@ -4,11 +4,11 @@ using UnityEditor; using UnityEngine; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI; -namespace VRBuilder.Editor.Debugging +namespace VRBuilder.Core.Editor.Debug { public class SceneObjectRegistryV2EditorWindow : EditorWindow { diff --git a/Source/Core/Editor/DefaultEditingStrategy.cs b/Source/Core/Editor/DefaultEditingStrategy.cs deleted file mode 100644 index 815d36b7c..000000000 --- a/Source/Core/Editor/DefaultEditingStrategy.cs +++ /dev/null @@ -1,205 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using UnityEditor; -using UnityEngine; -using VRBuilder.Core; -using VRBuilder.Editor.Configuration; -using VRBuilder.Editor.UI.Windows; - -namespace VRBuilder.Editor -{ - /// - /// Legacy VR Builder editing strategy. - /// - [Obsolete("This class is not used anymore and will be removed in the next major version.")] - internal class DefaultEditingStrategy : IEditingStrategy - { - private ProcessEditorWindow processWindow; - private IStepView stepWindow; - - public IProcess CurrentProcess { get; protected set; } - public IChapter CurrentChapter { get; protected set; } - - /// - public void HandleNewProcessWindow(ProcessEditorWindow window) - { - processWindow = window; - processWindow.SetProcess(CurrentProcess); - } - - /// - public void HandleNewStepWindow(IStepView window) - { - stepWindow = window; - if (processWindow == null || processWindow.Equals(null)) - { - HandleCurrentStepChanged(null); - } - else - { - HandleCurrentStepChanged(processWindow.GetChapter().ChapterMetadata.LastSelectedStep); - } - } - - /// - public void HandleCurrentProcessModified() - { - } - - /// - public void HandleProcessWindowClosed(ProcessEditorWindow window) - { - if (processWindow != window) - { - return; - } - - if (CurrentProcess != null) - { - ProcessAssetManager.Save(CurrentProcess); - } - } - - /// - public void HandleStepWindowClosed(IStepView window) - { - if (CurrentProcess != null) - { - ProcessAssetManager.Save(CurrentProcess); - } - - stepWindow = null; - } - - /// - public void HandleStartEditingProcess() - { - if (processWindow == null) - { - processWindow = EditorWindow.GetWindow(); - processWindow.minSize = new Vector2(400f, 100f); - } - else - { - processWindow.Focus(); - } - } - - /// - public void HandleCurrentProcessChanged(string processName) - { - if (CurrentProcess != null) - { - ProcessAssetManager.Save(CurrentProcess); - } - - EditorPrefs.SetString(GlobalEditorHandler.LastEditedProcessNameKey, processName); - LoadProcess(ProcessAssetManager.Load(processName)); - } - - private void LoadProcess(IProcess newProcess) - { - CurrentProcess = newProcess; - CurrentChapter = null; - - if (newProcess != null && EditorConfigurator.Instance.Validation.IsAllowedToValidate()) - { - EditorConfigurator.Instance.Validation.Validate(newProcess.Data, newProcess); - } - - if (processWindow != null) - { - processWindow.SetProcess(CurrentProcess); - if (stepWindow != null) - { - stepWindow.SetStep(processWindow.GetChapter()?.ChapterMetadata.LastSelectedStep); - } - } - else if (stepWindow != null) - { - stepWindow.SetStep(null); - } - } - - /// - public void HandleCurrentStepModified(IStep step) - { - processWindow.GetChapter().ChapterMetadata.LastSelectedStep = step; - - if (EditorConfigurator.Instance.Validation.IsAllowedToValidate()) - { - EditorConfigurator.Instance.Validation.Validate(step.Data, CurrentProcess); - } - - processWindow.RefreshChapterRepresentation(); - } - - /// - public void HandleCurrentStepChanged(IStep step) - { - if (stepWindow != null) - { - if (step != null && EditorConfigurator.Instance.Validation.IsAllowedToValidate()) - { - EditorConfigurator.Instance.Validation.Validate(step.Data, CurrentProcess); - } - stepWindow.SetStep(step); - } - } - - /// - public void HandleStartEditingStep() - { - if (stepWindow == null) - { - StepWindow.ShowInspector(); - } - } - - public void HandleCurrentChapterChanged(IChapter chapter) - { - CurrentChapter = chapter; - } - - /// - public void HandleProjectIsGoingToUnload() - { - if (CurrentProcess != null) - { - ProcessAssetManager.Save(CurrentProcess); - } - } - - /// - public void HandleProjectIsGoingToSave() - { - if (CurrentProcess != null) - { - ProcessAssetManager.Save(CurrentProcess); - } - } - - /// - public void HandleExitingPlayMode() - { - if (stepWindow != null) - { - stepWindow.ResetStepView(); - } - } - - /// - public void HandleEnterPlayMode() - { - } - - /// - public void HandleChapterChangeRequest(IChapter chapter) - { - throw new System.NotImplementedException(); - } - } -} diff --git a/Source/Core/Editor/DefaultEditingStrategy.cs.meta b/Source/Core/Editor/DefaultEditingStrategy.cs.meta deleted file mode 100644 index dc3c15199..000000000 --- a/Source/Core/Editor/DefaultEditingStrategy.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 359b50f03bd04832b6be7d90a8bc5c66 -timeCreated: 1588125312 \ No newline at end of file diff --git a/Source/Core/Editor/EditorPrefExtensions.cs b/Source/Core/Editor/EditorPrefExtensions.cs index c5585943b..7853a8545 100644 --- a/Source/Core/Editor/EditorPrefExtensions.cs +++ b/Source/Core/Editor/EditorPrefExtensions.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.Analytics +namespace VRBuilder.Core.Editor.Analytics { internal static class EditorPrefExtensions { diff --git a/Source/Core/Editor/EditorReflectionUtils.cs b/Source/Core/Editor/EditorReflectionUtils.cs index 01b097be0..79a585538 100644 --- a/Source/Core/Editor/EditorReflectionUtils.cs +++ b/Source/Core/Editor/EditorReflectionUtils.cs @@ -11,9 +11,9 @@ using VRBuilder.Core; using VRBuilder.Core.Attributes; using VRBuilder.Core.EntityOwners; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.Editor.UI.Drawers; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// Helper class for reflection. diff --git a/Source/Core/Editor/EditorUtils.cs b/Source/Core/Editor/EditorUtils.cs index c40138b95..f593ca73b 100644 --- a/Source/Core/Editor/EditorUtils.cs +++ b/Source/Core/Editor/EditorUtils.cs @@ -12,9 +12,9 @@ using UnityEditor.Callbacks; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Editor.PackageManager; +using VRBuilder.PackageManager.Editor; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// Retrieves the current named build target based on the active build target settings in the Unity Editor. diff --git a/Source/Core/Editor/GlobalEditorHandler.cs b/Source/Core/Editor/GlobalEditorHandler.cs index 6537f5446..2d23e6815 100644 --- a/Source/Core/Editor/GlobalEditorHandler.cs +++ b/Source/Core/Editor/GlobalEditorHandler.cs @@ -3,22 +3,21 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using UnityEditor; -using UnityEngine; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; -using VRBuilder.Core; -using VRBuilder.Editor.UI.Windows; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI.GraphView.Windows; +using VRBuilder.Core.Editor.UI.Windows; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// A class that handles interactions between Builder windows and process assets by using selected strategy. /// [InitializeOnLoad] - internal static class GlobalEditorHandler + public static class GlobalEditorHandler { - internal const string LastEditedProcessNameKey = "VRBuilder.Editors.LastEditedProcessName"; + public const string LastEditedProcessNameKey = "VRBuilder.Core.Editors.LastEditedProcessName"; private static IEditingStrategy strategy; @@ -35,7 +34,7 @@ static GlobalEditorHandler() /// /// Sets as current strategy. /// - internal static void SetDefaultStrategy() + public static void SetDefaultStrategy() { SetStrategy(new GraphViewEditingStrategy()); } @@ -43,13 +42,13 @@ internal static void SetDefaultStrategy() /// /// Sets given as current strategy. /// - internal static void SetStrategy(IEditingStrategy newStrategy) + public static void SetStrategy(IEditingStrategy newStrategy) { strategy = newStrategy; if (newStrategy == null) { - Debug.LogError("An editing strategy cannot be null, set to default instead."); + UnityEngine.Debug.LogError("An editing strategy cannot be null, set to default instead."); SetDefaultStrategy(); } } @@ -57,7 +56,7 @@ internal static void SetStrategy(IEditingStrategy newStrategy) /// /// Returns the current active process, can be null. /// - internal static IProcess GetCurrentProcess() + public static IProcess GetCurrentProcess() { return strategy.CurrentProcess; } @@ -65,7 +64,7 @@ internal static IProcess GetCurrentProcess() /// /// Returns the current active chapter, can be null. /// - internal static IChapter GetCurrentChapter() + public static IChapter GetCurrentChapter() { return strategy.CurrentChapter; } @@ -73,7 +72,7 @@ internal static IChapter GetCurrentChapter() /// /// Notifies selected when a new was just opened. /// - internal static void ProcessWindowOpened(ProcessEditorWindow window) + public static void ProcessWindowOpened(ProcessEditorWindow window) { strategy.HandleNewProcessWindow(window); } @@ -81,7 +80,7 @@ internal static void ProcessWindowOpened(ProcessEditorWindow window) /// /// Notifies selected when a was closed. /// - internal static void ProcessWindowClosed(ProcessEditorWindow window) + public static void ProcessWindowClosed(ProcessEditorWindow window) { strategy.HandleProcessWindowClosed(window); } @@ -89,7 +88,7 @@ internal static void ProcessWindowClosed(ProcessEditorWindow window) /// /// Notifies selected when a new was just opened. /// - internal static void StepWindowOpened(StepWindow window) + public static void StepWindowOpened(StepWindow window) { strategy.HandleNewStepWindow(window); } @@ -97,7 +96,7 @@ internal static void StepWindowOpened(StepWindow window) /// /// Notifies selected when a was closed. /// - internal static void StepWindowClosed(StepWindow window) + public static void StepWindowClosed(StepWindow window) { strategy.HandleStepWindowClosed(window); } @@ -105,17 +104,17 @@ internal static void StepWindowClosed(StepWindow window) /// /// Notifies selected when the currently edited process was changed to a different one. /// - internal static void SetCurrentProcess(string processName) + public static void SetCurrentProcess(string processName) { strategy.HandleCurrentProcessChanged(processName); } - internal static void SetCurrentChapter(IChapter chapter) + public static void SetCurrentChapter(IChapter chapter) { strategy.HandleCurrentChapterChanged(chapter); } - internal static void RequestNewChapter(IChapter chapter) + public static void RequestNewChapter(IChapter chapter) { strategy.HandleChapterChangeRequest(chapter); } @@ -123,7 +122,7 @@ internal static void RequestNewChapter(IChapter chapter) /// /// Notifies selected when user wants to start working on the current process. /// - internal static void StartEditingProcess() + public static void StartEditingProcess() { strategy.HandleStartEditingProcess(); } @@ -131,7 +130,7 @@ internal static void StartEditingProcess() /// /// Notifies selected when a designer has just modified the process in the editor. /// - internal static void CurrentProcessModified() + public static void CurrentProcessModified() { strategy.HandleCurrentProcessModified(); } @@ -139,7 +138,7 @@ internal static void CurrentProcessModified() /// /// Notifies selected when the currently edited was modified. /// - internal static void CurrentStepModified(IStep step) + public static void CurrentStepModified(IStep step) { strategy.HandleCurrentStepModified(step); } @@ -147,7 +146,7 @@ internal static void CurrentStepModified(IStep step) /// /// Notifies selected when a designer chooses a to edit. /// - internal static void ChangeCurrentStep(IStep step) + public static void ChangeCurrentStep(IStep step) { strategy.HandleCurrentStepChanged(step); } @@ -155,7 +154,7 @@ internal static void ChangeCurrentStep(IStep step) /// /// Notifies selected when a designer wants to start working on a step. /// - internal static void StartEditingStep() + public static void StartEditingStep() { strategy.HandleStartEditingStep(); } @@ -163,7 +162,7 @@ internal static void StartEditingStep() /// /// Notifies selected when the project is going to be unloaded (when assemblies are unloaded, when user starts or stop runtime, when scripts were modified). /// - internal static void ProjectIsGoingToUnload() + public static void ProjectIsGoingToUnload() { strategy.HandleProjectIsGoingToUnload(); } @@ -171,17 +170,17 @@ internal static void ProjectIsGoingToUnload() /// /// Notifies selected before Unity saves the project (either during the normal exit of the Editor application or when the designer clicks `Save Project`). /// - internal static void ProjectIsGoingToSave() + public static void ProjectIsGoingToSave() { strategy.HandleProjectIsGoingToSave(); } - internal static void EnterPlayMode() + public static void EnterPlayMode() { strategy.HandleEnterPlayMode(); } - internal static void ExitPlayMode() + public static void ExitPlayMode() { strategy.HandleExitingPlayMode(); } diff --git a/Source/Core/Editor/GraphViewEditingStrategy.cs b/Source/Core/Editor/GraphViewEditingStrategy.cs index c31a3773b..cc0b39e56 100644 --- a/Source/Core/Editor/GraphViewEditingStrategy.cs +++ b/Source/Core/Editor/GraphViewEditingStrategy.cs @@ -4,12 +4,13 @@ using UnityEditor; using UnityEngine; -using VRBuilder.Core; -using VRBuilder.Editor.UI.Windows; -using VRBuilder.Editor.Configuration; -using VRBuilder.Editor.UI.Graphics; +using VRBuilder.Core.Editor.Configuration; +using VRBuilder.Core.Editor.ProcessAssets; +using VRBuilder.Core.Editor.UI.GraphView; +using VRBuilder.Core.Editor.UI.GraphView.Windows; +using VRBuilder.Core.Editor.UI.Windows; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// This strategy is used by default and it handles interaction between process assets and various Builder windows. diff --git a/Source/Core/Editor/IEditingStrategy.cs b/Source/Core/Editor/IEditingStrategy.cs index ab40ef414..2db6ff69a 100644 --- a/Source/Core/Editor/IEditingStrategy.cs +++ b/Source/Core/Editor/IEditingStrategy.cs @@ -2,15 +2,15 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -using VRBuilder.Core; -using VRBuilder.Editor.UI.Windows; +using VRBuilder.Core.Editor.UI.GraphView; +using VRBuilder.Core.Editor.UI.GraphView.Windows; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// An interface for a strategy that defines how various events should be handled by the VR Builder editor. /// - internal interface IEditingStrategy + public interface IEditingStrategy { /// /// Returns the current process. diff --git a/Source/Core/Editor/Input/InputEditorUtils.cs b/Source/Core/Editor/Input/InputEditorUtils.cs index a673a77a1..570e7e0aa 100644 --- a/Source/Core/Editor/Input/InputEditorUtils.cs +++ b/Source/Core/Editor/Input/InputEditorUtils.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.Input +namespace VRBuilder.Core.Editor.Input { /// /// Static utility class which provides methods to help managing assets and functionalities of the new input system. diff --git a/Source/Core/Editor/InputSystemChecker.cs b/Source/Core/Editor/InputSystemChecker.cs index b298c0a9c..bf3facf5b 100644 --- a/Source/Core/Editor/InputSystemChecker.cs +++ b/Source/Core/Editor/InputSystemChecker.cs @@ -3,9 +3,9 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using UnityEditor; -using VRBuilder.Editor.Settings; +using VRBuilder.Core.Editor.Settings; -namespace VRBuilder.Editor.Setup +namespace VRBuilder.Core.Editor.Setup { [InitializeOnLoad] public static class InputSystemChecker diff --git a/Source/Core/Editor/MetadataWrapper.cs b/Source/Core/Editor/MetadataWrapper.cs index 4c276505f..806d02950 100644 --- a/Source/Core/Editor/MetadataWrapper.cs +++ b/Source/Core/Editor/MetadataWrapper.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// Data structure used to draw properties in the 'Step Inspector'. diff --git a/Source/Core/Editor/PackageExporter.cs b/Source/Core/Editor/PackageExporter.cs index 3060d7d56..7fb8b3849 100644 --- a/Source/Core/Editor/PackageExporter.cs +++ b/Source/Core/Editor/PackageExporter.cs @@ -12,7 +12,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { internal static class PackageExporter { @@ -41,7 +41,7 @@ public static void Export() } catch (Exception ex) { - Debug.LogError(ex); + UnityEngine.Debug.LogError(ex); if (Application.isBatchMode) { EditorApplication.Exit(1); @@ -64,11 +64,11 @@ public static void Export(string configPath) string jsonFile = File.ReadAllText(configPath); config = JsonConvert.DeserializeObject(jsonFile); - Debug.Log("Config file successfully loaded"); + UnityEngine.Debug.Log("Config file successfully loaded"); } catch (Exception e) { - Debug.LogWarningFormat("Config file at {0} found, but could not be read. Using default configuration. Exception occuring: '{1}'", configPath, e.GetType().Name); + UnityEngine.Debug.LogWarningFormat("Config file at {0} found, but could not be read. Using default configuration. Exception occuring: '{1}'", configPath, e.GetType().Name); } if (string.IsNullOrEmpty(config.VersionFilename) == false) @@ -85,9 +85,9 @@ public static void Export(string configPath) } string[] exportedPaths = GetAssetPathsToExport(config); - Debug.LogFormat("Exporting {0} paths to {1}", exportedPaths.Length, outputDirectory); + UnityEngine.Debug.LogFormat("Exporting {0} paths to {1}", exportedPaths.Length, outputDirectory); AssetDatabase.ExportPackage(exportedPaths, config.OutputPath.Replace('/', '\\'), ExportPackageOptions.Default); - Debug.Log("Export completed"); + UnityEngine.Debug.Log("Export completed"); } private static string[] GetAssetPathsToExport(ExportConfig config) diff --git a/Source/Core/Editor/PlatformCompatibilityChecker.cs b/Source/Core/Editor/PlatformCompatibilityChecker.cs index 132aa6fcf..b5821e239 100644 --- a/Source/Core/Editor/PlatformCompatibilityChecker.cs +++ b/Source/Core/Editor/PlatformCompatibilityChecker.cs @@ -9,7 +9,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { /// /// Validates that full .Net dependencies are referenced by Unity. diff --git a/Source/Core/Editor/ProcessAssets/ProcessAssetManager.cs b/Source/Core/Editor/ProcessAssets/ProcessAssetManager.cs index f422d50fc..ae1952570 100644 --- a/Source/Core/Editor/ProcessAssets/ProcessAssetManager.cs +++ b/Source/Core/Editor/ProcessAssets/ProcessAssetManager.cs @@ -7,20 +7,18 @@ using System.IO; using System.Linq; using UnityEditor; -using UnityEngine; -using VRBuilder.Core; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.Configuration; using VRBuilder.Core.IO; using VRBuilder.Core.Serialization; using VRBuilder.Core.Utils; -using VRBuilder.Editor.Configuration; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.ProcessAssets { /// /// A static class that handles the process assets. It lets you to save, load, delete, and import processes and provides multiple related utility methods. /// - internal static class ProcessAssetManager + public static class ProcessAssetManager { private static FileSystemWatcher watcher; private static bool isSaving; @@ -29,12 +27,12 @@ internal static class ProcessAssetManager /// /// Called when an external change to the process file is detected. /// - internal static event EventHandler ExternalFileChange; + public static event EventHandler ExternalFileChange; /// /// Deletes the process with . /// - internal static void Delete(string processName) + public static void Delete(string processName) { if (ProcessAssetUtils.DoesProcessAssetExist(processName)) { @@ -46,7 +44,7 @@ internal static void Delete(string processName) /// /// Imports the given by saving it to the proper directory. If there is a name collision, this process will be renamed. /// - internal static void Import(IProcess process) + public static void Import(IProcess process) { int counter = 0; string oldName = process.Data.Name; @@ -63,7 +61,7 @@ internal static void Import(IProcess process) if (oldName != process.Data.Name) { - Debug.LogWarning($"We detected a name collision while importing process \"{oldName}\". We have renamed it to \"{process.Data.Name}\" before importing."); + UnityEngine.Debug.LogWarning($"We detected a name collision while importing process \"{oldName}\". We have renamed it to \"{process.Data.Name}\" before importing."); } Save(process); @@ -72,13 +70,13 @@ internal static void Import(IProcess process) /// /// Imports the process from file at given file if the file extensions matches the . /// - internal static void Import(string path, IProcessSerializer serializer) + public static void Import(string path, IProcessSerializer serializer) { IProcess process; if (Path.GetExtension(path) != $".{serializer.FileFormat}") { - Debug.LogError($"The file extension of {path} does not match the expected file extension of {serializer.FileFormat} of the current serializer."); + UnityEngine.Debug.LogError($"The file extension of {path} does not match the expected file extension of {serializer.FileFormat} of the current serializer."); } try @@ -88,7 +86,7 @@ internal static void Import(string path, IProcessSerializer serializer) } catch (Exception e) { - Debug.LogError($"{e.GetType().Name} occured while trying to import file '{path}' with serializer '{serializer.GetType().Name}'\n\n{e.StackTrace}"); + UnityEngine.Debug.LogError($"{e.GetType().Name} occured while trying to import file '{path}' with serializer '{serializer.GetType().Name}'\n\n{e.StackTrace}"); return; } @@ -98,7 +96,7 @@ internal static void Import(string path, IProcessSerializer serializer) /// /// Save the to the file system. /// - internal static void Save(IProcess process) + public static void Save(IProcess process) { try { @@ -135,7 +133,7 @@ internal static void Save(IProcess process) } catch (Exception ex) { - Debug.LogError(ex); + UnityEngine.Debug.LogError(ex); } } @@ -143,7 +141,7 @@ private static void DeleteFiles(IEnumerable filesToDelete) { foreach (string file in filesToDelete) { - Debug.Log($"File deleted: {file}"); + UnityEngine.Debug.Log($"File deleted: {file}"); File.Delete(file); } } @@ -175,11 +173,11 @@ private static void WriteFileIfChanged(byte[] data, string path) if (AssetDatabase.MakeEditable(path)) { WriteProcessFile(path, data); - Debug.Log($"File saved: \"{path}\""); + UnityEngine.Debug.Log($"File saved: \"{path}\""); } else { - Debug.LogError($"Saving of \"{path}\" failed! Could not make it editable."); + UnityEngine.Debug.LogError($"Saving of \"{path}\" failed! Could not make it editable."); } } } @@ -204,7 +202,7 @@ private static void WriteProcessFile(string path, byte[] processData) } catch (Exception ex) { - Debug.LogError(ex); + UnityEngine.Debug.LogError(ex); } finally { @@ -221,7 +219,7 @@ private static void WriteProcessFile(string path, byte[] processData) /// Sets up a file system watcher to monitor changes in the directory of the process. /// /// The name of the process to load or if the scene dos not contain a process. - internal static IProcess Load(string processName) + public static IProcess Load(string processName) { if (ProcessAssetUtils.DoesProcessAssetExist(processName)) { @@ -242,8 +240,8 @@ internal static IProcess Load(string processName) } catch (Exception ex) { - Debug.LogError($"Failed to load the process '{processName}' from '{processAssetPath}' because of: \n{ex.Message}"); - Debug.LogError(ex); + UnityEngine.Debug.LogError($"Failed to load the process '{processName}' from '{processAssetPath}' because of: \n{ex.Message}"); + UnityEngine.Debug.LogError(ex); } } else @@ -256,11 +254,11 @@ internal static IProcess Load(string processName) /// /// Renames the to the and moves it to the appropriate directory. Check if you can rename before with the method. /// - internal static void RenameProcess(IProcess process, string newName) + public static void RenameProcess(IProcess process, string newName) { if (ProcessAssetUtils.CanRename(process, newName, out string errorMessage) == false) { - Debug.LogError($"Process {process.Data.Name} was not renamed because:\n\n{errorMessage}"); + UnityEngine.Debug.LogError($"Process {process.Data.Name} was not renamed because:\n\n{errorMessage}"); return; } @@ -282,7 +280,7 @@ internal static void RenameProcess(IProcess process, string newName) if (newAsset.EndsWith(streamingAssetPath) == false) { - Debug.LogError($"Process {process.Data.Name} is stored in an invalid path."); + UnityEngine.Debug.LogError($"Process {process.Data.Name} is stored in an invalid path."); } RuntimeConfigurator.Instance.SetSelectedProcess(streamingAssetPath); @@ -336,7 +334,7 @@ private static List LoadAdditionalDataFromManifest(string processName, I } else { - Debug.Log($"Error loading process. File not found: {path}"); + UnityEngine.Debug.Log($"Error loading process. File not found: {path}"); } } diff --git a/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessor.cs b/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessor.cs index 8f877c9fb..35fa9a8d7 100644 --- a/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessor.cs +++ b/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessor.cs @@ -6,7 +6,7 @@ using System.Linq; using UnityEditor; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.ProcessAssets { /// /// Monitors process files added or removed from the project. diff --git a/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessorEventArgs.cs b/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessorEventArgs.cs index 354189fa0..c50bd2d6d 100644 --- a/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessorEventArgs.cs +++ b/Source/Core/Editor/ProcessAssets/ProcessAssetPostprocessorEventArgs.cs @@ -4,7 +4,7 @@ using System; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.ProcessAssets { /// /// Event args for events. diff --git a/Source/Core/Editor/ProcessAssets/ProcessAssetProcessor.cs b/Source/Core/Editor/ProcessAssets/ProcessAssetProcessor.cs index ff34ba0d6..f0b07efe4 100644 --- a/Source/Core/Editor/ProcessAssets/ProcessAssetProcessor.cs +++ b/Source/Core/Editor/ProcessAssets/ProcessAssetProcessor.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.ProcessAssets { /// /// A class which detects if the project is going to be saved and informs the about it. diff --git a/Source/Core/Editor/ProcessAssets/ProcessAssetUtils.cs b/Source/Core/Editor/ProcessAssets/ProcessAssetUtils.cs index dde1267cf..bb91082d4 100644 --- a/Source/Core/Editor/ProcessAssets/ProcessAssetUtils.cs +++ b/Source/Core/Editor/ProcessAssets/ProcessAssetUtils.cs @@ -5,21 +5,20 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using VRBuilder.Core; -using VRBuilder.Editor.Configuration; using UnityEngine; +using VRBuilder.Core.Editor.Configuration; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.ProcessAssets { /// /// A collection of helper functions which are related to process asset handling. /// - internal static class ProcessAssetUtils + public static class ProcessAssetUtils { /// /// Extracts the file name from the . Works with both relative and full paths. /// - internal static string GetProcessNameFromPath(string processPath) + public static string GetProcessNameFromPath(string processPath) { return Path.GetFileNameWithoutExtension(processPath); } @@ -27,7 +26,7 @@ internal static string GetProcessNameFromPath(string processPath) /// /// Returns the asset path to the process with the . /// - internal static string GetProcessAssetPath(string processName) + public static string GetProcessAssetPath(string processName) { return $"{GetProcessAssetDirectory(processName)}/{processName}.{EditorConfigurator.Instance.Serializer.FileFormat}"; } @@ -35,7 +34,7 @@ internal static string GetProcessAssetPath(string processName) /// /// Returns the relative path from the streaming assets directory to the process with the . /// - internal static string GetProcessStreamingAssetPath(string processName) + public static string GetProcessStreamingAssetPath(string processName) { return $"{GetProcessStreamingAssetsSubdirectory(processName)}/{processName}.{EditorConfigurator.Instance.Serializer.FileFormat}"; } @@ -43,7 +42,7 @@ internal static string GetProcessStreamingAssetPath(string processName) /// /// Returns true if the file at given is a process. It does not check the validity of the file's contents. /// - internal static bool IsValidProcessAssetPath(string assetPath) + public static bool IsValidProcessAssetPath(string assetPath) { string filePath = Path.Combine(Application.dataPath.Remove(Application.dataPath.LastIndexOf('/')), assetPath).Replace('/', Path.DirectorySeparatorChar); string processFolderPath = Path.Combine(Application.streamingAssetsPath, EditorConfigurator.Instance.ProcessStreamingAssetsSubdirectory).Replace('/', Path.DirectorySeparatorChar); @@ -59,7 +58,7 @@ internal static bool IsValidProcessAssetPath(string assetPath) /// /// Returns a list of names of all processes in the project. /// - internal static IEnumerable GetAllProcesses() + public static IEnumerable GetAllProcesses() { DirectoryInfo processesDirectory = new DirectoryInfo($"{Application.streamingAssetsPath}/{EditorConfigurator.Instance.ProcessStreamingAssetsSubdirectory}"); return processesDirectory.GetDirectories() @@ -71,7 +70,7 @@ internal static IEnumerable GetAllProcesses() /// /// Checks if any process exists. /// - internal static bool DoesAnyProcessExist() + public static bool DoesAnyProcessExist() { DirectoryInfo processesDirectory = new DirectoryInfo($"{Application.streamingAssetsPath}/{EditorConfigurator.Instance.ProcessStreamingAssetsSubdirectory}"); if (processesDirectory.Exists == false) @@ -86,7 +85,7 @@ internal static bool DoesAnyProcessExist() /// Checks if you can create a process with the given . /// /// Empty if you can create the process or must fail silently. - internal static bool CanCreate(string processName, out string errorMessage) + public static bool CanCreate(string processName, out string errorMessage) { errorMessage = string.Empty; @@ -116,7 +115,7 @@ internal static bool CanCreate(string processName, out string errorMessage) /// Checks if you can rename the to the . /// /// Empty if you can create the process or must fail silently. - internal static bool CanRename(IProcess process, string newName, out string errorMessage) + public static bool CanRename(IProcess process, string newName, out string errorMessage) { errorMessage = string.Empty; @@ -126,7 +125,7 @@ internal static bool CanRename(IProcess process, string newName, out string erro /// /// Returns true if there is a process asset for the . /// - internal static bool DoesProcessAssetExist(string processName) + public static bool DoesProcessAssetExist(string processName) { return File.Exists(GetProcessAssetPath(processName)); } @@ -134,12 +133,12 @@ internal static bool DoesProcessAssetExist(string processName) /// /// Returns the directory of the process relative to the project root folder (Assets/StreamingAssets/...). /// - internal static string GetProcessAssetDirectory(string processName) + public static string GetProcessAssetDirectory(string processName) { return $"{Application.streamingAssetsPath}/{GetProcessStreamingAssetsSubdirectory(processName)}"; } - private static string GetProcessStreamingAssetsSubdirectory(string processName) + public static string GetProcessStreamingAssetsSubdirectory(string processName) { return $"{EditorConfigurator.Instance.ProcessStreamingAssetsSubdirectory}/{processName}"; } diff --git a/Source/Core/Editor/ProcessController.meta b/Source/Core/Editor/ProcessController.meta deleted file mode 100644 index a8d727027..000000000 --- a/Source/Core/Editor/ProcessController.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec2574f57f8fa2d46a7bc260a3b64d58 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/ProcessUpgradeTool/Converters/Converter.cs b/Source/Core/Editor/ProcessUpgradeTool/Converters/Converter.cs index 81847d721..2ada1000e 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Converters/Converter.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Converters/Converter.cs @@ -1,8 +1,6 @@ using System; -using UnityEngine; -using VRBuilder.Core; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Converters { /// /// Generic implementation of . @@ -21,7 +19,7 @@ public abstract class Converter : IConverter where TIn : class where public object Convert(object oldObject) { TOut newObject = PerformConversion((TIn)oldObject); - Debug.Log($"Replaced obsolete {typeof(TIn).Name} '{GetObjectName(oldObject)}' with {typeof(TOut).Name} '{GetObjectName(newObject)}'."); + UnityEngine.Debug.Log($"Replaced obsolete {typeof(TIn).Name} '{GetObjectName(oldObject)}' with {typeof(TOut).Name} '{GetObjectName(newObject)}'."); return newObject; } diff --git a/Source/Core/Editor/ProcessUpgradeTool/Converters/DisableGameObjectBehaviorConverter.cs b/Source/Core/Editor/ProcessUpgradeTool/Converters/DisableGameObjectBehaviorConverter.cs index 9ddc3e228..cb492345e 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Converters/DisableGameObjectBehaviorConverter.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Converters/DisableGameObjectBehaviorConverter.cs @@ -3,7 +3,7 @@ using VRBuilder.Core.SceneObjects; using VRBuilder.Unity; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Converters { /// /// Replaces an obsolete with a diff --git a/Source/Core/Editor/ProcessUpgradeTool/Converters/EnableGameObjectBehaviorConverter.cs b/Source/Core/Editor/ProcessUpgradeTool/Converters/EnableGameObjectBehaviorConverter.cs index 4283a6549..5e7d2b45d 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Converters/EnableGameObjectBehaviorConverter.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Converters/EnableGameObjectBehaviorConverter.cs @@ -3,7 +3,7 @@ using VRBuilder.Core.SceneObjects; using VRBuilder.Unity; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Converters { /// /// Replaces an obsolete with a diff --git a/Source/Core/Editor/ProcessUpgradeTool/Converters/IConverter.cs b/Source/Core/Editor/ProcessUpgradeTool/Converters/IConverter.cs index b9d8d8480..56d2af120 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Converters/IConverter.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Converters/IConverter.cs @@ -1,6 +1,6 @@ using System; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Converters { /// /// Replaces an object with another up to date object with comparable functionality. diff --git a/Source/Core/Editor/ProcessUpgradeTool/Converters/SetComponentEnabledByTagBehaviorConverter.cs b/Source/Core/Editor/ProcessUpgradeTool/Converters/SetComponentEnabledByTagBehaviorConverter.cs index fd0c905da..8f985604e 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Converters/SetComponentEnabledByTagBehaviorConverter.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Converters/SetComponentEnabledByTagBehaviorConverter.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; using VRBuilder.Core.SceneObjects; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Converters { /// /// Replaces an obsolete with a diff --git a/Source/Core/Editor/ProcessUpgradeTool/Converters/SetObjectsWithTagEnabledBehaviorConverter.cs b/Source/Core/Editor/ProcessUpgradeTool/Converters/SetObjectsWithTagEnabledBehaviorConverter.cs index 65e33852d..b3e277f98 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Converters/SetObjectsWithTagEnabledBehaviorConverter.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Converters/SetObjectsWithTagEnabledBehaviorConverter.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; using VRBuilder.Core.SceneObjects; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Converters { /// /// Replaces an obsolete with a diff --git a/Source/Core/Editor/ProcessUpgradeTool/ProcessUpgradeTool.cs b/Source/Core/Editor/ProcessUpgradeTool/ProcessUpgradeTool.cs index 610d2778d..4f4ac699f 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/ProcessUpgradeTool.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/ProcessUpgradeTool.cs @@ -3,17 +3,18 @@ using System.Linq; using System.Reflection; using UnityEditor; -using UnityEngine; using UnityEngine.SceneManagement; -using VRBuilder.Core; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.ProcessAssets; +using VRBuilder.Core.Editor.ProcessUpgradeTool.Converters; +using VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters; using VRBuilder.Core.EntityOwners; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; using VRBuilder.Core.Utils; using VRBuilder.Unity; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool { /// /// Tool for upgrading an old process loaded in a scene to be compatible with the latest version of VR Builder. @@ -88,7 +89,7 @@ private static void UpdateObjectGroups() EditorUtility.SetDirty(SceneObjectGroups.Instance); } - Debug.Log($"Converted {counter} tags to object groups."); + UnityEngine.Debug.Log($"Converted {counter} tags to object groups."); } [MenuItem("Tools/VR Builder/Developer/Update Process in Scene", false, 70)] @@ -96,7 +97,7 @@ private static void UpdateProcessMenuEntry() { if (RuntimeConfigurator.Exists == false) { - Debug.LogError("This is not a VR Builder scene"); + UnityEngine.Debug.LogError("This is not a VR Builder scene"); return; } @@ -104,7 +105,7 @@ private static void UpdateProcessMenuEntry() if (process == null) { - Debug.LogError("No active process found."); + UnityEngine.Debug.LogError("No active process found."); return; } diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/BehaviorListUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/BehaviorListUpdater.cs index 9842b4b27..1de066032 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/BehaviorListUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/BehaviorListUpdater.cs @@ -1,6 +1,6 @@ using VRBuilder.Core.Behaviors; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Concrete implementation of . diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ConditionListUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ConditionListUpdater.cs index 6be04947f..0647f0ced 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ConditionListUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ConditionListUpdater.cs @@ -1,6 +1,6 @@ using VRBuilder.Core.Conditions; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Concrete implementation of . diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/DataUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/DataUpdater.cs index 2da2e3a62..f6a69d509 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/DataUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/DataUpdater.cs @@ -1,6 +1,4 @@ -using VRBuilder.Core; - -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Concrete implementation of . diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/IUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/IUpdater.cs index 6d8b4ec3b..fa052024b 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/IUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/IUpdater.cs @@ -1,7 +1,7 @@ using System; using System.Reflection; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Updates the value in a field or property according to a newer standard. diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ListUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ListUpdater.cs index a8c0ff07c..dd572def1 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ListUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ListUpdater.cs @@ -2,9 +2,10 @@ using System.Collections.Generic; using System.Linq; using System.Reflection; +using VRBuilder.Core.Editor.ProcessUpgradeTool.Converters; using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Iterates through elements of a and replaces them with an up to date diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/LockablePropertyReferenceUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/LockablePropertyReferenceUpdater.cs index a222ce1a3..90319531f 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/LockablePropertyReferenceUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/LockablePropertyReferenceUpdater.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Reflection; -using VRBuilder.Core.Behaviors; +using VRBuilder.Core.RestrictiveEnvironment; using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Iterates through a collection of s and updates them if a suitable updater exists. diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/NestedUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/NestedUpdater.cs index 8969cb890..d634425c1 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/NestedUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/NestedUpdater.cs @@ -3,7 +3,7 @@ using System.Reflection; using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Generic that iterates through the fields and properties of the provided object and diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessSceneReferencePropertyUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessSceneReferencePropertyUpdater.cs index ba2c5f910..fc66f807c 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessSceneReferencePropertyUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessSceneReferencePropertyUpdater.cs @@ -4,7 +4,7 @@ using VRBuilder.Core.SceneObjects; using VRBuilder.Unity; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Assigns a value to a property from an obsolete diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableBoolUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableBoolUpdater.cs index 04534898d..f8bb6eead 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableBoolUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableBoolUpdater.cs @@ -1,6 +1,6 @@ using VRBuilder.Core.ProcessUtils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Concrete implementation of . diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableFloatUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableFloatUpdater.cs index 9f0316866..a9700f4d5 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableFloatUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableFloatUpdater.cs @@ -1,6 +1,6 @@ using VRBuilder.Core.ProcessUtils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Concrete implementation of . diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableStringUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableStringUpdater.cs index 881e40a6e..d81964b1e 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableStringUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/ProcessVariableStringUpdater.cs @@ -1,6 +1,6 @@ using VRBuilder.Core.ProcessUtils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Concrete implementation of . diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/PropertyUpdater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/PropertyUpdater.cs index 87fb99a69..d057a1e78 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/PropertyUpdater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/PropertyUpdater.cs @@ -1,12 +1,10 @@ using System; using System.Linq; using System.Reflection; -using UnityEngine; -using VRBuilder.Core; using VRBuilder.Core.Attributes; using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Generic implementation of specific for properties that supersede obsolete properties of a different type. @@ -36,18 +34,18 @@ public void Update(MemberInfo memberInfo, object owner) if (ShouldBeUpdated(propertyValue) == false) { - Debug.Log($"Skipped {memberInfo.Name} in {ownerName}: does not need updating."); + UnityEngine.Debug.Log($"Skipped {memberInfo.Name} in {ownerName}: does not need updating."); return; } if (AttemptToUpdateProperty(memberInfo, owner)) { TNew updatedValue = (TNew)ReflectionUtils.GetValueFromPropertyOrField(owner, memberInfo); - Debug.Log($"Successfully updated {memberInfo.Name} to {updatedValue} in {ownerName}."); + UnityEngine.Debug.Log($"Successfully updated {memberInfo.Name} to {updatedValue} in {ownerName}."); } else { - Debug.LogWarning($"Failed to update {memberInfo.Name} in {ownerName}."); + UnityEngine.Debug.LogWarning($"Failed to update {memberInfo.Name} in {ownerName}."); } } diff --git a/Source/Core/Editor/ProcessUpgradeTool/Updaters/Updater.cs b/Source/Core/Editor/ProcessUpgradeTool/Updaters/Updater.cs index 358cf5454..be03ce00b 100644 --- a/Source/Core/Editor/ProcessUpgradeTool/Updaters/Updater.cs +++ b/Source/Core/Editor/ProcessUpgradeTool/Updaters/Updater.cs @@ -1,7 +1,7 @@ using System; using System.Reflection; -namespace VRBuilder.Editor.ProcessUpgradeTool +namespace VRBuilder.Core.Editor.ProcessUpgradeTool.Updaters { /// /// Generic implementation of . diff --git a/Source/Core/Editor/ProcessValidation/DisabledValidationHandler.cs b/Source/Core/Editor/ProcessValidation/DisabledValidationHandler.cs index 72d2bcf9d..9325f53d3 100644 --- a/Source/Core/Editor/ProcessValidation/DisabledValidationHandler.cs +++ b/Source/Core/Editor/ProcessValidation/DisabledValidationHandler.cs @@ -4,7 +4,7 @@ using VRBuilder.Core; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// Does not validate, used to disabled the validation system. diff --git a/Source/Core/Editor/ProcessValidation/EditorReportEntry.cs b/Source/Core/Editor/ProcessValidation/EditorReportEntry.cs index 397eed78f..c19881ba6 100644 --- a/Source/Core/Editor/ProcessValidation/EditorReportEntry.cs +++ b/Source/Core/Editor/ProcessValidation/EditorReportEntry.cs @@ -2,9 +2,9 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -using VRBuilder.Core.Validation; +using VRBuilder.Core.ProcessValidation; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// Report generated from validations of objects. diff --git a/Source/Core/Editor/ProcessValidation/IContext.cs b/Source/Core/Editor/ProcessValidation/IContext.cs index e651e54b5..30b850a4e 100644 --- a/Source/Core/Editor/ProcessValidation/IContext.cs +++ b/Source/Core/Editor/ProcessValidation/IContext.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// Context is used to indicate the position in the process structure. diff --git a/Source/Core/Editor/ProcessValidation/IContextResolver.cs b/Source/Core/Editor/ProcessValidation/IContextResolver.cs index 1a288ca99..53a83c21b 100644 --- a/Source/Core/Editor/ProcessValidation/IContextResolver.cs +++ b/Source/Core/Editor/ProcessValidation/IContextResolver.cs @@ -4,7 +4,7 @@ using VRBuilder.Core; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// Retrieves from any provided . diff --git a/Source/Core/Editor/ProcessValidation/IValidationHandler.cs b/Source/Core/Editor/ProcessValidation/IValidationHandler.cs index 524f7658f..a94277bb9 100644 --- a/Source/Core/Editor/ProcessValidation/IValidationHandler.cs +++ b/Source/Core/Editor/ProcessValidation/IValidationHandler.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using VRBuilder.Core; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// ValidationHandler validates data objects, e.g. steps or conditions, of a given process and reports whether diff --git a/Source/Core/Editor/ProcessValidation/IValidationReport.cs b/Source/Core/Editor/ProcessValidation/IValidationReport.cs index 3ec504385..8ed7d469e 100644 --- a/Source/Core/Editor/ProcessValidation/IValidationReport.cs +++ b/Source/Core/Editor/ProcessValidation/IValidationReport.cs @@ -8,7 +8,7 @@ using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// Report about the last validation done by the validation system. diff --git a/Source/Core/Editor/ProcessValidation/IValidationScope.cs b/Source/Core/Editor/ProcessValidation/IValidationScope.cs index ce1508c38..e90bf2115 100644 --- a/Source/Core/Editor/ProcessValidation/IValidationScope.cs +++ b/Source/Core/Editor/ProcessValidation/IValidationScope.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// ValidationScope limits the scope of the validation done. For example scopes are: diff --git a/Source/Core/Editor/ProcessValidation/IValidator.cs b/Source/Core/Editor/ProcessValidation/IValidator.cs index d252e88a8..76a4b517c 100644 --- a/Source/Core/Editor/ProcessValidation/IValidator.cs +++ b/Source/Core/Editor/ProcessValidation/IValidator.cs @@ -5,7 +5,7 @@ using System; using System.Collections.Generic; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { /// /// Validator provides validation for a specific Type. diff --git a/Source/Core/Editor/ProcessValidation/ValidationTooltipGenerator.cs b/Source/Core/Editor/ProcessValidation/ValidationTooltipGenerator.cs index bf74ea7f6..ebd2929b3 100644 --- a/Source/Core/Editor/ProcessValidation/ValidationTooltipGenerator.cs +++ b/Source/Core/Editor/ProcessValidation/ValidationTooltipGenerator.cs @@ -5,7 +5,7 @@ using System.Collections.Generic; using System.Linq; -namespace VRBuilder.Editor.ProcessValidation +namespace VRBuilder.Core.Editor.ProcessValidation { internal class ValidationTooltipGenerator { diff --git a/Source/Core/Editor/Resources.meta b/Source/Core/Editor/Resources.meta deleted file mode 100644 index c1925fb98..000000000 --- a/Source/Core/Editor/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 077021f761a7a0048aa465967afd12f7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/Serialization/JsonEditorConfigurationSerializer.cs b/Source/Core/Editor/Serialization/JsonEditorConfigurationSerializer.cs index bb43a731a..c59127362 100644 --- a/Source/Core/Editor/Serialization/JsonEditorConfigurationSerializer.cs +++ b/Source/Core/Editor/Serialization/JsonEditorConfigurationSerializer.cs @@ -3,11 +3,11 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using System.Collections.Generic; -using VRBuilder.Editor.Configuration; +using VRBuilder.Core.Editor.Configuration; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -namespace VRBuilder.Editor.Serialization +namespace VRBuilder.Core.Editor.Serialization { public static class JsonEditorConfigurationSerializer { diff --git a/Source/Core/Editor/Setup/DefaultSceneSetupConfiguration.cs b/Source/Core/Editor/Setup/DefaultSceneSetupConfiguration.cs index 81bd3bc77..fbde3eb7c 100644 --- a/Source/Core/Editor/Setup/DefaultSceneSetupConfiguration.cs +++ b/Source/Core/Editor/Setup/DefaultSceneSetupConfiguration.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using VRBuilder.Core.Configuration; -using VRBuilder.UX; +using VRBuilder.ProcessController; -namespace VRBuilder.Editor.Setup +namespace VRBuilder.Core.Editor.Setup { /// /// Default configuration. @@ -36,10 +36,9 @@ public IEnumerable GetSetupNames() { return new string[] { - "VRBuilder.Editor.RuntimeConfigurationSetup", - "VRBuilder.Editor.BasicInteraction.RigSetup.DefaultRigSceneSetup", - "VRBuilder.Editor.UX.ProcessControllerSceneSetup", - "VRBuilder.Editor.XRInteraction.XRInteractionSceneSetup" + "VRBuilder.Core.Editor.Setup.RuntimeConfigurationSetup", + "VRBuilder.BasicInteraction.Editor.Setup.DefaultRigSceneSetup", + "VRBuilder.Core.Editor.Setup.ProcessControllerSceneSetup", }; } } diff --git a/Source/Core/Editor/Setup/ISceneSetupConfiguration.cs b/Source/Core/Editor/Setup/ISceneSetupConfiguration.cs index 149bf4aff..9b982abf9 100644 --- a/Source/Core/Editor/Setup/ISceneSetupConfiguration.cs +++ b/Source/Core/Editor/Setup/ISceneSetupConfiguration.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace VRBuilder.Editor.Setup +namespace VRBuilder.Core.Editor.Setup { /// /// Defines the configuration for a particular scene setup. diff --git a/Source/Core/Editor/ProcessController/ProcessControllerSceneSetup.cs b/Source/Core/Editor/Setup/ProcessControllerSceneSetup.cs similarity index 90% rename from Source/Core/Editor/ProcessController/ProcessControllerSceneSetup.cs rename to Source/Core/Editor/Setup/ProcessControllerSceneSetup.cs index 8782d7e01..77115c8b1 100644 --- a/Source/Core/Editor/ProcessController/ProcessControllerSceneSetup.cs +++ b/Source/Core/Editor/Setup/ProcessControllerSceneSetup.cs @@ -1,9 +1,8 @@ -using VRBuilder.Unity; -using VRBuilder.UX; using UnityEngine; -using VRBuilder.Editor.Setup; +using VRBuilder.ProcessController; +using VRBuilder.Unity; -namespace VRBuilder.Editor.UX +namespace VRBuilder.Core.Editor.Setup { /// /// Will be called on OnSceneSetup to add the process controller menu. @@ -12,10 +11,10 @@ public class ProcessControllerSceneSetup : SceneSetup { /// public override int Priority { get; } = 20; - + /// public override string Key { get; } = "ProcessControllerSetup"; - + /// public override void Setup(ISceneSetupConfiguration configuration) { diff --git a/Source/Core/Editor/ProcessController/ProcessControllerSceneSetup.cs.meta b/Source/Core/Editor/Setup/ProcessControllerSceneSetup.cs.meta similarity index 100% rename from Source/Core/Editor/ProcessController/ProcessControllerSceneSetup.cs.meta rename to Source/Core/Editor/Setup/ProcessControllerSceneSetup.cs.meta diff --git a/Source/Core/Editor/Setup/ProcessSceneSetup.cs b/Source/Core/Editor/Setup/ProcessSceneSetup.cs index 9ae5342b7..7b53fd7af 100644 --- a/Source/Core/Editor/Setup/ProcessSceneSetup.cs +++ b/Source/Core/Editor/Setup/ProcessSceneSetup.cs @@ -3,15 +3,13 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using System; +using System.Collections.Generic; using System.IO; using System.Linq; -using System.Collections.Generic; -using VRBuilder.Editor.Configuration; -using UnityEngine; -using VRBuilder.Editor.Setup; +using VRBuilder.Core.Editor.Configuration; using VRBuilder.Core.Utils; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.Setup { /// /// Can be run to setup the current scene as a process scene. @@ -35,7 +33,7 @@ public static void Run(ISceneSetupConfiguration configuration) foreach (Type onSceneSetupType in types) { - if(setupNames.Contains(onSceneSetupType.FullName) == false) + if (setupNames.Contains(onSceneSetupType.FullName) == false) { continue; } @@ -50,13 +48,13 @@ public static void Run(ISceneSetupConfiguration configuration) if (sceneSetup.Key != null && initializedKeys.Add(sceneSetup.Key) == false) { - Debug.LogWarningFormat("Multiple scene setups with key {0} found during Scene setup. This might cause problems and you might consider using only one.", sceneSetup.Key); + UnityEngine.Debug.LogWarningFormat("Multiple scene setups with key {0} found during Scene setup. This might cause problems and you might consider using only one.", sceneSetup.Key); } } } catch (Exception exception) { - Debug.LogErrorFormat("{0} while initializing SceneSetup object of type {1}.\n{2}", exception.GetType().Name, onSceneSetupType.Name, exception.StackTrace); + UnityEngine.Debug.LogErrorFormat("{0} while initializing SceneSetup object of type {1}.\n{2}", exception.GetType().Name, onSceneSetupType.Name, exception.StackTrace); } } @@ -67,15 +65,15 @@ public static void Run(ISceneSetupConfiguration configuration) try { onSceneSetup.Setup(configuration); - Debug.LogFormat("Scene Setup done for {0}", onSceneSetup); + UnityEngine.Debug.LogFormat("Scene Setup done for {0}", onSceneSetup); } catch (Exception exception) { - Debug.LogErrorFormat("{0} while initializing SceneSetup object of type {1}.\n{2}", exception.GetType().Name, onSceneSetup.GetType().Name, exception.StackTrace); + UnityEngine.Debug.LogErrorFormat("{0} while initializing SceneSetup object of type {1}.\n{2}", exception.GetType().Name, onSceneSetup.GetType().Name, exception.StackTrace); } } - Debug.Log("Scene setup is complete."); + UnityEngine.Debug.Log("Scene setup is complete."); } } } diff --git a/Source/Core/Editor/Setup/RigLoaderSceneSetupConfiguration.cs b/Source/Core/Editor/Setup/RigLoaderSceneSetupConfiguration.cs index 856c2b5b4..fa5e7c282 100644 --- a/Source/Core/Editor/Setup/RigLoaderSceneSetupConfiguration.cs +++ b/Source/Core/Editor/Setup/RigLoaderSceneSetupConfiguration.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using VRBuilder.Core.Configuration; -using VRBuilder.UX; +using VRBuilder.ProcessController; -namespace VRBuilder.Editor.Setup +namespace VRBuilder.Core.Editor.Setup { /// /// Basic configuration with rig loader. @@ -37,10 +37,9 @@ public IEnumerable GetSetupNames() { return new string[] { - "VRBuilder.Editor.RuntimeConfigurationSetup", - "VRBuilder.Editor.BasicInteraction.RigSetup.RigLoaderSceneSetup", - "VRBuilder.Editor.UX.ProcessControllerSceneSetup", - "VRBuilder.Editor.XRInteraction.XRInteractionSceneSetup" + "VRBuilder.Core.Editor.Setup.RuntimeConfigurationSetup", + "VRBuilder.Core.Editor.Setup.ProcessControllerSceneSetup", + "VRBuilder.BasicInteraction.Editor.Setup.RigLoaderSceneSetup", }; } } diff --git a/Source/Core/Editor/Setup/RuntimeConfigurationSetup.cs b/Source/Core/Editor/Setup/RuntimeConfigurationSetup.cs index 119810047..4f16d0ebd 100644 --- a/Source/Core/Editor/Setup/RuntimeConfigurationSetup.cs +++ b/Source/Core/Editor/Setup/RuntimeConfigurationSetup.cs @@ -5,9 +5,8 @@ using UnityEditor; using UnityEngine; using VRBuilder.Core.Configuration; -using VRBuilder.Editor.Setup; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.Setup { /// /// Will setup a when none is existent in scene. diff --git a/Source/Core/Editor/Setup/SceneSetup.cs b/Source/Core/Editor/Setup/SceneSetup.cs index 165d146a8..60a8dc3d3 100644 --- a/Source/Core/Editor/Setup/SceneSetup.cs +++ b/Source/Core/Editor/Setup/SceneSetup.cs @@ -7,10 +7,9 @@ using System.Text.RegularExpressions; using UnityEditor; using UnityEngine; -using VRBuilder.Editor.Setup; using Object = UnityEngine.Object; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor.Setup { /// /// This base class is supposed to be implemented by classes which will be called to setup the scene. diff --git a/Source/Core/Editor/Setup/SceneSetupUtils.cs b/Source/Core/Editor/Setup/SceneSetupUtils.cs index dec0c9d38..4abcd4838 100644 --- a/Source/Core/Editor/Setup/SceneSetupUtils.cs +++ b/Source/Core/Editor/Setup/SceneSetupUtils.cs @@ -4,16 +4,14 @@ using System; using System.IO; -using VRBuilder.Core; -using VRBuilder.Core.Configuration; using UnityEditor; -using UnityEngine; -using UnityEngine.SceneManagement; using UnityEditor.SceneManagement; -using VRBuilder.Core.Utils; -using System.Runtime.CompilerServices; +using UnityEngine.SceneManagement; +using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.ProcessAssets; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Editor.Setup +namespace VRBuilder.Core.Editor.Setup { /// /// Helper class to setup scenes and processes. @@ -71,7 +69,7 @@ public static void SetupProcess(string processName) if (string.IsNullOrEmpty(errorMessage) == false) { - Debug.LogError(errorMessage); + UnityEngine.Debug.LogError(errorMessage); } try @@ -80,7 +78,7 @@ public static void SetupProcess(string processName) } catch (Exception ex) { - Debug.LogError(ex); + UnityEngine.Debug.LogError(ex); } } diff --git a/Source/Core/Editor/SystemClipboard.cs b/Source/Core/Editor/SystemClipboard.cs index 8151835a5..aba410279 100644 --- a/Source/Core/Editor/SystemClipboard.cs +++ b/Source/Core/Editor/SystemClipboard.cs @@ -5,9 +5,9 @@ using System.Text; using UnityEditor; using VRBuilder.Core; -using VRBuilder.Editor.Configuration; +using VRBuilder.Core.Editor.Configuration; -namespace VRBuilder.Editor.Utils +namespace VRBuilder.Core.Editor.Utils { /// /// A utility class that converts a step from/to UTF-8 string using the serializer from the current diff --git a/Demo/Runtime/Scripts.meta b/Source/Core/Editor/TextToSpeech.meta similarity index 77% rename from Demo/Runtime/Scripts.meta rename to Source/Core/Editor/TextToSpeech.meta index 200d3b59d..cbe65fbcc 100644 --- a/Demo/Runtime/Scripts.meta +++ b/Source/Core/Editor/TextToSpeech.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1ca8ef0c3eed8ba4b80f5f82b4ad03bc +guid: 2dc8ff79db63bd145b9b43f0d4bfb37e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/Core/Editor/TextToSpeech/DefaultTextToSpeechConfiguration.cs b/Source/Core/Editor/TextToSpeech/DefaultTextToSpeechConfiguration.cs new file mode 100644 index 000000000..d48fe23bd --- /dev/null +++ b/Source/Core/Editor/TextToSpeech/DefaultTextToSpeechConfiguration.cs @@ -0,0 +1,9 @@ +using VRBuilder.Core.Settings; + +namespace VRBuilder.Core.Editor.TextToSpeech +{ + public class DefaultTextToSpeechConfiguration : SettingsObject + { + + } +} diff --git a/Source/TextToSpeech-Component/Editor/DefaultTextToSpeechConfiguration.cs.meta b/Source/Core/Editor/TextToSpeech/DefaultTextToSpeechConfiguration.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/DefaultTextToSpeechConfiguration.cs.meta rename to Source/Core/Editor/TextToSpeech/DefaultTextToSpeechConfiguration.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/NAudioConverter.cs b/Source/Core/Editor/TextToSpeech/NAudioConverter.cs similarity index 92% rename from Source/TextToSpeech-Component/Editor/NAudioConverter.cs rename to Source/Core/Editor/TextToSpeech/NAudioConverter.cs index a7db8a98f..12215b076 100644 --- a/Source/TextToSpeech-Component/Editor/NAudioConverter.cs +++ b/Source/Core/Editor/TextToSpeech/NAudioConverter.cs @@ -1,11 +1,12 @@ -using System; -using System.IO; using NAudio.Wave; using NAudio.Wave.SampleProviders; +using System; +using System.IO; using UnityEngine; +using VRBuilder.Core.TextToSpeech; using VRBuilder.TextToSpeech; -namespace VRBuilder.Editor.TextToSpeech +namespace VRBuilder.Core.Editor.TextToSpeech { /// /// This AudioConverter uses NAudio to convert audios. @@ -84,14 +85,14 @@ public bool TryWriteAudioClipToFile(AudioClip audio, string filePath) } catch (UnauthorizedAccessException ex) { - Debug.LogErrorFormat("Could not write to disk, not authorized\n{0}", ex.Message); + UnityEngine.Debug.LogErrorFormat("Could not write to disk, not authorized\n{0}", ex.Message); } catch (Exception ex) { - Debug.LogErrorFormat("Unknown exception occurred: '{0}'", ex.Message); + UnityEngine.Debug.LogErrorFormat("Unknown exception occurred: '{0}'", ex.Message); } return false; } } -} \ No newline at end of file +} diff --git a/Source/TextToSpeech-Component/Editor/NAudioConverter.cs.meta b/Source/Core/Editor/TextToSpeech/NAudioConverter.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/NAudioConverter.cs.meta rename to Source/Core/Editor/TextToSpeech/NAudioConverter.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/Providers.meta b/Source/Core/Editor/TextToSpeech/Providers.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/Providers.meta rename to Source/Core/Editor/TextToSpeech/Providers.meta diff --git a/Source/TextToSpeech-Component/Editor/Providers/DummyTextToSpeechProvider.cs b/Source/Core/Editor/TextToSpeech/Providers/DummyTextToSpeechProvider.cs similarity index 80% rename from Source/TextToSpeech-Component/Editor/Providers/DummyTextToSpeechProvider.cs rename to Source/Core/Editor/TextToSpeech/Providers/DummyTextToSpeechProvider.cs index dcfe53183..cbac392a4 100644 --- a/Source/TextToSpeech-Component/Editor/Providers/DummyTextToSpeechProvider.cs +++ b/Source/Core/Editor/TextToSpeech/Providers/DummyTextToSpeechProvider.cs @@ -1,10 +1,10 @@ using System.Threading.Tasks; -using Source.TextToSpeech_Component.Runtime; using UnityEngine; -using VRBuilder.TextToSpeech; -using UnityEngine.Localization; +using UnityEngine.Localization; +using VRBuilder.Core.TextToSpeech.Configuration; +using VRBuilder.Core.TextToSpeech.Providers; -namespace VRBuilder.Editor.TextToSpeech +namespace VRBuilder.Core.Editor.TextToSpeech.Providers { /// /// Dummy provider that creates empty files, useful in case of compatibility issues. @@ -29,4 +29,4 @@ public void SetConfig(ITextToSpeechConfiguration configuration) { } } -} \ No newline at end of file +} diff --git a/Source/TextToSpeech-Component/Editor/Providers/DummyTextToSpeechProvider.cs.meta b/Source/Core/Editor/TextToSpeech/Providers/DummyTextToSpeechProvider.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/Providers/DummyTextToSpeechProvider.cs.meta rename to Source/Core/Editor/TextToSpeech/Providers/DummyTextToSpeechProvider.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/Providers/MicrosoftSapiTextToSpeechProvider.cs b/Source/Core/Editor/TextToSpeech/Providers/MicrosoftSapiTextToSpeechProvider.cs similarity index 96% rename from Source/TextToSpeech-Component/Editor/Providers/MicrosoftSapiTextToSpeechProvider.cs rename to Source/Core/Editor/TextToSpeech/Providers/MicrosoftSapiTextToSpeechProvider.cs index 568f1d0f2..5e501086f 100644 --- a/Source/TextToSpeech-Component/Editor/Providers/MicrosoftSapiTextToSpeechProvider.cs +++ b/Source/Core/Editor/TextToSpeech/Providers/MicrosoftSapiTextToSpeechProvider.cs @@ -1,15 +1,15 @@ +using SpeechLib; using System; using System.IO; -using SpeechLib; -using UnityEngine; using System.Threading.Tasks; -using Source.TextToSpeech_Component.Runtime; -using VRBuilder.Core.Localization; -using VRBuilder.TextToSpeech; +using UnityEngine; using UnityEngine.Localization; using VRBuilder.Core.Configuration; +using VRBuilder.Core.TextToSpeech.Configuration; +using VRBuilder.Core.TextToSpeech.Providers; +using VRBuilder.Core.TextToSpeech.Utils; -namespace VRBuilder.Editor.TextToSpeech +namespace VRBuilder.Core.Editor.TextToSpeech.Providers { /// /// TTS provider which uses Microsoft SAPI to generate audio. @@ -87,13 +87,13 @@ public void SetConfig(ITextToSpeechConfiguration configuration) { this.configuration = configuration; } - + /// public ITextToSpeechConfiguration LoadConfig() { return MicrosoftTextToSpeechConfiguration.Instance; } - + /// public Task ConvertTextToSpeech(string text, Locale locale) { @@ -114,13 +114,13 @@ public Task ConvertTextToSpeech(string text, Locale locale) voice = "neutral"; break; } - + string filePath = PrepareFilepathForText(text, locale); float[] sampleData = Synthesize(text, filePath, locale.Identifier.Code, voice); AudioClip audioClip = AudioClip.Create(text, channels: 1, frequency: 48000, lengthSamples: sampleData.Length, stream: false); audioClip.SetData(sampleData, 0); - + return Task.FromResult(audioClip); #else throw new PlatformNotSupportedException($"TTS audio '{text}' could not be generated due that {GetType().Name} is not supported in {Application.platform}"); @@ -133,18 +133,18 @@ private float[] Synthesize(string text, string outputPath, string language, stri // the single type of a stream that is actually working is a SpFileStream. SpFileStream stream = PrepareFileStreamToWrite(outputPath); SpVoice synthesizer = new SpVoice { AudioOutputStream = stream }; - + string ssmlText = string.Format(ssmlTemplate, language, voice, text); synthesizer.Speak(ssmlText, SpeechVoiceSpeakFlags.SVSFIsXML); synthesizer.WaitUntilDone(-1); stream.Close(); - + byte[] data = File.ReadAllBytes(outputPath); float[] sampleData = TextToSpeechUtils.ShortsInByteArrayToFloats(data); float[] cleanData = RemoveArtifacts(sampleData); - + ClearCache(outputPath); - + return cleanData; } diff --git a/Source/TextToSpeech-Component/Editor/Providers/MicrosoftSapiTextToSpeechProvider.cs.meta b/Source/Core/Editor/TextToSpeech/Providers/MicrosoftSapiTextToSpeechProvider.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/Providers/MicrosoftSapiTextToSpeechProvider.cs.meta rename to Source/Core/Editor/TextToSpeech/Providers/MicrosoftSapiTextToSpeechProvider.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/Providers/WebTextToSpeechProvider.cs b/Source/Core/Editor/TextToSpeech/Providers/WebTextToSpeechProvider.cs similarity index 96% rename from Source/TextToSpeech-Component/Editor/Providers/WebTextToSpeechProvider.cs rename to Source/Core/Editor/TextToSpeech/Providers/WebTextToSpeechProvider.cs index 045585c14..883bcca77 100644 --- a/Source/TextToSpeech-Component/Editor/Providers/WebTextToSpeechProvider.cs +++ b/Source/Core/Editor/TextToSpeech/Providers/WebTextToSpeechProvider.cs @@ -1,14 +1,15 @@ using System; using System.Collections; using System.Threading.Tasks; -using Source.TextToSpeech_Component.Runtime; -using VRBuilder.Unity; using UnityEngine; +using UnityEngine.Localization; using UnityEngine.Networking; +using VRBuilder.Core.TextToSpeech.Configuration; +using VRBuilder.Core.TextToSpeech.Providers; using VRBuilder.TextToSpeech; -using UnityEngine.Localization; +using VRBuilder.Unity; -namespace VRBuilder.Editor.TextToSpeech +namespace VRBuilder.Core.Editor.TextToSpeech.Providers { /// /// Abstract WebTextToSpeechProvider which can be used for web based provider. @@ -20,7 +21,7 @@ public abstract class WebTextToSpeechProvider : ITextToSpeechProvider protected readonly UnityWebRequest UnityWebRequest; protected readonly IAudioConverter AudioConverter; - + private AudioType audioType = AudioType.MPEG; /// @@ -51,7 +52,7 @@ public void SetConfig(ITextToSpeechConfiguration configuration) } /// - public async Task ConvertTextToSpeech(string text,Locale locale) + public async Task ConvertTextToSpeech(string text, Locale locale) { TaskCompletionSource taskCompletion = new TaskCompletionSource(); CoroutineDispatcher.Instance.StartCoroutine(DownloadAudio(text, locale, taskCompletion)); @@ -92,12 +93,12 @@ protected virtual IEnumerator DownloadAudio(string text, Locale locale, TaskComp #endif { byte[] data = request.downloadHandler.data; - + if (data == null || data.Length == 0) { throw new DownloadFailedException($"Error while retrieving audio: '{request.error}'"); } - + AudioClip clip = DownloadHandlerAudioClip.GetContent(request); task.SetResult(clip); } @@ -116,7 +117,7 @@ protected virtual UnityWebRequest CreateRequest(string url, string text) { string escapedText = UnityWebRequest.EscapeURL(text); Uri uri = new Uri(string.Format(url, escapedText)); - + return UnityWebRequestMultimedia.GetAudioClip(uri, audioType); } @@ -128,13 +129,13 @@ protected virtual AudioClip CreateAudioClip(byte[] data) { return AudioConverter.CreateAudioClipFromMp3(data); } -#endregion + #endregion public class DownloadFailedException : Exception { public DownloadFailedException(string msg) : base(msg) { } - + public DownloadFailedException(string msg, Exception ex) : base(msg, ex) { } } } -} \ No newline at end of file +} diff --git a/Source/TextToSpeech-Component/Editor/Providers/WebTextToSpeechProvider.cs.meta b/Source/Core/Editor/TextToSpeech/Providers/WebTextToSpeechProvider.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/Providers/WebTextToSpeechProvider.cs.meta rename to Source/Core/Editor/TextToSpeech/Providers/WebTextToSpeechProvider.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/TextToSpeechBuildPreprocessor.cs b/Source/Core/Editor/TextToSpeech/TextToSpeechBuildPreprocessor.cs similarity index 85% rename from Source/TextToSpeech-Component/Editor/TextToSpeechBuildPreprocessor.cs rename to Source/Core/Editor/TextToSpeech/TextToSpeechBuildPreprocessor.cs index ffdf257eb..a19069bc0 100644 --- a/Source/TextToSpeech-Component/Editor/TextToSpeechBuildPreprocessor.cs +++ b/Source/Core/Editor/TextToSpeech/TextToSpeechBuildPreprocessor.cs @@ -1,8 +1,8 @@ -using System.Threading.Tasks; using UnityEditor.Build; using UnityEditor.Build.Reporting; +using VRBuilder.Core.Editor.TextToSpeech.Utils; -namespace VRBuilder.Editor.TextToSpeech +namespace VRBuilder.Core.Editor.TextToSpeech { /// /// Generates TTS files for all processes before a build. @@ -19,4 +19,4 @@ public void OnPreprocessBuild(BuildReport report) TextToSpeechEditorUtils.GenerateTextToSpeechForAllProcesses(); } } -} \ No newline at end of file +} diff --git a/Source/TextToSpeech-Component/Editor/TextToSpeechBuildPreprocessor.cs.meta b/Source/Core/Editor/TextToSpeech/TextToSpeechBuildPreprocessor.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/TextToSpeechBuildPreprocessor.cs.meta rename to Source/Core/Editor/TextToSpeech/TextToSpeechBuildPreprocessor.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI.meta b/Source/Core/Editor/TextToSpeech/Utils.meta similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI.meta rename to Source/Core/Editor/TextToSpeech/Utils.meta index ccf0f313b..4c6213b51 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI.meta +++ b/Source/Core/Editor/TextToSpeech/Utils.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 80490f2376d353b418b841d5d163ecbe +guid: bcd6400b8da50b44a8a09dc847988bca folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/TextToSpeech-Component/Editor/TextToSpeechEditorUtils.cs b/Source/Core/Editor/TextToSpeech/Utils/TextToSpeechEditorUtils.cs similarity index 88% rename from Source/TextToSpeech-Component/Editor/TextToSpeechEditorUtils.cs rename to Source/Core/Editor/TextToSpeech/Utils/TextToSpeechEditorUtils.cs index 52e77f2c0..3c95cfcd8 100644 --- a/Source/TextToSpeech-Component/Editor/TextToSpeechEditorUtils.cs +++ b/Source/Core/Editor/TextToSpeech/Utils/TextToSpeechEditorUtils.cs @@ -3,18 +3,21 @@ using System.IO; using System.Linq; using System.Threading.Tasks; -using Source.TextToSpeech_Component.Runtime; using UnityEditor; using UnityEngine; using UnityEngine.Localization; using UnityEngine.Localization.Settings; -using VRBuilder.Core; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.ProcessAssets; using VRBuilder.Core.Localization; +using VRBuilder.Core.Settings; +using VRBuilder.Core.TextToSpeech; +using VRBuilder.Core.TextToSpeech.Configuration; +using VRBuilder.Core.TextToSpeech.Providers; +using VRBuilder.Core.TextToSpeech.Utils; using VRBuilder.TextToSpeech; -using VRBuilder.TextToSpeech.Audio; -namespace VRBuilder.Editor.TextToSpeech +namespace VRBuilder.Core.Editor.TextToSpeech.Utils { public static class TextToSpeechEditorUtils { @@ -82,7 +85,7 @@ public static async Task CacheTextToSpeechClips(IEnumerable /// Layout extension for VR Builder. @@ -29,11 +27,11 @@ public static void DrawLink(string text, string url, int indent = BuilderEditorS { try { - Process.Start(url); + System.Diagnostics.Process.Start(url); } catch (Exception ex) { - Debug.LogError(ex); + UnityEngine.Debug.LogError(ex); } }, indent); } @@ -125,7 +123,7 @@ public static IEnumerable DrawCheckBoxList(IEnumerable selection, List< isSelected = GUILayout.Toggle(isSelected, content[i], BuilderEditorStyles.Toggle); EditorGUI.EndDisabledGroup(); - if(isSelected) + if (isSelected) { selectedEntries.Add(entries[i]); } diff --git a/Source/Core/Editor/UI/Drawers/AbstractDrawer.cs b/Source/Core/Editor/UI/Drawers/AbstractDrawer.cs index ff97dc85a..5282e66cb 100644 --- a/Source/Core/Editor/UI/Drawers/AbstractDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/AbstractDrawer.cs @@ -8,10 +8,10 @@ using VRBuilder.Core; using VRBuilder.Core.Attributes; using VRBuilder.Core.Utils; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Simple base drawer class. diff --git a/Source/Core/Editor/UI/Drawers/AbstractInstantiatorDrawer.cs b/Source/Core/Editor/UI/Drawers/AbstractInstantiatorDrawer.cs index 4d8f44afe..41fd1695d 100644 --- a/Source/Core/Editor/UI/Drawers/AbstractInstantiatorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/AbstractInstantiatorDrawer.cs @@ -5,10 +5,10 @@ using System; using System.Collections.Generic; using System.Linq; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// An abstract drawer for Step Inspector UI elements that create new instances of objects. diff --git a/Source/Core/Editor/UI/Drawers/AnimationClipResourceDrawer.cs b/Source/Core/Editor/UI/Drawers/AnimationClipResourceDrawer.cs index a82346c56..ec7a7bc0c 100644 --- a/Source/Core/Editor/UI/Drawers/AnimationClipResourceDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/AnimationClipResourceDrawer.cs @@ -1,6 +1,6 @@ using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of asset path drawer for assets. diff --git a/Source/Core/Editor/UI/Drawers/AnimationCurveDrawer.cs b/Source/Core/Editor/UI/Drawers/AnimationCurveDrawer.cs index cfce69485..bf2bf7131 100644 --- a/Source/Core/Editor/UI/Drawers/AnimationCurveDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/AnimationCurveDrawer.cs @@ -2,7 +2,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for diff --git a/Source/Core/Editor/UI/Drawers/BehaviorCollectionDrawer.cs b/Source/Core/Editor/UI/Drawers/BehaviorCollectionDrawer.cs index 11fe0f655..4f3550e53 100644 --- a/Source/Core/Editor/UI/Drawers/BehaviorCollectionDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/BehaviorCollectionDrawer.cs @@ -7,7 +7,7 @@ using VRBuilder.Core; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [DefaultProcessDrawer(typeof(BehaviorCollection))] internal class BehaviorCollectionDrawer : DataOwnerDrawer diff --git a/Source/Core/Editor/UI/Drawers/BehaviorExecutionStagesDrawer.cs b/Source/Core/Editor/UI/Drawers/BehaviorExecutionStagesDrawer.cs index afce7af87..57ef15e5e 100644 --- a/Source/Core/Editor/UI/Drawers/BehaviorExecutionStagesDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/BehaviorExecutionStagesDrawer.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for members. diff --git a/Source/Core/Editor/UI/Drawers/BehaviorInstantiatiorDrawer.cs b/Source/Core/Editor/UI/Drawers/BehaviorInstantiatiorDrawer.cs index cfe086383..c93b773c5 100644 --- a/Source/Core/Editor/UI/Drawers/BehaviorInstantiatiorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/BehaviorInstantiatiorDrawer.cs @@ -6,16 +6,16 @@ using System.Collections.Generic; using System.Linq; using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.Configuration; +using VRBuilder.Core.Editor.Configuration; using UnityEditor; using UnityEngine; using VRBuilder.Core; -using VRBuilder.Editor.Utils; +using VRBuilder.Core.Editor.Utils; using VRBuilder.Core.Utils; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; using VRBuilder.Core.Conditions; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Draws a dropdown button with all in the project, and creates a new instance of choosen behavior on click. @@ -33,7 +33,7 @@ public override Rect Draw(Rect rect, object currentValue, Action changeV TestableEditorElements.DisplayContextMenu(options); if (currentValue != null) { - Debug.Log("Current value is not null"); + UnityEngine.Debug.Log("Current value is not null"); } } EditorGUI.EndDisabledGroup(); diff --git a/Source/Core/Editor/UI/Drawers/BoolDrawer.cs b/Source/Core/Editor/UI/Drawers/BoolDrawer.cs index 092d87614..2d60a135a 100644 --- a/Source/Core/Editor/UI/Drawers/BoolDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/BoolDrawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for boolean members. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/BooleanProcessVariableDrawer.cs b/Source/Core/Editor/UI/Drawers/BooleanProcessVariableDrawer.cs similarity index 86% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/BooleanProcessVariableDrawer.cs rename to Source/Core/Editor/UI/Drawers/BooleanProcessVariableDrawer.cs index 1b7f57006..dadfaf5dd 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/BooleanProcessVariableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/BooleanProcessVariableDrawer.cs @@ -1,8 +1,7 @@ using UnityEditor; using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of that draws bool variables. @@ -16,4 +15,4 @@ protected override bool DrawConstField(bool value) return EditorGUILayout.Toggle(value); } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/BooleanProcessVariableDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/BooleanProcessVariableDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/BooleanProcessVariableDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/BooleanProcessVariableDrawer.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareBooleansDrawer.cs b/Source/Core/Editor/UI/Drawers/CompareBooleansDrawer.cs similarity index 96% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareBooleansDrawer.cs rename to Source/Core/Editor/UI/Drawers/CompareBooleansDrawer.cs index 5a2c3917f..df011c39b 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareBooleansDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/CompareBooleansDrawer.cs @@ -1,10 +1,9 @@ using System; using UnityEngine; using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.Properties.Operations; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of for comparing bools. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareBooleansDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/CompareBooleansDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareBooleansDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/CompareBooleansDrawer.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareNumbersDrawer.cs b/Source/Core/Editor/UI/Drawers/CompareNumbersDrawer.cs similarity index 97% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareNumbersDrawer.cs rename to Source/Core/Editor/UI/Drawers/CompareNumbersDrawer.cs index 004a38a65..cce69c52b 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareNumbersDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/CompareNumbersDrawer.cs @@ -1,10 +1,9 @@ using System; using UnityEngine; using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.Properties.Operations; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of for comparing floats. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareNumbersDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/CompareNumbersDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareNumbersDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/CompareNumbersDrawer.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareTextDrawer.cs b/Source/Core/Editor/UI/Drawers/CompareTextDrawer.cs similarity index 95% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareTextDrawer.cs rename to Source/Core/Editor/UI/Drawers/CompareTextDrawer.cs index ed458082d..2a1f2d5a3 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareTextDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/CompareTextDrawer.cs @@ -1,10 +1,9 @@ using System; using UnityEngine; using VRBuilder.Core.Conditions; -using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.Properties.Operations; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of for comparing strings. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareTextDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/CompareTextDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareTextDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/CompareTextDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/CompareValueToConstDrawer.cs b/Source/Core/Editor/UI/Drawers/CompareValueToConstDrawer.cs index 00d0b819c..24f23447d 100644 --- a/Source/Core/Editor/UI/Drawers/CompareValueToConstDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/CompareValueToConstDrawer.cs @@ -3,10 +3,8 @@ using VRBuilder.Core.Conditions; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UI.Drawers; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Custom drawer for . This drawer omits the reference/const selectors in order diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareValuesDrawer.cs b/Source/Core/Editor/UI/Drawers/CompareValuesDrawer.cs similarity index 97% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareValuesDrawer.cs rename to Source/Core/Editor/UI/Drawers/CompareValuesDrawer.cs index ea72df29a..48c2c22ee 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareValuesDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/CompareValuesDrawer.cs @@ -1,11 +1,9 @@ using System; using UnityEngine; using VRBuilder.Core.Conditions; -using VRBuilder.Core.SceneObjects; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Custom drawer for . diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareValuesDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/CompareValuesDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/CompareValuesDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/CompareValuesDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/ConditionInstantiatorDrawer.cs b/Source/Core/Editor/UI/Drawers/ConditionInstantiatorDrawer.cs index ec117ca74..3a2365d53 100644 --- a/Source/Core/Editor/UI/Drawers/ConditionInstantiatorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ConditionInstantiatorDrawer.cs @@ -6,13 +6,13 @@ using System.Collections.Generic; using System.Linq; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.Configuration; +using VRBuilder.Core.Editor.Configuration; using UnityEditor; using UnityEngine; -using VRBuilder.Editor.Utils; +using VRBuilder.Core.Editor.Utils; using VRBuilder.Core; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Draws a dropdown button with all in the project, and creates a new instance of choosen condition on click. diff --git a/Source/Core/Editor/UI/Drawers/DataOwnerDrawer.cs b/Source/Core/Editor/UI/Drawers/DataOwnerDrawer.cs index 98568c9e1..21ef0e3fc 100644 --- a/Source/Core/Editor/UI/Drawers/DataOwnerDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/DataOwnerDrawer.cs @@ -7,7 +7,7 @@ using VRBuilder.Core; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [DefaultProcessDrawer(typeof(IDataOwner))] internal class DataOwnerDrawer : AbstractDrawer diff --git a/Source/Core/Editor/UI/Drawers/DefaultProcessDrawerAttribute.cs b/Source/Core/Editor/UI/Drawers/DefaultProcessDrawerAttribute.cs index 0d76352ed..765495948 100644 --- a/Source/Core/Editor/UI/Drawers/DefaultProcessDrawerAttribute.cs +++ b/Source/Core/Editor/UI/Drawers/DefaultProcessDrawerAttribute.cs @@ -4,7 +4,7 @@ using System; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Marks a Process drawer as a default drawer for a given type. diff --git a/Source/Core/Editor/UI/Drawers/DrawerLocator.cs b/Source/Core/Editor/UI/Drawers/DrawerLocator.cs index 6a6cbff3e..b7ffeb030 100644 --- a/Source/Core/Editor/UI/Drawers/DrawerLocator.cs +++ b/Source/Core/Editor/UI/Drawers/DrawerLocator.cs @@ -10,7 +10,7 @@ using VRBuilder.Core.Attributes; using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [InitializeOnLoad] public static class DrawerLocator diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers/DropDownElement.cs b/Source/Core/Editor/UI/Drawers/DropDownElement.cs similarity index 95% rename from Source/Core/Editor/UI/Drawers/DropdownDrawers/DropDownElement.cs rename to Source/Core/Editor/UI/Drawers/DropDownElement.cs index a76b04abb..10f5948db 100644 --- a/Source/Core/Editor/UI/Drawers/DropdownDrawers/DropDownElement.cs +++ b/Source/Core/Editor/UI/Drawers/DropDownElement.cs @@ -1,7 +1,7 @@ using System; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// An element in a dropdown. diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers/DropDownElement.cs.meta b/Source/Core/Editor/UI/Drawers/DropDownElement.cs.meta similarity index 100% rename from Source/Core/Editor/UI/Drawers/DropdownDrawers/DropDownElement.cs.meta rename to Source/Core/Editor/UI/Drawers/DropDownElement.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers/DropdownDrawer.cs b/Source/Core/Editor/UI/Drawers/DropdownDrawer.cs similarity index 98% rename from Source/Core/Editor/UI/Drawers/DropdownDrawers/DropdownDrawer.cs rename to Source/Core/Editor/UI/Drawers/DropdownDrawer.cs index c1a77d8ee..5cc965df1 100644 --- a/Source/Core/Editor/UI/Drawers/DropdownDrawers/DropdownDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/DropdownDrawer.cs @@ -4,7 +4,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Generic drawer for dropdowns. Implement by providing your possible options. diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers/DropdownDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/DropdownDrawer.cs.meta similarity index 100% rename from Source/Core/Editor/UI/Drawers/DropdownDrawers/DropdownDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/DropdownDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers.meta b/Source/Core/Editor/UI/Drawers/DropdownDrawers.meta deleted file mode 100644 index 672b475d1..000000000 --- a/Source/Core/Editor/UI/Drawers/DropdownDrawers.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 23dadec95ed8adc40a917b640696736a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/Drawers/EnumDrawer.cs b/Source/Core/Editor/UI/Drawers/EnumDrawer.cs index 81e26671d..e4b73b05d 100644 --- a/Source/Core/Editor/UI/Drawers/EnumDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/EnumDrawer.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for `System.Enum` members. diff --git a/Source/Core/Editor/UI/Drawers/FloatDrawer.cs b/Source/Core/Editor/UI/Drawers/FloatDrawer.cs index 74655c725..428a46b22 100644 --- a/Source/Core/Editor/UI/Drawers/FloatDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/FloatDrawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for float members. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/FloatProcessVariableDrawer.cs b/Source/Core/Editor/UI/Drawers/FloatProcessVariableDrawer.cs similarity index 86% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/FloatProcessVariableDrawer.cs rename to Source/Core/Editor/UI/Drawers/FloatProcessVariableDrawer.cs index 228afbd85..588a41cff 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/FloatProcessVariableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/FloatProcessVariableDrawer.cs @@ -1,8 +1,7 @@ using UnityEditor; using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of that draws float variables. @@ -16,4 +15,4 @@ protected override float DrawConstField(float value) return EditorGUILayout.FloatField("", value); } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/FloatProcessVariableDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/FloatProcessVariableDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/FloatProcessVariableDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/FloatProcessVariableDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/IProcessDrawer.cs b/Source/Core/Editor/UI/Drawers/IProcessDrawer.cs index f1ce451ba..c70d02670 100644 --- a/Source/Core/Editor/UI/Drawers/IProcessDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/IProcessDrawer.cs @@ -6,7 +6,7 @@ using System.Reflection; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Interface of a drawer for process members. diff --git a/Source/Core/Editor/UI/Drawers/InstantiatorProcessDrawerAttribute.cs b/Source/Core/Editor/UI/Drawers/InstantiatorProcessDrawerAttribute.cs index ca5b9508b..3652a8d8b 100644 --- a/Source/Core/Editor/UI/Drawers/InstantiatorProcessDrawerAttribute.cs +++ b/Source/Core/Editor/UI/Drawers/InstantiatorProcessDrawerAttribute.cs @@ -4,7 +4,7 @@ using System; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [AttributeUsage(AttributeTargets.Class)] internal class InstantiatorProcessDrawerAttribute : Attribute diff --git a/Source/Core/Editor/UI/Drawers/IntDrawer.cs b/Source/Core/Editor/UI/Drawers/IntDrawer.cs index c72c9760b..a1016a436 100644 --- a/Source/Core/Editor/UI/Drawers/IntDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/IntDrawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for int values. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/IntProcessVariableDrawer.cs b/Source/Core/Editor/UI/Drawers/IntProcessVariableDrawer.cs similarity index 86% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/IntProcessVariableDrawer.cs rename to Source/Core/Editor/UI/Drawers/IntProcessVariableDrawer.cs index 4a369bf4e..78d3611f2 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/IntProcessVariableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/IntProcessVariableDrawer.cs @@ -1,8 +1,7 @@ using UnityEditor; using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of that draws int variables. @@ -16,4 +15,4 @@ protected override int DrawConstField(int value) return EditorGUILayout.IntField("", value); } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/IntProcessVariableDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/IntProcessVariableDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/IntProcessVariableDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/IntProcessVariableDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/ListDrawer.cs b/Source/Core/Editor/UI/Drawers/ListDrawer.cs index b99dcd4cc..35b0b1d75 100644 --- a/Source/Core/Editor/UI/Drawers/ListDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ListDrawer.cs @@ -8,7 +8,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// A default Process drawer for types implementing `IList`. diff --git a/Source/Core/Editor/UI/Drawers/ListFloatColorDrawer.cs b/Source/Core/Editor/UI/Drawers/ListFloatColorDrawer.cs index 8947b2e5f..b5e411c03 100644 --- a/Source/Core/Editor/UI/Drawers/ListFloatColorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ListFloatColorDrawer.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Custom color drawer for the case when color is stored as a list of four floats. diff --git a/Source/TextToSpeech-Component/Editor/Drawers/LocalizationTableDrawer.cs b/Source/Core/Editor/UI/Drawers/LocalizationTableDrawer.cs similarity index 96% rename from Source/TextToSpeech-Component/Editor/Drawers/LocalizationTableDrawer.cs rename to Source/Core/Editor/UI/Drawers/LocalizationTableDrawer.cs index 0fa454cf0..d12c190fa 100644 --- a/Source/TextToSpeech-Component/Editor/Drawers/LocalizationTableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/LocalizationTableDrawer.cs @@ -3,9 +3,9 @@ using UnityEditor; using UnityEditor.Localization; using UnityEngine; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.Editor.UI.Drawers; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Draws a drop-down for localization tables. diff --git a/Source/TextToSpeech-Component/Editor/Drawers/LocalizationTableDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/LocalizationTableDrawer.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/Drawers/LocalizationTableDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/LocalizationTableDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/LockableObjectsDrawer.cs b/Source/Core/Editor/UI/Drawers/LockableObjectsDrawer.cs index 464ab47d1..1999f1ed6 100644 --- a/Source/Core/Editor/UI/Drawers/LockableObjectsDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/LockableObjectsDrawer.cs @@ -8,14 +8,14 @@ using UnityEditor; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; +using VRBuilder.Core.Editor.UI.GraphView.Windows; +using VRBuilder.Core.Editor.UI.Views; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI.Views; -using VRBuilder.Editor.UI.Windows; +using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [DefaultProcessDrawer(typeof(LockableObjectsCollection))] internal class LockableObjectsDrawer : DataOwnerDrawer diff --git a/Source/Core/Editor/UI/Drawers/MetadataWrapperDrawer.cs b/Source/Core/Editor/UI/Drawers/MetadataWrapperDrawer.cs index 44f93e6a8..79a60379e 100644 --- a/Source/Core/Editor/UI/Drawers/MetadataWrapperDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/MetadataWrapperDrawer.cs @@ -9,16 +9,15 @@ using System.Reflection; using UnityEditor; using UnityEngine; -using VRBuilder.Core; using VRBuilder.Core.Attributes; using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; +using VRBuilder.Core.Editor.UndoRedo; +using VRBuilder.Core.Editor.Utils; using VRBuilder.Core.UI.Drawers.Metadata; using VRBuilder.Core.Utils; -using VRBuilder.Editor.UndoRedo; -using VRBuilder.Editor.Utils; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// This drawer receives a data structure which contains an actual object to draw and additional drawing information. @@ -355,7 +354,7 @@ private Rect DrawIsBlockingToggle(Rect rect, MetadataWrapper wrapper, Action changeValueCallback) private void Paste(MetadataWrapper wrapper, Action changeValueCallback) { IEntity entity = SystemClipboard.PasteEntity(); - IEntity parent = ProcessUtils.GetParentEntity((IEntity)wrapper.Value, GlobalEditorHandler.GetCurrentProcess()); + IEntity parent = VRBuilder.Core.Utils.ProcessUtils.GetParentEntity((IEntity)wrapper.Value, GlobalEditorHandler.GetCurrentProcess()); RevertableChangesHandler.Do(new ProcessCommand(() => { @@ -754,8 +753,9 @@ private bool CanPaste(MetadataWrapper wrapper) return false; } + IEntity pastedEntity = SystemClipboard.PasteEntity(); - IEntity parentEntity = ProcessUtils.GetParentEntity((IEntity)wrapper.Value, GlobalEditorHandler.GetCurrentProcess()); + IEntity parentEntity = VRBuilder.Core.Utils.ProcessUtils.GetParentEntity((IEntity)wrapper.Value, GlobalEditorHandler.GetCurrentProcess()); return (pastedEntity is ICondition && parentEntity is ITransition) || (pastedEntity is IBehavior && parentEntity is IBehaviorCollection); } diff --git a/Source/Core/Editor/UI/Drawers/MultiLineStringDrawer.cs b/Source/Core/Editor/UI/Drawers/MultiLineStringDrawer.cs index fee1fa1da..7cc43d11e 100644 --- a/Source/Core/Editor/UI/Drawers/MultiLineStringDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/MultiLineStringDrawer.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for string members. diff --git a/Source/Core/Editor/UI/Drawers/NameableDrawer.cs b/Source/Core/Editor/UI/Drawers/NameableDrawer.cs index 3254efef1..a4a8bd7f9 100644 --- a/Source/Core/Editor/UI/Drawers/NameableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/NameableDrawer.cs @@ -7,14 +7,14 @@ using VRBuilder.Core; using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; -using VRBuilder.Editor.ProcessValidation; +using VRBuilder.Core.Editor.ProcessValidation; using UnityEditor; using UnityEngine; using VRBuilder.Core.Attributes; using System.Linq; using System.Reflection; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for values implementing INameable interface. diff --git a/Source/Core/Editor/UI/Drawers/NormalizedFloatDrawer.cs b/Source/Core/Editor/UI/Drawers/NormalizedFloatDrawer.cs index e7bd2669d..608f47c2a 100644 --- a/Source/Core/Editor/UI/Drawers/NormalizedFloatDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/NormalizedFloatDrawer.cs @@ -2,7 +2,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for a 0-1 float slider. diff --git a/Source/Core/Editor/UI/Drawers/ObjectDrawer.cs b/Source/Core/Editor/UI/Drawers/ObjectDrawer.cs index e686d46e0..e7ac257d4 100644 --- a/Source/Core/Editor/UI/Drawers/ObjectDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ObjectDrawer.cs @@ -11,12 +11,12 @@ using VRBuilder.Core.Behaviors; using VRBuilder.Core.Conditions; using VRBuilder.Core.Utils; -using VRBuilder.Editor.Configuration; -using VRBuilder.Editor.ProcessValidation; +using VRBuilder.Core.Editor.Configuration; +using VRBuilder.Core.Editor.ProcessValidation; using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for object properties. Used when everything else does not fit. diff --git a/Source/Core/Editor/UI/Drawers/ParticleSystemPropertySelectableValueDrawer.cs b/Source/Core/Editor/UI/Drawers/ParticleSystemPropertySelectableValueDrawer.cs index 9aac61767..59e5d5177 100644 --- a/Source/Core/Editor/UI/Drawers/ParticleSystemPropertySelectableValueDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ParticleSystemPropertySelectableValueDrawer.cs @@ -1,8 +1,9 @@ using System; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Concrete implementation of for . diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers/PlayAudioBehaviorDrawer.cs b/Source/Core/Editor/UI/Drawers/PlayAudioBehaviorDrawer.cs similarity index 95% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers/PlayAudioBehaviorDrawer.cs rename to Source/Core/Editor/UI/Drawers/PlayAudioBehaviorDrawer.cs index fd372981f..44114c9fc 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers/PlayAudioBehaviorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/PlayAudioBehaviorDrawer.cs @@ -1,15 +1,13 @@ using System; -using VRBuilder.Core.Audio; -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.Drawers; +using System.Linq; +using System.Reflection; +using UnityEditor; using UnityEngine; -using VRBuilder.Editor.UI; +using VRBuilder.Core.Behaviors; using VRBuilder.Core.Configuration; -using UnityEditor; -using System.Reflection; -using System.Linq; +using VRBuilder.Core.Utils.Audio; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Default drawer for . It sets displayed name to "Play Audio File". @@ -59,8 +57,8 @@ public override Rect Draw(Rect rect, object currentValue, Action changeV { audioSource = RuntimeConfigurator.Configuration.InstructionPlayer; } - catch - { + catch + { } EditorGUI.BeginDisabledGroup(audioSource == null); @@ -90,7 +88,7 @@ public override Rect Draw(Rect rect, object currentValue, Action changeV } EditorGUI.EndDisabledGroup(); - if (audioSource == null) + if (audioSource == null) { EditorGUI.HelpBox(nextPosition, "Audio preview not available.", MessageType.Info); } diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers/PlayAudioBehaviorDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/PlayAudioBehaviorDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Audio Data Drawers/PlayAudioBehaviorDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/PlayAudioBehaviorDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/ProcessSceneReferenceDrawer.cs b/Source/Core/Editor/UI/Drawers/ProcessSceneReferenceDrawer.cs index 44f164de9..4481857d9 100644 --- a/Source/Core/Editor/UI/Drawers/ProcessSceneReferenceDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ProcessSceneReferenceDrawer.cs @@ -6,14 +6,14 @@ using UnityEngine; using UnityEngine.UIElements; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI.GraphView.Windows; +using VRBuilder.Core.Editor.UI.Views; +using VRBuilder.Core.Editor.UndoRedo; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI.Views; -using VRBuilder.Editor.UI.Windows; -using VRBuilder.Editor.UndoRedo; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for . diff --git a/Source/Core/Editor/UI/Drawers/ProcessVariableBoolSelectableValueDrawer.cs b/Source/Core/Editor/UI/Drawers/ProcessVariableBoolSelectableValueDrawer.cs index 311607e84..a627af16d 100644 --- a/Source/Core/Editor/UI/Drawers/ProcessVariableBoolSelectableValueDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ProcessVariableBoolSelectableValueDrawer.cs @@ -1,7 +1,8 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Concrete implementation of process variable selectable value drawer. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/ProcessVariableDrawer.cs b/Source/Core/Editor/UI/Drawers/ProcessVariableDrawer.cs similarity index 91% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/ProcessVariableDrawer.cs rename to Source/Core/Editor/UI/Drawers/ProcessVariableDrawer.cs index f22523f65..35f3e8d2c 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/ProcessVariableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ProcessVariableDrawer.cs @@ -4,10 +4,9 @@ using VRBuilder.Core.ProcessUtils; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UI.Drawers; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for @@ -88,7 +87,7 @@ private Guid GetUniqueIdFromSceneObject(GameObject selectedSceneObject) return sceneObject.Guid; } - Debug.LogWarning($"Game Object \"{selectedSceneObject.name}\" does not have a Process Object component."); + UnityEngine.Debug.LogWarning($"Game Object \"{selectedSceneObject.name}\" does not have a Process Object component."); return Guid.Empty; } @@ -99,7 +98,7 @@ private Guid GetUniqueIdFromProcessProperty(GameObject selectedProcessPropertyOb return processProperty.SceneObject.Guid; } - Debug.LogWarning($"Scene Object \"{selectedProcessPropertyObject.name}\" with Object ID \"{oldGuid}\" does not have a {valueType.Name} component."); + UnityEngine.Debug.LogWarning($"Scene Object \"{selectedProcessPropertyObject.name}\" with Object ID \"{oldGuid}\" does not have a {valueType.Name} component."); return Guid.Empty; } @@ -113,4 +112,4 @@ protected Rect AddNewRectLine(ref Rect currentRect) return newRectLine; } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/ProcessVariableDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/ProcessVariableDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/ProcessVariableDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/ProcessVariableDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/ProcessVariableFloatSelectableValueDrawer.cs b/Source/Core/Editor/UI/Drawers/ProcessVariableFloatSelectableValueDrawer.cs index 36bfb93e2..9988dbab1 100644 --- a/Source/Core/Editor/UI/Drawers/ProcessVariableFloatSelectableValueDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ProcessVariableFloatSelectableValueDrawer.cs @@ -1,7 +1,8 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Concrete implementation of process variable selectable value drawer. diff --git a/Source/Core/Editor/UI/Drawers/ProcessVariableStringSelectableValueDrawer.cs b/Source/Core/Editor/UI/Drawers/ProcessVariableStringSelectableValueDrawer.cs index 1fe9895a8..f6b295845 100644 --- a/Source/Core/Editor/UI/Drawers/ProcessVariableStringSelectableValueDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ProcessVariableStringSelectableValueDrawer.cs @@ -1,7 +1,8 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Concrete implementation of process variable selectable value drawer. diff --git a/Source/Core/Editor/UI/Drawers/ResourcePathDrawer.cs b/Source/Core/Editor/UI/Drawers/ResourcePathDrawer.cs index 42ae4f591..3dda10746 100644 --- a/Source/Core/Editor/UI/Drawers/ResourcePathDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/ResourcePathDrawer.cs @@ -2,7 +2,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Draws an object field and sets the Resources path of the dragged object. @@ -26,7 +26,7 @@ public override Rect Draw(Rect rect, object currentValue, Action changeV } else { - Debug.LogError("The object is not in the path of a 'Resources' folder."); + UnityEngine.Debug.LogError("The object is not in the path of a 'Resources' folder."); newPath = ""; } diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers/SceneDropdownDrawer.cs b/Source/Core/Editor/UI/Drawers/SceneDropdownDrawer.cs similarity index 96% rename from Source/Core/Editor/UI/Drawers/DropdownDrawers/SceneDropdownDrawer.cs rename to Source/Core/Editor/UI/Drawers/SceneDropdownDrawer.cs index b11ba0134..bbc12d64f 100644 --- a/Source/Core/Editor/UI/Drawers/DropdownDrawers/SceneDropdownDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/SceneDropdownDrawer.cs @@ -2,7 +2,7 @@ using System.IO; using UnityEditor; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for a dropdown listing all the scenes in the build settings and allowing to select one by index. diff --git a/Source/Core/Editor/UI/Drawers/DropdownDrawers/SceneDropdownDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/SceneDropdownDrawer.cs.meta similarity index 100% rename from Source/Core/Editor/UI/Drawers/DropdownDrawers/SceneDropdownDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/SceneDropdownDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/SceneObjectTagDrawer.cs b/Source/Core/Editor/UI/Drawers/SceneObjectTagDrawer.cs index ec441a02b..eb9ac7c0b 100644 --- a/Source/Core/Editor/UI/Drawers/SceneObjectTagDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/SceneObjectTagDrawer.cs @@ -7,9 +7,9 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for . diff --git a/Source/Core/Editor/UI/Drawers/SelectableValueDrawer.cs b/Source/Core/Editor/UI/Drawers/SelectableValueDrawer.cs index 81603ff77..856ee301e 100644 --- a/Source/Core/Editor/UI/Drawers/SelectableValueDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/SelectableValueDrawer.cs @@ -3,9 +3,9 @@ using System.Reflection; using UnityEngine; using VRBuilder.Core.Configuration; -using VRBuilder.Core.SceneObjects; +using VRBuilder.Core.UI.SelectableValues; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Template drawer for selectable values. A concrete implementation of this drawer is required for each use case. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledBehaviorDrawer.cs b/Source/Core/Editor/UI/Drawers/SetComponentEnabledBehaviorDrawer.cs similarity index 97% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledBehaviorDrawer.cs rename to Source/Core/Editor/UI/Drawers/SetComponentEnabledBehaviorDrawer.cs index 3abd4fc20..6cc90b907 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledBehaviorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/SetComponentEnabledBehaviorDrawer.cs @@ -4,13 +4,11 @@ using UnityEditor; using UnityEngine; using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UndoRedo; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UI.Drawers; -using VRBuilder.Editor.UndoRedo; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [DefaultProcessDrawer(typeof(SetComponentEnabledBehavior.EntityData))] public class SetComponentEnabledBehaviorDrawer : NameableDrawer @@ -143,4 +141,4 @@ private void UpdateRevertOnDeactivate(object value, SetComponentEnabledBehavior. } } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledBehaviorDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/SetComponentEnabledBehaviorDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledBehaviorDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/SetComponentEnabledBehaviorDrawer.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledByTagBehaviorDrawer.cs b/Source/Core/Editor/UI/Drawers/SetComponentEnabledByTagBehaviorDrawer.cs similarity index 97% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledByTagBehaviorDrawer.cs rename to Source/Core/Editor/UI/Drawers/SetComponentEnabledByTagBehaviorDrawer.cs index 35ab5c877..22f748109 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledByTagBehaviorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/SetComponentEnabledByTagBehaviorDrawer.cs @@ -4,13 +4,11 @@ using UnityEditor; using UnityEngine; using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UndoRedo; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; -using VRBuilder.Editor.UI; -using VRBuilder.Editor.UI.Drawers; -using VRBuilder.Editor.UndoRedo; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [Obsolete("This drawer is obsolete and will be removed in the next major version.")] [DefaultProcessDrawer(typeof(SetComponentEnabledByTagBehavior.EntityData))] @@ -143,4 +141,4 @@ private void UpdateRevertOnDeactivate(object value, SetComponentEnabledByTagBeha } } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledByTagBehaviorDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/SetComponentEnabledByTagBehaviorDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Component List Drawer/SetComponentEnabledByTagBehaviorDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/SetComponentEnabledByTagBehaviorDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/StepDrawer.cs b/Source/Core/Editor/UI/Drawers/StepDrawer.cs index 186f47ae9..854632079 100644 --- a/Source/Core/Editor/UI/Drawers/StepDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/StepDrawer.cs @@ -6,10 +6,10 @@ using UnityEditor; using UnityEngine; using VRBuilder.Core; -using VRBuilder.Editor.Configuration; -using VRBuilder.Editor.Tabs; +using VRBuilder.Core.Editor.Configuration; +using VRBuilder.Core.Editor.Tabs; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for a step to skip NameableDrawer. diff --git a/Source/Core/Editor/UI/Drawers/StringDrawer.cs b/Source/Core/Editor/UI/Drawers/StringDrawer.cs index 3c0f97a5e..52d6c8261 100644 --- a/Source/Core/Editor/UI/Drawers/StringDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/StringDrawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for string members. diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/StringProcessVariableDrawer.cs b/Source/Core/Editor/UI/Drawers/StringProcessVariableDrawer.cs similarity index 86% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/StringProcessVariableDrawer.cs rename to Source/Core/Editor/UI/Drawers/StringProcessVariableDrawer.cs index 67407b23f..7abf06d46 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/StringProcessVariableDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/StringProcessVariableDrawer.cs @@ -1,8 +1,7 @@ using UnityEditor; using VRBuilder.Core.ProcessUtils; -using VRBuilder.Editor.UI.Drawers; -namespace VRBuilder.Editor.Core.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of that draws string variables. @@ -16,4 +15,4 @@ protected override string DrawConstField(string value) return EditorGUILayout.TextField("", value); } } -} \ No newline at end of file +} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/StringProcessVariableDrawer.cs.meta b/Source/Core/Editor/UI/Drawers/StringProcessVariableDrawer.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers/Data Property Drawers/StringProcessVariableDrawer.cs.meta rename to Source/Core/Editor/UI/Drawers/StringProcessVariableDrawer.cs.meta diff --git a/Source/Core/Editor/UI/Drawers/StringsSelectableValueDrawer.cs b/Source/Core/Editor/UI/Drawers/StringsSelectableValueDrawer.cs index e7fab6b0e..348696085 100644 --- a/Source/Core/Editor/UI/Drawers/StringsSelectableValueDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/StringsSelectableValueDrawer.cs @@ -1,4 +1,4 @@ -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Selectable value drawer letting the user choose between two string values. diff --git a/Source/Core/Editor/UI/Drawers/SystemColorDrawer.cs b/Source/Core/Editor/UI/Drawers/SystemColorDrawer.cs index 943e43353..3f5472692 100644 --- a/Source/Core/Editor/UI/Drawers/SystemColorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/SystemColorDrawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for `System.Color` members. diff --git a/Source/Core/Editor/UI/Drawers/TabsGroupDrawer.cs b/Source/Core/Editor/UI/Drawers/TabsGroupDrawer.cs index 086393a6e..738b9ddc1 100644 --- a/Source/Core/Editor/UI/Drawers/TabsGroupDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/TabsGroupDrawer.cs @@ -4,11 +4,11 @@ using System; using System.Linq; -using VRBuilder.Editor.Tabs; +using VRBuilder.Core.Editor.Tabs; using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [DefaultProcessDrawer(typeof(ITabsGroup))] internal class TabsGroupDrawer : AbstractDrawer diff --git a/Source/Core/Editor/UI/Drawers/TransitionCollectionDrawer.cs b/Source/Core/Editor/UI/Drawers/TransitionCollectionDrawer.cs index ce2abce3d..a19fba85d 100644 --- a/Source/Core/Editor/UI/Drawers/TransitionCollectionDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/TransitionCollectionDrawer.cs @@ -7,7 +7,7 @@ using VRBuilder.Core; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { [DefaultProcessDrawer(typeof(TransitionCollection))] internal class TransitionCollectionDrawer : DataOwnerDrawer diff --git a/Source/Core/Editor/UI/Drawers/TransitionDrawer.cs b/Source/Core/Editor/UI/Drawers/TransitionDrawer.cs index 6ab25674f..2903fcae3 100644 --- a/Source/Core/Editor/UI/Drawers/TransitionDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/TransitionDrawer.cs @@ -8,7 +8,7 @@ using VRBuilder.Core.Attributes; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for a transition which displays name of the target step as part of its label. diff --git a/Source/Core/Editor/UI/Drawers/TransitionInstantiatiorDrawer.cs b/Source/Core/Editor/UI/Drawers/TransitionInstantiatiorDrawer.cs index 1f5c5284a..a350ae71f 100644 --- a/Source/Core/Editor/UI/Drawers/TransitionInstantiatiorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/TransitionInstantiatiorDrawer.cs @@ -3,12 +3,12 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using System; -using VRBuilder.Core; -using VRBuilder.Core.Behaviors; using UnityEditor; using UnityEngine; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Draws a dropdown button with all in the project, and creates a new instance of choosen behavior on click. diff --git a/Source/Core/Editor/UI/Drawers/UniqueNameReferenceDrawer.cs b/Source/Core/Editor/UI/Drawers/UniqueNameReferenceDrawer.cs index 9f911ea56..e87db7f52 100644 --- a/Source/Core/Editor/UI/Drawers/UniqueNameReferenceDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/UniqueNameReferenceDrawer.cs @@ -11,10 +11,10 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Utils; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; using Object = UnityEngine.Object; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for members. @@ -53,7 +53,7 @@ public override Rect Draw(Rect rect, object currentValue, Action changeV if (selectedSceneObject == null && string.IsNullOrEmpty(oldUniqueName) == false && missingUniqueNames.Contains(oldUniqueName) == false) { missingUniqueNames.Add(oldUniqueName); - Debug.LogError($"The process object with the unique name '{oldUniqueName}' cannot be found!"); + UnityEngine.Debug.LogError($"The process object with the unique name '{oldUniqueName}' cannot be found!"); } CheckForMisconfigurationIssues(selectedSceneObject, valueType, ref rect, ref guiLineRect); @@ -158,7 +158,7 @@ private string GetUniqueNameFromSceneObject(GameObject selectedSceneObject) return sceneObject.UniqueName; } - Debug.LogWarning($"Game Object \"{selectedSceneObject.name}\" does not have a Process Object component."); + UnityEngine.Debug.LogWarning($"Game Object \"{selectedSceneObject.name}\" does not have a Process Object component."); return string.Empty; } @@ -169,7 +169,7 @@ private string GetUniqueNameFromProcessProperty(GameObject selectedProcessProper return processProperty.SceneObject.UniqueName; } - Debug.LogWarning($"Scene Object \"{selectedProcessPropertyObject.name}\" with Unique Name \"{oldUniqueName}\" does not have a {valueType.Name} component."); + UnityEngine.Debug.LogWarning($"Scene Object \"{selectedProcessPropertyObject.name}\" with Unique Name \"{oldUniqueName}\" does not have a {valueType.Name} component."); return string.Empty; } diff --git a/Source/Core/Editor/UI/Drawers/UnityColor32Drawer.cs b/Source/Core/Editor/UI/Drawers/UnityColor32Drawer.cs index 0a74f3435..6b912c547 100644 --- a/Source/Core/Editor/UI/Drawers/UnityColor32Drawer.cs +++ b/Source/Core/Editor/UI/Drawers/UnityColor32Drawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for `UnityEngine.Color32` member. diff --git a/Source/Core/Editor/UI/Drawers/UnityColorDrawer.cs b/Source/Core/Editor/UI/Drawers/UnityColorDrawer.cs index 1373d6108..ad357aaee 100644 --- a/Source/Core/Editor/UI/Drawers/UnityColorDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/UnityColorDrawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for `UnityEngine.Color` diff --git a/Source/Core/Editor/UI/Drawers/UserTagDropdownDrawer.cs b/Source/Core/Editor/UI/Drawers/UserTagDropdownDrawer.cs index f42cf7a9a..fe3b34702 100644 --- a/Source/Core/Editor/UI/Drawers/UserTagDropdownDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/UserTagDropdownDrawer.cs @@ -7,9 +7,9 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Drawer for . diff --git a/Source/Core/Editor/UI/Drawers/Vector2Drawer.cs b/Source/Core/Editor/UI/Drawers/Vector2Drawer.cs index c08f0001c..0a9d08192 100644 --- a/Source/Core/Editor/UI/Drawers/Vector2Drawer.cs +++ b/Source/Core/Editor/UI/Drawers/Vector2Drawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for 'Vector2'. diff --git a/Source/Core/Editor/UI/Drawers/Vector3Drawer.cs b/Source/Core/Editor/UI/Drawers/Vector3Drawer.cs index a286b2df5..dc65b4373 100644 --- a/Source/Core/Editor/UI/Drawers/Vector3Drawer.cs +++ b/Source/Core/Editor/UI/Drawers/Vector3Drawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Default drawer for `Vector3`. diff --git a/Source/Core/Editor/UI/Drawers/Vector4Drawer.cs b/Source/Core/Editor/UI/Drawers/Vector4Drawer.cs index c668cb4ef..bc23df07e 100644 --- a/Source/Core/Editor/UI/Drawers/Vector4Drawer.cs +++ b/Source/Core/Editor/UI/Drawers/Vector4Drawer.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Process drawer for `Vector4`. diff --git a/Source/Core/Editor/UI/Drawers/VideoClipResourceDrawer.cs b/Source/Core/Editor/UI/Drawers/VideoClipResourceDrawer.cs index f35c34a36..49c9a8188 100644 --- a/Source/Core/Editor/UI/Drawers/VideoClipResourceDrawer.cs +++ b/Source/Core/Editor/UI/Drawers/VideoClipResourceDrawer.cs @@ -1,6 +1,6 @@ using UnityEngine.Video; -namespace VRBuilder.Editor.UI.Drawers +namespace VRBuilder.Core.Editor.UI.Drawers { /// /// Implementation of asset path drawer for assets. diff --git a/Source/Core/Editor/UI/EditorColorUtils.cs b/Source/Core/Editor/UI/EditorColorUtils.cs index 469fb419b..8feb096a7 100644 --- a/Source/Core/Editor/UI/EditorColorUtils.cs +++ b/Source/Core/Editor/UI/EditorColorUtils.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { [InitializeOnLoad] internal static class EditorColorUtils diff --git a/Source/Core/Editor/UI/EditorDrawingHelper.cs b/Source/Core/Editor/UI/EditorDrawingHelper.cs index 908e56858..410c95036 100644 --- a/Source/Core/Editor/UI/EditorDrawingHelper.cs +++ b/Source/Core/Editor/UI/EditorDrawingHelper.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { /// /// Helper class for drawing primitives in custom editors. diff --git a/Source/Core/Editor/UI/EditorGraphics.cs b/Source/Core/Editor/UI/EditorGraphics.cs deleted file mode 100644 index f9fd8ed00..000000000 --- a/Source/Core/Editor/UI/EditorGraphics.cs +++ /dev/null @@ -1,496 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Collections.Generic; -using System.Linq; -using VRBuilder.Core.Utils; -using VRBuilder.Editor.UI.Graphics; -using UnityEngine; -using UnityEngine.UIElements; -using Edge = UnityEngine.RectTransform.Edge; - -namespace VRBuilder.Editor.UI -{ - /// - /// UI events handler and graphical elements drawer. - /// - internal class EditorGraphics - { - #region constants - private const float contentBorderThickness = 200f; - #endregion - - private readonly IList rootElements = new List(); - - private GraphicalEventHandler initiallyPressedHandler; - private GraphicalEventHandler initiallyContextPressedHandler; - private GraphicalEventHandler initiallyHoveredHandler; - - /// - /// Cached result of the last invocation of method. - /// - public Rect BoundingBox { get; private set; } - - /// - /// Defines colors used in the Process Editor. - /// - public WorkflowEditorColorPalette ColorPalette { get; set; } - - /// - /// The last element user clicked at. If user clicked at empty place, Selected is null. - /// - public GraphicalEventHandler Selected { get; private set; } - - public GraphicalEventHandler Canvas { get; private set; } - - private List additionalDrawer = new List(); - - public EditorGraphics(WorkflowEditorColorPalette workflowEditorColorPalette) - { - // Guarantees that at least default palette is assigned. - if (workflowEditorColorPalette == null) - { - ColorPalette = WorkflowEditorColorPalette.GetDefaultPalette(); - } - else - { - ColorPalette = workflowEditorColorPalette; - } - - Canvas = new GraphicalEventHandler(); - - additionalDrawer.Clear(); - ReflectionUtils.GetConcreteImplementationsOf().ToList().ForEach(type => - { - additionalDrawer.Add((IEditorGraphicDrawer)ReflectionUtils.CreateInstanceOfType(type)); - }); - additionalDrawer.Sort((drawer1, drawer2) => drawer1.Priority.CompareTo(drawer2.Priority)); - - Reset(); - } - - /// - /// Registers graphical element to enable UI events and drawing for it. - /// - public void Register(GraphicalElement element) - { - if (element.Parent == null) - { - rootElements.Add(element); - } - - element.HandleRegistration(); - - foreach (GraphicalElement child in element.Children) - { - Register(child); - } - } - - /// - /// Deregisters graphical element. - /// - public void Deregister(GraphicalElement element) - { - rootElements.Remove(element); - - element.HandleDeregistration(); - - foreach (GraphicalElement child in element.Children.ToList()) - { - Deregister(child); - } - } - - /// - /// Resets this instance to it's initial state. - /// - public void Reset() - { - foreach (GraphicalElement element in rootElements.ToList()) - { - Deregister(element); - - if (element.IsReceivingEvents) - { - element.GraphicalEventHandler.Reset(); - } - } - - initiallyPressedHandler = null; - initiallyContextPressedHandler = null; - - Canvas.Reset(); - - Selected = null; - } - - private IEnumerable GetOrderedElements() - { - IList> ordered = new List>(); - - foreach (GraphicalElement element in rootElements) - { - CollectElementsRecursively(element, ref ordered); - } - - return ordered.SelectMany(layer => layer); - } - - private void Draw(Rect windowRect) - { - foreach (GraphicalElement element in GetOrderedElements()) - { - if (element.CanBeDrawn && element.IsVisibleInRect(windowRect)) - { - element.Renderer.Draw(); - } - } - - additionalDrawer.ForEach(drawer => drawer.Draw(windowRect)); - } - - private void InsertElement(GraphicalElement element, ref IList> collection) - { - for (int i = 0; i < collection.Count; i++) - { - if (collection[i][0].Layer < element.Layer) - { - collection.Insert(i, new List { element }); - return; - } - - if (collection[i][0].Layer == element.Layer) - { - collection[i].Add(element); - return; - } - } - - collection.Add(new List { element }); - } - - private void CollectElementsRecursively(GraphicalElement element, ref IList> collection) - { - InsertElement(element, ref collection); - - foreach (GraphicalElement child in element.Children) - { - CollectElementsRecursively(child, ref collection); - } - } - - private bool ResolveContextPointerUpAndClick(Event currentEvent, GraphicalEventHandler handler) - { - bool used = false; - if (currentEvent.type == EventType.MouseUp && currentEvent.button == 1 && handler != null && handler == initiallyContextPressedHandler || (currentEvent.type == EventType.MouseLeaveWindow)) - { - if (initiallyContextPressedHandler != null) - { - if (handler == initiallyContextPressedHandler) - { - initiallyContextPressedHandler.InvokeContextPointerClick(currentEvent.mousePosition); - } - - initiallyContextPressedHandler.InvokeContextPointerUp(currentEvent.mousePosition); - - StartHovering(currentEvent, handler); - used = true; - } - - initiallyContextPressedHandler = null; - } - - return used; - } - - private bool ResolvePointerUpAndClick(Event currentEvent, GraphicalEventHandler handler) - { - bool used = false; - - // Left mouse button was released. If mouse had left the screen, we treat it as if left mouse button was released. - if ((currentEvent.type == EventType.MouseUp && currentEvent.button == 0) || (currentEvent.type == EventType.MouseLeaveWindow)) - { - if (initiallyPressedHandler != null) - { - // Also, it is a click if we clicked and released LMB over the same element. - if (handler == initiallyPressedHandler) - { - initiallyPressedHandler.InvokePointerClick(currentEvent.mousePosition); - } - - // Initially pressed element recieves the event in any case, - initiallyPressedHandler.InvokePointerUp(currentEvent.mousePosition); - - StartHovering(currentEvent, handler); - - used = true; - } - - Selected = null; - initiallyPressedHandler = null; - } - - return used; - } - - private bool ResolvePointerHover(Event currentEvent, GraphicalEventHandler handler) - { - if (initiallyHoveredHandler != null && initiallyHoveredHandler != handler) - { - StopHovering(currentEvent); - initiallyHoveredHandler = null; - return false; - } - - if (initiallyHoveredHandler != handler && handler != null) - { - StartHovering(currentEvent, handler); - return true; - } - - return false; - } - - private bool ResolvePointerDrag(Event currentEvent) - { - bool used = false; - - // If we are holding left mouse button and moving it, initially pressed elements receives drag event. - if (initiallyPressedHandler != null) - { - initiallyPressedHandler.InvokePointerDrag(currentEvent.mousePosition, currentEvent.delta); - used = true; - } - - return used; - } - - private bool ResolvePointerDown(Event currentEvent, GraphicalEventHandler handler) - { - bool used = false; - - // Left mouse button was pressed down. - if (currentEvent.type == EventType.MouseDown && currentEvent.button == 0) - { - initiallyPressedHandler = handler; - - if (handler != null) - { - Selected = handler; - handler.InvokePointerDown(currentEvent.mousePosition); - - StopHovering(currentEvent); - - used = true; - } - } - - return used; - } - - private bool ResolveContextPointerDown(Event currentEvent, GraphicalEventHandler handler) - { - bool used = false; - - // Left mouse button was pressed down. - if (currentEvent.type == EventType.MouseDown && currentEvent.button == 1) - { - initiallyContextPressedHandler = handler; - - if (handler != null) - { - handler.InvokeContextPointerDown(currentEvent.mousePosition); - - StopHovering(currentEvent); - - used = true; - } - } - - return used; - } - - private void StartHovering(Event currentEvent, GraphicalEventHandler handler) - { - if (initiallyHoveredHandler != null) - { - StopHovering(currentEvent); - } - - initiallyHoveredHandler = handler; - handler.InvokePointerHoverStart(currentEvent.mousePosition); - } - - private void StopHovering(Event currentEvent) - { - if (initiallyHoveredHandler == null) - { - return; - } - - initiallyHoveredHandler.InvokePointerHoverStop(currentEvent.mousePosition); - } - - /// - /// Process current event. - /// - /// Event that is currently being processed. - /// Current window rect. Elements outside the window rect are ignored. - public void HandleEvent(Event currentEvent, Rect windowRect) - { - if (currentEvent.type == EventType.Layout) - { - Layout(); - return; - } - - if (currentEvent.isMouse) - { - if (windowRect.Contains(currentEvent.mousePosition) == false) - { - if (initiallyPressedHandler != null) - { - // Initially pressed element recieves the event in any case, - initiallyPressedHandler.InvokePointerUp(currentEvent.mousePosition); - } - - Selected = null; - initiallyPressedHandler = null; - return; - } - - GraphicalElement element = GetGraphicalElementWithHandlerAtPoint(currentEvent.mousePosition).FirstOrDefault(); - - GraphicalEventHandler handler = Canvas; - - if (element != null) - { - handler = element.GraphicalEventHandler; - } - - if (currentEvent.type == EventType.MouseDrag) - { - if (ResolvePointerDrag(currentEvent)) - { - Event.current.Use(); - } - } - else if (ResolvePointerHover(currentEvent, handler) - // | is on purpose. - | ResolveContextPointerUpAndClick(currentEvent, handler) - | ResolvePointerUpAndClick(currentEvent, handler) - | ResolveContextPointerDown(currentEvent, handler) - | ResolvePointerDown(currentEvent, handler)) - { - Event.current.Use(); - } - } - - if (currentEvent.type == EventType.Repaint) - { - Draw(windowRect); - } - } - - public IEnumerable GetGraphicalElementWithHandlerAtPoint(Vector2 position) - { - IEnumerator enumerator = GetOrderedElements() - .Where(e => e.IsReceivingEvents) - .Where(e => e.IsPointInsideGeometry(position)) - .Reverse() - .GetEnumerator(); - - while (enumerator.MoveNext()) - { - yield return enumerator.Current; - } - - enumerator.Dispose(); - } - - private void Layout() - { - foreach (GraphicalElement element in rootElements) - { - LayoutRecursive(element); - } - } - - private void LayoutRecursive(GraphicalElement element) - { - element.Layout(); - - foreach (GraphicalElement child in element.Children) - { - LayoutRecursive(child); - } - } - - /// - /// Calculates smallest possible `Rect` which contains all graphical elements' bounding boxes and stores the result in property. - /// - /// - public void CalculateBoundingBox() - { - Dictionary mostOutlyingRects = Enum.GetValues(typeof(Edge)) - .Cast() - .ToDictionary(edge => edge, edge => GetOrderedElements().Aggregate((first, second) => CompareElementsByOutlyingness(first, second, edge)).BoundingBox); - - float x = -contentBorderThickness + mostOutlyingRects[Edge.Left].xMin; - float y = -contentBorderThickness + mostOutlyingRects[Edge.Top].yMin; - float width = contentBorderThickness * 2f + (mostOutlyingRects[Edge.Right].xMax - mostOutlyingRects[Edge.Left].xMin); - float height = contentBorderThickness * 2f + (mostOutlyingRects[Edge.Bottom].yMax - mostOutlyingRects[Edge.Top].yMin); - BoundingBox = new Rect(x, y, width, height); - } - - private static GraphicalElement CompareElementsByOutlyingness(GraphicalElement firstElement, GraphicalElement secondElement, Edge edge) - { - Rect first = firstElement.BoundingBox; - - Rect second = secondElement.BoundingBox; - switch (edge) - { - case Edge.Left: - if (first.xMin <= second.xMin) - { - return firstElement; - } - - break; - case Edge.Right: - if (first.xMax >= second.xMax) - { - return firstElement; - } - - break; - case Edge.Top: - if (first.yMin <= second.yMin) - { - return firstElement; - } - - break; - case Edge.Bottom: - if (first.yMax >= second.yMax) - { - return firstElement; - } - - break; - } - - return secondElement; - } - - public void BringToTop(GraphicalElement rootElement) - { - int elementIndex = rootElements.IndexOf(rootElement); - rootElements.Insert(rootElements.Count, rootElement); - rootElements.RemoveAt(elementIndex); - } - } -} diff --git a/Source/Core/Editor/UI/EditorGraphics.cs.meta b/Source/Core/Editor/UI/EditorGraphics.cs.meta deleted file mode 100644 index bdeb28ad6..000000000 --- a/Source/Core/Editor/UI/EditorGraphics.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 0f90b91d94c74b0491f30fe35701604a -timeCreated: 1539872093 \ No newline at end of file diff --git a/Source/Core/Editor/UI/EditorIcon.cs b/Source/Core/Editor/UI/EditorIcon.cs index 411e60676..85f75f742 100644 --- a/Source/Core/Editor/UI/EditorIcon.cs +++ b/Source/Core/Editor/UI/EditorIcon.cs @@ -6,7 +6,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { /// /// Utility class to help with different unity color schemes (dark/light). Takes care about loading the given icon, @@ -56,7 +56,7 @@ private void Initialize() if (iconLight == null && iconDark == null) { string msg = string.Format("Texture with path: '{0}' couldn't be loaded. No {1} nor {2} version found!", path, LightTextureFileEnding, DarkTextureFileEnding); - Debug.LogError(msg); + UnityEngine.Debug.LogError(msg); throw new NullReferenceException(msg); } @@ -64,7 +64,7 @@ private void Initialize() { if (EditorGUIUtility.isProSkin) { - Debug.LogWarningFormat("No texture found for path: {0}", path + LightTextureFileEnding); + UnityEngine.Debug.LogWarningFormat("No texture found for path: {0}", path + LightTextureFileEnding); } iconLight = iconDark; } @@ -72,7 +72,7 @@ private void Initialize() { if (!EditorGUIUtility.isProSkin) { - Debug.LogWarningFormat("No texture found for path: {0}", path + DarkTextureFileEnding); + UnityEngine.Debug.LogWarningFormat("No texture found for path: {0}", path + DarkTextureFileEnding); } iconDark = iconLight; } diff --git a/Source/Core/Editor/UI/GraphView/IContextMenuActions.cs b/Source/Core/Editor/UI/GraphView/IContextMenuActions.cs index 57f5f0d67..175aedee1 100644 --- a/Source/Core/Editor/UI/GraphView/IContextMenuActions.cs +++ b/Source/Core/Editor/UI/GraphView/IContextMenuActions.cs @@ -1,6 +1,6 @@ using UnityEngine.UIElements; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView { /// /// Interface for a process graph object having custom context menu actions. diff --git a/Source/Core/Editor/UI/GraphView/IStepView.cs b/Source/Core/Editor/UI/GraphView/IStepView.cs index 1c148fc4f..8c2f7dd3b 100644 --- a/Source/Core/Editor/UI/GraphView/IStepView.cs +++ b/Source/Core/Editor/UI/GraphView/IStepView.cs @@ -1,6 +1,4 @@ -using VRBuilder.Core; - -namespace VRBuilder.Editor.UI.Windows +namespace VRBuilder.Core.Editor.UI.GraphView { /// /// Interface for GUI step view. diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators.meta b/Source/Core/Editor/UI/GraphView/Instantiators.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators.meta rename to Source/Core/Editor/UI/GraphView/Instantiators.meta diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/DefaultStepNodeInstantiator.cs b/Source/Core/Editor/UI/GraphView/Instantiators/DefaultStepNodeInstantiator.cs similarity index 88% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/DefaultStepNodeInstantiator.cs rename to Source/Core/Editor/UI/GraphView/Instantiators/DefaultStepNodeInstantiator.cs index e6d9a7370..f734db18c 100644 --- a/Source/Core/Editor/UI/GraphView/NodeInstantiators/DefaultStepNodeInstantiator.cs +++ b/Source/Core/Editor/UI/GraphView/Instantiators/DefaultStepNodeInstantiator.cs @@ -1,7 +1,7 @@ using UnityEngine.UIElements; -using VRBuilder.Core; +using VRBuilder.Core.Editor.UI.GraphView.Nodes; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Instantiators { /// /// Instantiator for a default node. diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/DefaultStepNodeInstantiator.cs.meta b/Source/Core/Editor/UI/GraphView/Instantiators/DefaultStepNodeInstantiator.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/DefaultStepNodeInstantiator.cs.meta rename to Source/Core/Editor/UI/GraphView/Instantiators/DefaultStepNodeInstantiator.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/EndChapterNodeInstantiator.cs b/Source/Core/Editor/UI/GraphView/Instantiators/EndChapterNodeInstantiator.cs similarity index 88% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/EndChapterNodeInstantiator.cs rename to Source/Core/Editor/UI/GraphView/Instantiators/EndChapterNodeInstantiator.cs index af3b95ff8..52e8136cf 100644 --- a/Source/Core/Editor/UI/GraphView/NodeInstantiators/EndChapterNodeInstantiator.cs +++ b/Source/Core/Editor/UI/GraphView/Instantiators/EndChapterNodeInstantiator.cs @@ -1,7 +1,7 @@ using UnityEngine.UIElements; -using VRBuilder.Core; +using VRBuilder.Core.Editor.UI.GraphView.Nodes; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Instantiators { /// /// Instantiator for the End Chapter node. diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/EndChapterNodeInstantiator.cs.meta b/Source/Core/Editor/UI/GraphView/Instantiators/EndChapterNodeInstantiator.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/EndChapterNodeInstantiator.cs.meta rename to Source/Core/Editor/UI/GraphView/Instantiators/EndChapterNodeInstantiator.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/IStepNodeInstantiator.cs b/Source/Core/Editor/UI/GraphView/Instantiators/IStepNodeInstantiator.cs similarity index 90% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/IStepNodeInstantiator.cs rename to Source/Core/Editor/UI/GraphView/Instantiators/IStepNodeInstantiator.cs index 701812ff8..1262fb46e 100644 --- a/Source/Core/Editor/UI/GraphView/NodeInstantiators/IStepNodeInstantiator.cs +++ b/Source/Core/Editor/UI/GraphView/Instantiators/IStepNodeInstantiator.cs @@ -1,7 +1,7 @@ using UnityEngine.UIElements; -using VRBuilder.Core; +using VRBuilder.Core.Editor.UI.GraphView.Nodes; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Instantiators { /// /// Instantiates a node matching the diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/IStepNodeInstantiator.cs.meta b/Source/Core/Editor/UI/GraphView/Instantiators/IStepNodeInstantiator.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/IStepNodeInstantiator.cs.meta rename to Source/Core/Editor/UI/GraphView/Instantiators/IStepNodeInstantiator.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/ParallelExecutionNodeInstantiator.cs b/Source/Core/Editor/UI/GraphView/Instantiators/ParallelExecutionNodeInstantiator.cs similarity index 88% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/ParallelExecutionNodeInstantiator.cs rename to Source/Core/Editor/UI/GraphView/Instantiators/ParallelExecutionNodeInstantiator.cs index 8949359db..941dd67fe 100644 --- a/Source/Core/Editor/UI/GraphView/NodeInstantiators/ParallelExecutionNodeInstantiator.cs +++ b/Source/Core/Editor/UI/GraphView/Instantiators/ParallelExecutionNodeInstantiator.cs @@ -1,7 +1,7 @@ using UnityEngine.UIElements; -using VRBuilder.Core; +using VRBuilder.Core.Editor.UI.GraphView.Nodes; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Instantiators { /// /// Instantiator for the Step Group node. diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/ParallelExecutionNodeInstantiator.cs.meta b/Source/Core/Editor/UI/GraphView/Instantiators/ParallelExecutionNodeInstantiator.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/ParallelExecutionNodeInstantiator.cs.meta rename to Source/Core/Editor/UI/GraphView/Instantiators/ParallelExecutionNodeInstantiator.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/StepGroupNodeInstantiator.cs b/Source/Core/Editor/UI/GraphView/Instantiators/StepGroupNodeInstantiator.cs similarity index 88% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/StepGroupNodeInstantiator.cs rename to Source/Core/Editor/UI/GraphView/Instantiators/StepGroupNodeInstantiator.cs index 1272dedc8..9e3bcf63a 100644 --- a/Source/Core/Editor/UI/GraphView/NodeInstantiators/StepGroupNodeInstantiator.cs +++ b/Source/Core/Editor/UI/GraphView/Instantiators/StepGroupNodeInstantiator.cs @@ -1,7 +1,7 @@ using UnityEngine.UIElements; -using VRBuilder.Core; +using VRBuilder.Core.Editor.UI.GraphView.Nodes; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Instantiators { /// /// Instantiator for the Step Group node. diff --git a/Source/Core/Editor/UI/GraphView/NodeInstantiators/StepGroupNodeInstantiator.cs.meta b/Source/Core/Editor/UI/GraphView/Instantiators/StepGroupNodeInstantiator.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/NodeInstantiators/StepGroupNodeInstantiator.cs.meta rename to Source/Core/Editor/UI/GraphView/Instantiators/StepGroupNodeInstantiator.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers.meta b/Source/Core/Editor/UI/GraphView/Nodes.meta similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers.meta rename to Source/Core/Editor/UI/GraphView/Nodes.meta index 784235c1d..3a7599956 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/Drawers.meta +++ b/Source/Core/Editor/UI/GraphView/Nodes.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0331d5149944f2344b7a9967f55cb64b +guid: dc4c89a640d852047bd9069569ae0d5b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/Core/Editor/UI/GraphView/EndChapterNode.cs b/Source/Core/Editor/UI/GraphView/Nodes/EndChapterNode.cs similarity index 90% rename from Source/Core/Editor/UI/GraphView/EndChapterNode.cs rename to Source/Core/Editor/UI/GraphView/Nodes/EndChapterNode.cs index a67625e21..afe058530 100644 --- a/Source/Core/Editor/UI/GraphView/EndChapterNode.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/EndChapterNode.cs @@ -2,14 +2,12 @@ using System.Collections.Generic; using System.Linq; using UnityEditor.Experimental.GraphView; -using UnityEditor.UIElements; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Node representation for the End Chapter node. @@ -25,7 +23,7 @@ protected GoToChapterBehavior Behavior { get { - if(behavior == null) + if (behavior == null) { behavior = (GoToChapterBehavior)step.Data.Behaviors.Data.Behaviors.FirstOrDefault(behavior => behavior is GoToChapterBehavior); } @@ -62,7 +60,7 @@ private void DrawChapterSelectionField() { Label label = new Label("Next chapter:"); label.style.paddingTop = DefaultPadding; - label.style.paddingLeft = DefaultPadding; + label.style.paddingLeft = DefaultPadding; extensionContainer.Add(label); List chapters = GlobalEditorHandler.GetCurrentProcess().Data.Chapters.ToList(); @@ -72,17 +70,17 @@ private void DrawChapterSelectionField() Guid selectedGuid = popupList.FirstOrDefault(guid => guid == Behavior.Data.ChapterGuid); int selectedIndex = 0; - if(selectedGuid != null && popupList.Contains(selectedGuid)) + if (selectedGuid != null && popupList.Contains(selectedGuid)) { selectedIndex = popupList.IndexOf(selectedGuid); } - PopupField chapterSelector = new PopupField("", popupList, selectedIndex, (guid) => FormatSelectedValue(guid, chapters), (guid) => FormatSelectedValue(guid, chapters)); + PopupField chapterSelector = new PopupField("", popupList, selectedIndex, (guid) => FormatSelectedValue(guid, chapters), (guid) => FormatSelectedValue(guid, chapters)); chapterSelector.RegisterValueChangedCallback((value) => OnChapterSelected(value)); chapterSelector.style.minWidth = ElementWidth; chapterSelector.style.maxWidth = ElementWidth; chapterSelector.style.paddingBottom = DefaultPadding; - chapterSelector.style.paddingLeft = DropDownPadding; + chapterSelector.style.paddingLeft = DropDownPadding; extensionContainer.Add(chapterSelector); @@ -91,7 +89,7 @@ private void DrawChapterSelectionField() private string FormatSelectedValue(Guid guid, IEnumerable chapters) { - if(guid == Guid.Empty) + if (guid == Guid.Empty) { return ""; } @@ -115,7 +113,7 @@ private void OnChapterSelected(ChangeEvent value) Behavior.Data.ChapterGuid = oldValue; chapterSelector.SetValueWithoutNotify(oldValue); } - )); + )); } } } diff --git a/Source/Core/Editor/UI/GraphView/EndChapterNode.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/EndChapterNode.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/EndChapterNode.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/EndChapterNode.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/EndChapterPostProcessing.cs b/Source/Core/Editor/UI/GraphView/Nodes/EndChapterPostProcessing.cs similarity index 87% rename from Source/Core/Editor/UI/GraphView/EndChapterPostProcessing.cs rename to Source/Core/Editor/UI/GraphView/Nodes/EndChapterPostProcessing.cs index 7315f678e..9ccc716bf 100644 --- a/Source/Core/Editor/UI/GraphView/EndChapterPostProcessing.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/EndChapterPostProcessing.cs @@ -1,6 +1,7 @@ using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Core +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// implementation of specific for "endChapter" steps. diff --git a/Source/Core/Editor/UI/GraphView/EndChapterPostProcessing.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/EndChapterPostProcessing.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/EndChapterPostProcessing.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/EndChapterPostProcessing.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/EntryPointNode.cs b/Source/Core/Editor/UI/GraphView/Nodes/EntryPointNode.cs similarity index 97% rename from Source/Core/Editor/UI/GraphView/EntryPointNode.cs rename to Source/Core/Editor/UI/GraphView/Nodes/EntryPointNode.cs index 0e1e8339e..e57057833 100644 --- a/Source/Core/Editor/UI/GraphView/EntryPointNode.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/EntryPointNode.cs @@ -1,8 +1,7 @@ using UnityEditor.Experimental.GraphView; using UnityEngine; -using VRBuilder.Core; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Entry point node in a graph view editor. diff --git a/Source/Core/Editor/UI/GraphView/EntryPointNode.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/EntryPointNode.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/EntryPointNode.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/EntryPointNode.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/ParallelExecutionNode.cs b/Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionNode.cs similarity index 98% rename from Source/Core/Editor/UI/GraphView/ParallelExecutionNode.cs rename to Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionNode.cs index 7059667ca..a13d9f762 100644 --- a/Source/Core/Editor/UI/GraphView/ParallelExecutionNode.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionNode.cs @@ -2,11 +2,11 @@ using System.Linq; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Graphical representation of a Parallel Execution node. diff --git a/Source/Core/Editor/UI/GraphView/ParallelExecutionNode.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionNode.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/ParallelExecutionNode.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionNode.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/ParallelExecutionPostProcessing.cs b/Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionPostProcessing.cs similarity index 89% rename from Source/Core/Editor/UI/GraphView/ParallelExecutionPostProcessing.cs rename to Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionPostProcessing.cs index 9fcba9697..5b16b7aa8 100644 --- a/Source/Core/Editor/UI/GraphView/ParallelExecutionPostProcessing.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionPostProcessing.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.Graphics; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Core +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Postprocessing for a parallel execution node. diff --git a/Source/Core/Editor/UI/GraphView/ParallelExecutionPostProcessing.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionPostProcessing.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/ParallelExecutionPostProcessing.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/ParallelExecutionPostProcessing.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs b/Source/Core/Editor/UI/GraphView/Nodes/ProcessGraphNode.cs similarity index 99% rename from Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs rename to Source/Core/Editor/UI/GraphView/Nodes/ProcessGraphNode.cs index 13bd9205d..5c5e0cabb 100644 --- a/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/ProcessGraphNode.cs @@ -3,9 +3,8 @@ using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Process node in a graph view editor. diff --git a/Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/ProcessGraphNode.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/ProcessGraphNode.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/ProcessGraphNode.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/StepGraphNode.cs b/Source/Core/Editor/UI/GraphView/Nodes/StepGraphNode.cs similarity index 97% rename from Source/Core/Editor/UI/GraphView/StepGraphNode.cs rename to Source/Core/Editor/UI/GraphView/Nodes/StepGraphNode.cs index 3b21c566e..1fa898c99 100644 --- a/Source/Core/Editor/UI/GraphView/StepGraphNode.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/StepGraphNode.cs @@ -2,10 +2,10 @@ using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Step node in a graph view editor. diff --git a/Source/Core/Editor/UI/GraphView/StepGraphNode.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/StepGraphNode.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/StepGraphNode.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/StepGraphNode.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/StepGroupNode.cs b/Source/Core/Editor/UI/GraphView/Nodes/StepGroupNode.cs similarity index 98% rename from Source/Core/Editor/UI/GraphView/StepGroupNode.cs rename to Source/Core/Editor/UI/GraphView/Nodes/StepGroupNode.cs index fd6189391..0630a0914 100644 --- a/Source/Core/Editor/UI/GraphView/StepGroupNode.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/StepGroupNode.cs @@ -2,11 +2,10 @@ using System.Linq; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.UndoRedo; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Graphical representation of a Step Group node. diff --git a/Source/Core/Editor/UI/GraphView/StepGroupNode.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/StepGroupNode.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/StepGroupNode.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/StepGroupNode.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/StepGroupPostProcessing.cs b/Source/Core/Editor/UI/GraphView/Nodes/StepGroupPostProcessing.cs similarity index 87% rename from Source/Core/Editor/UI/GraphView/StepGroupPostProcessing.cs rename to Source/Core/Editor/UI/GraphView/Nodes/StepGroupPostProcessing.cs index 6775749ca..11c243530 100644 --- a/Source/Core/Editor/UI/GraphView/StepGroupPostProcessing.cs +++ b/Source/Core/Editor/UI/GraphView/Nodes/StepGroupPostProcessing.cs @@ -1,6 +1,7 @@ using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Entities.Factories; -namespace VRBuilder.Core +namespace VRBuilder.Core.Editor.UI.GraphView.Nodes { /// /// Postprocessing for a step group node. diff --git a/Source/Core/Editor/UI/GraphView/StepGroupPostProcessing.cs.meta b/Source/Core/Editor/UI/GraphView/Nodes/StepGroupPostProcessing.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/StepGroupPostProcessing.cs.meta rename to Source/Core/Editor/UI/GraphView/Nodes/StepGroupPostProcessing.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/ProcessExec.cs b/Source/Core/Editor/UI/GraphView/ProcessExec.cs index f0b997c0d..7fa20db6e 100644 --- a/Source/Core/Editor/UI/GraphView/ProcessExec.cs +++ b/Source/Core/Editor/UI/GraphView/ProcessExec.cs @@ -1,4 +1,4 @@ -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView { /// /// Type that connects step nodes in the graph view editor. diff --git a/Source/Core/Editor/UI/GraphView/ProcessGraphView.cs b/Source/Core/Editor/UI/GraphView/ProcessGraphView.cs index d1d19d161..06fe5c6d8 100644 --- a/Source/Core/Editor/UI/GraphView/ProcessGraphView.cs +++ b/Source/Core/Editor/UI/GraphView/ProcessGraphView.cs @@ -1,26 +1,27 @@ +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; -using Newtonsoft.Json; using UnityEditor; using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.Configuration; +using VRBuilder.Core.Editor.UI.GraphView.Instantiators; +using VRBuilder.Core.Editor.UI.GraphView.Nodes; +using VRBuilder.Core.Editor.UndoRedo; +using VRBuilder.Core.Entities.Factories; using VRBuilder.Core.Serialization; -using VRBuilder.Editor.Configuration; -using VRBuilder.Editor.UndoRedo; - using static UnityEditor.TypeCache; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView { /// /// Graphical representation of a process chapter. /// - public class ProcessGraphView : GraphView + public class ProcessGraphView : UnityEditor.Experimental.GraphView.GraphView { private Vector2 defaultViewTransform = new Vector2(400, 100); private IChapter currentChapter; @@ -567,7 +568,7 @@ private void CreateEdgeWithUndo(Edge edge) if (targetNode == null) { - Debug.LogError("Connected non-step node"); + UnityEngine.Debug.LogError("Connected non-step node"); return; } @@ -575,7 +576,7 @@ private void CreateEdgeWithUndo(Edge edge) if (startNode == null) { - Debug.LogError("Connected non-step node"); + UnityEngine.Debug.LogError("Connected non-step node"); return; } @@ -718,7 +719,7 @@ private ProcessGraphNode CreateStepNode(IStep step) if (instantiator == null) { - Debug.LogError($"Impossible to find correct visualization for type '{step.StepMetadata.StepType}' used in step '{step.Data.Name}'. Things might not look as expected."); + UnityEngine.Debug.LogError($"Impossible to find correct visualization for type '{step.StepMetadata.StepType}' used in step '{step.Data.Name}'. Things might not look as expected."); instantiator = instantiators.First(i => i.StepType == "default"); } diff --git a/Source/Core/Editor/UI/GraphView/Windows.meta b/Source/Core/Editor/UI/GraphView/Windows.meta new file mode 100644 index 000000000..f7b8c1fa7 --- /dev/null +++ b/Source/Core/Editor/UI/GraphView/Windows.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2be92e5d8f12bf540b93363320bb8387 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Source/Core/Editor/UI/GraphView/ProcessEditorWindow.cs b/Source/Core/Editor/UI/GraphView/Windows/ProcessEditorWindow.cs similarity index 93% rename from Source/Core/Editor/UI/GraphView/ProcessEditorWindow.cs rename to Source/Core/Editor/UI/GraphView/Windows/ProcessEditorWindow.cs index 34b98dddc..16a202fc4 100644 --- a/Source/Core/Editor/UI/GraphView/ProcessEditorWindow.cs +++ b/Source/Core/Editor/UI/GraphView/Windows/ProcessEditorWindow.cs @@ -1,7 +1,6 @@ using UnityEditor; -using VRBuilder.Core; -namespace VRBuilder.Editor.UI.Windows +namespace VRBuilder.Core.Editor.UI.GraphView.Windows { /// /// Base class for a process GUI editor window. diff --git a/Source/Core/Editor/UI/GraphView/ProcessEditorWindow.cs.meta b/Source/Core/Editor/UI/GraphView/Windows/ProcessEditorWindow.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/ProcessEditorWindow.cs.meta rename to Source/Core/Editor/UI/GraphView/Windows/ProcessEditorWindow.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/ProcessGraphViewWindow.cs b/Source/Core/Editor/UI/GraphView/Windows/ProcessGraphViewWindow.cs similarity index 98% rename from Source/Core/Editor/UI/GraphView/ProcessGraphViewWindow.cs rename to Source/Core/Editor/UI/GraphView/Windows/ProcessGraphViewWindow.cs index 225eaf1f4..0375609a3 100644 --- a/Source/Core/Editor/UI/GraphView/ProcessGraphViewWindow.cs +++ b/Source/Core/Editor/UI/GraphView/Windows/ProcessGraphViewWindow.cs @@ -4,11 +4,11 @@ using UnityEditor; using UnityEngine; using UnityEngine.UIElements; -using VRBuilder.Core; -using VRBuilder.Editor.UI.Windows; -using VRBuilder.Editor.UndoRedo; +using VRBuilder.Core.Editor.ProcessAssets; +using VRBuilder.Core.Editor.UI.Windows; +using VRBuilder.Core.Editor.UndoRedo; -namespace VRBuilder.Editor.UI.Graphics +namespace VRBuilder.Core.Editor.UI.GraphView.Windows { /// /// Editor windows that displays the process using a graphview. diff --git a/Source/Core/Editor/UI/GraphView/ProcessGraphViewWindow.cs.meta b/Source/Core/Editor/UI/GraphView/Windows/ProcessGraphViewWindow.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/ProcessGraphViewWindow.cs.meta rename to Source/Core/Editor/UI/GraphView/Windows/ProcessGraphViewWindow.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/SceneReferencesEditorPopup.cs b/Source/Core/Editor/UI/GraphView/Windows/SceneReferencesEditorPopup.cs similarity index 98% rename from Source/Core/Editor/UI/GraphView/SceneReferencesEditorPopup.cs rename to Source/Core/Editor/UI/GraphView/Windows/SceneReferencesEditorPopup.cs index c6216dc97..f5f201283 100644 --- a/Source/Core/Editor/UI/GraphView/SceneReferencesEditorPopup.cs +++ b/Source/Core/Editor/UI/GraphView/Windows/SceneReferencesEditorPopup.cs @@ -5,11 +5,11 @@ using UnityEngine; using UnityEngine.UIElements; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI.Views; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI.Views; -namespace VRBuilder.Editor.UI.Windows +namespace VRBuilder.Core.Editor.UI.GraphView.Windows { public class SceneReferencesEditorPopup : PopupWindowContent { diff --git a/Source/Core/Editor/UI/GraphView/SceneReferencesEditorPopup.cs.meta b/Source/Core/Editor/UI/GraphView/Windows/SceneReferencesEditorPopup.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/SceneReferencesEditorPopup.cs.meta rename to Source/Core/Editor/UI/GraphView/Windows/SceneReferencesEditorPopup.cs.meta diff --git a/Source/Core/Editor/UI/GraphView/SearchableGroupListPopup.cs b/Source/Core/Editor/UI/GraphView/Windows/SearchableGroupListPopup.cs similarity index 99% rename from Source/Core/Editor/UI/GraphView/SearchableGroupListPopup.cs rename to Source/Core/Editor/UI/GraphView/Windows/SearchableGroupListPopup.cs index d252b7873..12f61c528 100644 --- a/Source/Core/Editor/UI/GraphView/SearchableGroupListPopup.cs +++ b/Source/Core/Editor/UI/GraphView/Windows/SearchableGroupListPopup.cs @@ -6,10 +6,11 @@ using UnityEngine; using UnityEngine.UIElements; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI.Views; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI.Windows +namespace VRBuilder.Core.Editor.UI.GraphView.Windows { /// diff --git a/Source/Core/Editor/UI/GraphView/SearchableGroupListPopup.cs.meta b/Source/Core/Editor/UI/GraphView/Windows/SearchableGroupListPopup.cs.meta similarity index 100% rename from Source/Core/Editor/UI/GraphView/SearchableGroupListPopup.cs.meta rename to Source/Core/Editor/UI/GraphView/Windows/SearchableGroupListPopup.cs.meta diff --git a/Source/Core/Editor/UI/Graphics.meta b/Source/Core/Editor/UI/Graphics.meta deleted file mode 100644 index e9504131d..000000000 --- a/Source/Core/Editor/UI/Graphics.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b885e4582239931429240e42ccbfa196 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/Graphics/AddStepButton.cs b/Source/Core/Editor/UI/Graphics/AddStepButton.cs deleted file mode 100644 index 0c4a8e0c1..000000000 --- a/Source/Core/Editor/UI/Graphics/AddStepButton.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Represents "Add new step" button. It is rendered at the middle of its parent Transition and inserts a new step on click into the process workflow. - /// - internal class AddStepButton : GraphicalElement - { - private static readonly Vector2 size = new Vector2(20f, 20f); - - private readonly GraphicalElementRenderer renderer; - - /// - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - /// - public override Rect BoundingBox - { - get - { - return new Rect(Position - size / 2f, size); - } - } - - /// - public override int Layer - { - get - { - return 100; - } - } - - public AddStepButton(EditorGraphics editorGraphics, GraphicalElement parent = null) : base(editorGraphics, true, parent) - { - renderer = new AddStepButtonRenderer(this, editorGraphics.ColorPalette); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/AddStepButton.cs.meta b/Source/Core/Editor/UI/Graphics/AddStepButton.cs.meta deleted file mode 100644 index d3569e86c..000000000 --- a/Source/Core/Editor/UI/Graphics/AddStepButton.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 37822f14ee8e4038b1a28a7f84099aa7 -timeCreated: 1539872936 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs b/Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs deleted file mode 100644 index b0928cd04..000000000 --- a/Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class CreateTransitionButton : GraphicalElement - { - private readonly Vector2 size = new Vector2(16f, 16f); - - private readonly GraphicalElementRenderer renderer; - private Rect boundingBox; - private int layer; - - public CreateTransitionButton(EditorGraphics editorGraphics, GraphicalElement parent = null) : base(editorGraphics, true, parent) - { - renderer = new CreateTransitionButtonRenderer(this, editorGraphics.ColorPalette); - } - - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - public override Rect BoundingBox - { - get - { - return new Rect(Position - size / 2f, size); - } - } - - public override int Layer - { - get - { - return 0; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs.meta b/Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs.meta deleted file mode 100644 index 7a3c35427..000000000 --- a/Source/Core/Editor/UI/Graphics/CreateTransitionButton.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 0a386bf92bcc4273955c70eacf5f6a69 -timeCreated: 1563465890 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/EditorNode.cs b/Source/Core/Editor/UI/Graphics/EditorNode.cs deleted file mode 100644 index baf75e556..000000000 --- a/Source/Core/Editor/UI/Graphics/EditorNode.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections.Generic; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Base class for Entry and Exit nodes. - /// - internal abstract class EditorNode : GraphicalElement - { - /// - /// List of entry joints, to which incoming Transitions can connect. Since workflow is linear for now, there is only one joint per editor node. - /// - public List EntryJoints { get; private set; } - - /// - /// List of exit joints, to which outcoming Transitions can connect. Since workflow is linear for now, there is only one joint per editor node. - /// - public List ExitJoints { get; private set; } - - /// - public override int Layer - { - get - { - return 0; - } - } - - /// - protected EditorNode(EditorGraphics owner, bool isReceivingEvents) : base(owner, isReceivingEvents) - { - EntryJoints = new List(); - ExitJoints = new List(); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/EditorNode.cs.meta b/Source/Core/Editor/UI/Graphics/EditorNode.cs.meta deleted file mode 100644 index 8078d3ebe..000000000 --- a/Source/Core/Editor/UI/Graphics/EditorNode.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: b082ddff33a249279ddd0af7491e7181 -timeCreated: 1539683435 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/EntryJoint.cs b/Source/Core/Editor/UI/Graphics/EntryJoint.cs deleted file mode 100644 index 16b09e968..000000000 --- a/Source/Core/Editor/UI/Graphics/EntryJoint.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class EntryJoint : GraphicalElement - { - private readonly Vector2 size = new Vector2(16f, 16f); - private readonly EntryJointRenderer renderer; - - public EntryJoint(EditorGraphics editorGraphics, GraphicalElement parent = null) : base(editorGraphics, true, parent) - { - renderer = new EntryJointRenderer(this, editorGraphics.ColorPalette); - } - - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - public override Rect BoundingBox - { - get - { - return new Rect(Position - size, size * 2f); - } - } - - public override int Layer - { - get - { - return 0; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/EntryJoint.cs.meta b/Source/Core/Editor/UI/Graphics/EntryJoint.cs.meta deleted file mode 100644 index 7391b3191..000000000 --- a/Source/Core/Editor/UI/Graphics/EntryJoint.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 5a865ca8114a43d9bc1865ae2d8193ca -timeCreated: 1563356922 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/EntryNode.cs b/Source/Core/Editor/UI/Graphics/EntryNode.cs deleted file mode 100644 index 49570ea62..000000000 --- a/Source/Core/Editor/UI/Graphics/EntryNode.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Represents the beginning of a process in the process workflow. - /// - internal class EntryNode : EditorNode - { - private static readonly Vector2 size = new Vector2(24f, 24f); - private readonly GraphicalElementRenderer renderer; - - private bool isDragging; - - public bool IsDragging - { - get - { - return isDragging; - } - set - { - if (value != isDragging) - { - isDragging = value; - } - } - } - - /// - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - /// - public override Rect BoundingBox - { - get - { - return new Rect(Position - size / 2f, size); - } - } - - public EntryNode(EditorGraphics owner) : base(owner, true) - { - renderer = new EntryNodeRenderer(this, owner.ColorPalette); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/EntryNode.cs.meta b/Source/Core/Editor/UI/Graphics/EntryNode.cs.meta deleted file mode 100644 index aa25fa1e7..000000000 --- a/Source/Core/Editor/UI/Graphics/EntryNode.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 83881433481c4e89a71d95a010ccd0dd -timeCreated: 1539872360 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/ExitJoint.cs b/Source/Core/Editor/UI/Graphics/ExitJoint.cs deleted file mode 100644 index 60be2714b..000000000 --- a/Source/Core/Editor/UI/Graphics/ExitJoint.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class ExitJoint : GraphicalElement - { - public Vector2 DragDelta { get; set; } - - private readonly Vector2 size = new Vector2(16f, 16f); - - private readonly GraphicalElementRenderer renderer; - private Rect boundingBox; - private int layer; - - public ExitJoint(EditorGraphics editorGraphics, GraphicalElement parent = null) : base(editorGraphics, true, parent) - { - renderer = new ExitJointRenderer(this, editorGraphics.ColorPalette); - } - - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - public override Rect BoundingBox - { - get - { - return new Rect(Position - size / 2f, size); - } - } - - public override int Layer - { - get - { - return 0; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/ExitJoint.cs.meta b/Source/Core/Editor/UI/Graphics/ExitJoint.cs.meta deleted file mode 100644 index bda1d9a4e..000000000 --- a/Source/Core/Editor/UI/Graphics/ExitJoint.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 8f0fc2a96e944384bc8685e36f6e06be -timeCreated: 1539683428 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/GraphicalElement.cs b/Source/Core/Editor/UI/Graphics/GraphicalElement.cs deleted file mode 100644 index c3a3e1fe1..000000000 --- a/Source/Core/Editor/UI/Graphics/GraphicalElement.cs +++ /dev/null @@ -1,225 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Base class for all views in the Workflow window. - /// - internal abstract class GraphicalElement - { - private readonly List children = new List(); - private GraphicalElement parent; - private Vector2 relativePosition; - - public event EventHandler RelativePositionChanged; - - /// - /// Encapsulates rendering of this graphical element. - /// If this graphical element is not supposed to be drawn, Renderer is null. - /// - public abstract GraphicalElementRenderer Renderer { get; } - - /// - /// Encapsulates handling of UI events that are related to this graphical element. - /// If this graphical element is not supposed to receive any events, GraphicalEventHandler is null. - /// - public GraphicalEventHandler GraphicalEventHandler { get; private set; } - - /// - /// True if this graphical element receives UI events. - /// - public bool IsReceivingEvents { get; private set; } - - /// - /// True if this graphical element has a visual representation to be drawn. - /// - public bool CanBeDrawn - { - get - { - return Renderer != null; - } - } - - /// - /// Owner EditorGraphics object that relays UI events and manages rendering. - /// - protected EditorGraphics Graphics { get; private set; } - - /// - /// GraphicalElement position is calculated relative to Parent element. - /// - public GraphicalElement Parent - { - get - { - return parent; - } - set - { - Vector2 position = Position; - - if (parent != null) - { - parent.RemoveChild(this); - } - - parent = value; - - if (parent != null) - { - parent.AddChild(this); - } - - Position = position; - } - } - - /// - /// List of graphical elements for which this graphical element is parent. - /// - public ReadOnlyCollection Children - { - get - { - return children.AsReadOnly(); - } - } - - /// - /// Relative position from Parent. - /// - public Vector2 RelativePosition - { - get - { - return relativePosition; - } - set - { - relativePosition = value; - if (RelativePositionChanged != null) - { - RelativePositionChanged.Invoke(this, new GraphicalElementEventArgs()); - } - } - } - - /// - /// Position in the editor window (from top-left). - /// - public Vector2 Position - { - get - { - if (Parent == null) - { - return RelativePosition; - } - - return Parent.Position + RelativePosition; - } - set - { - if (Parent == null) - { - RelativePosition = value; - return; - } - - RelativePosition = value - Parent.Position; - } - } - - /// - /// Rect that bounds the graphical element in the containing window coordinates. - /// - public abstract Rect BoundingBox { get; } - - /// - /// Rect that bounds the graphical element in the coordinates relative to its position. - /// - public Rect LocalBoundingBox - { - get - { - return new Rect(BoundingBox.position - Position, BoundingBox.size); - } - } - - /// - /// Elements with higher Layer are checked for pointer events first and drawn last. - /// - public abstract int Layer { get; } - - /// Owner EditorGraphics object that relays UI events to this element and manages its rendering. - /// If true, new instance of GraphicalEventHandler is added to this graphical element. - /// GraphicalElement position is calculated relative to Parent element. Can be null. - protected GraphicalElement(EditorGraphics editorGraphics, bool isReceivingEvents, GraphicalElement parent = null) - { - IsReceivingEvents = isReceivingEvents; - if (isReceivingEvents) - { - GraphicalEventHandler = new GraphicalEventHandler(); - } - - Parent = parent; - Graphics = editorGraphics; - Graphics.Register(this); - } - - public void AddChild(GraphicalElement child) - { - children.Add(child); - } - - public bool RemoveChild(GraphicalElement child) - { - return children.Remove(child); - } - - /// - /// Check if point is inside the element. - /// - /// Position of the pointer - public virtual bool IsPointInsideGeometry(Vector2 position) - { - return BoundingBox.Contains(position, true); - } - - /// - /// Check if element is at least partially inside the rect (used to determine if we have to draw an element or we can ignore it). - /// - public virtual bool IsVisibleInRect(Rect rect) - { - return BoundingBox.Overlaps(rect, true); - } - - /// - /// Called when element is registered in a EditorGraphics object. - /// - public virtual void HandleRegistration() - { - } - - /// - /// Called when element is unregistered from its owner Graphics. - /// - public virtual void HandleDeregistration() - { - } - - // Called once per Unity Editor frame. - public virtual void Layout() - { - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/GraphicalElement.cs.meta b/Source/Core/Editor/UI/Graphics/GraphicalElement.cs.meta deleted file mode 100644 index c8b8a0dd0..000000000 --- a/Source/Core/Editor/UI/Graphics/GraphicalElement.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 52de8232a59f4faa838e816a8293830a -timeCreated: 1539862626 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs b/Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs deleted file mode 100644 index af3c08c51..000000000 --- a/Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class GraphicalElementEventArgs : EventArgs - { - } -} diff --git a/Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs.meta b/Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs.meta deleted file mode 100644 index 1f844ef6a..000000000 --- a/Source/Core/Editor/UI/Graphics/GraphicalElementEventArgs.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: b2e02c98e6724a52aa953ce30cf9ea39 -timeCreated: 1540385182 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs b/Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs deleted file mode 100644 index af013b9a0..000000000 --- a/Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class GraphicalEventHandler - { - public event EventHandler PointerDown; - public event EventHandler PointerUp; - public event EventHandler PointerClick; - - public event EventHandler PointerHoverStart; - public event EventHandler PointerHoverStop; - - public event EventHandler ContextPointerDown; - public event EventHandler ContextClick; - public event EventHandler ContextPointerUp; - - public event EventHandler PointerDrag; - - public void InvokeContextPointerDown(Vector2 pointerPosition) - { - if (ContextPointerDown != null) - { - ContextPointerDown.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokeContextPointerUp(Vector2 pointerPosition) - { - if (ContextPointerUp != null) - { - ContextPointerUp.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokePointerDown(Vector2 pointerPosition) - { - if (PointerDown != null) - { - PointerDown.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokePointerUp(Vector2 pointerPosition) - { - if (PointerUp != null) - { - PointerUp.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokePointerClick(Vector2 pointerPosition) - { - if (PointerClick != null) - { - PointerClick.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokePointerHoverStart(Vector2 pointerPosition) - { - if (PointerHoverStart != null) - { - PointerHoverStart.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokePointerHoverStop(Vector2 pointerPosition) - { - if (PointerHoverStop != null) - { - PointerHoverStop.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokeContextPointerClick(Vector2 pointerPosition) - { - if (ContextClick != null) - { - ContextClick.Invoke(this, new PointerGraphicalElementEventArgs(pointerPosition)); - } - } - - public void InvokePointerDrag(Vector2 pointerPosition, Vector2 delta) - { - if (PointerDrag != null) - { - PointerDrag.Invoke(this, new PointerDraggedGraphicalElementEventArgs(pointerPosition, delta)); - } - } - - public void Reset() - { - PointerDown = null; - PointerUp = null; - PointerClick = null; - PointerHoverStart = null; - PointerHoverStop = null; - ContextClick = null; - PointerDrag = null; - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs.meta b/Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs.meta deleted file mode 100644 index 6b4f2d40b..000000000 --- a/Source/Core/Editor/UI/Graphics/GraphicalEventHandler.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 65e2c944bbf14368aca991029afaf5a8 -timeCreated: 1540385039 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Grid.cs b/Source/Core/Editor/UI/Graphics/Grid.cs deleted file mode 100644 index baf0a9296..000000000 --- a/Source/Core/Editor/UI/Graphics/Grid.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Base class for a grid which can be used as e.g. a background of the chapter view. - /// - internal abstract class Grid : GraphicalElement - { - public Grid(EditorGraphics editorGraphics, bool isReceivingEvents, GraphicalElement parent = null) : base(editorGraphics, isReceivingEvents, parent) - { - } - - /// - public override GraphicalElementRenderer Renderer { get; } - - /// - public override Rect BoundingBox { get; } - - /// - public override int Layer { get; } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Grid.cs.meta b/Source/Core/Editor/UI/Graphics/Grid.cs.meta deleted file mode 100644 index fa6840925..000000000 --- a/Source/Core/Editor/UI/Graphics/Grid.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bbdf30da23dba9c40975e531e291d72c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs b/Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs deleted file mode 100644 index 3b775f88f..000000000 --- a/Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class PointerDraggedGraphicalElementEventArgs : PointerGraphicalElementEventArgs - { - public Vector2 PointerDelta - { - get; - private set; - } - - public PointerDraggedGraphicalElementEventArgs(Vector2 pointerPosition, Vector2 pointerDelta) : base(pointerPosition) - { - PointerDelta = pointerDelta; - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs.meta b/Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs.meta deleted file mode 100644 index c47187056..000000000 --- a/Source/Core/Editor/UI/Graphics/PointerDraggedGraphicalElementEventArgs.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 95fe32f4ee7c4f0c9266c7ea3828279e -timeCreated: 1540385187 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs b/Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs deleted file mode 100644 index fa9e12801..000000000 --- a/Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class PointerGraphicalElementEventArgs : GraphicalElementEventArgs - { - public Vector2 PointerPosition { get; private set; } - - public PointerGraphicalElementEventArgs(Vector2 pointerPosition) - { - PointerPosition = pointerPosition; - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs.meta b/Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs.meta deleted file mode 100644 index c978b03a2..000000000 --- a/Source/Core/Editor/UI/Graphics/PointerGraphicalElementEventArgs.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 5d6908a6b9bb4e26b464a33241fedd32 -timeCreated: 1563290568 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers.meta b/Source/Core/Editor/UI/Graphics/Renderers.meta deleted file mode 100644 index 20547efd7..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: efab2f9c72f08b944927eeaf6576cb09 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs deleted file mode 100644 index b36011dff..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Renderer for AddStepButton graphical elements. - /// - internal class AddStepButtonRenderer : MulticoloredGraphicalElementRenderer - { - /// - public override Color NormalColor - { - get - { - return ColorPalette.ElementBackground; - } - } - - /// - protected override Color PressedColor - { - get - { - return ColorPalette.Primary; - } - } - - /// - protected override Color HoveredColor - { - get - { - return ColorPalette.Secondary; - } - } - - /// - protected override Color TextColor - { - get - { - return ColorPalette.Text; - } - } - - public AddStepButtonRenderer(AddStepButton owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - - /// - public override void Draw() - { - Rect rect = Owner.BoundingBox; - rect.x = Mathf.Round(rect.x); - rect.y = Mathf.Round(rect.y); - rect.height = Mathf.Round(rect.height); - rect.width = Mathf.Round(rect.width); - - EditorDrawingHelper.DrawRoundedRect(rect, CurrentColor, 4f); - GUIStyle style = new GUIStyle() - { - alignment = TextAnchor.MiddleCenter, - normal = new GUIStyleState() { textColor = TextColor } - }; - GUI.Label(rect, "+", style); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs.meta deleted file mode 100644 index 19b81cadc..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/AddStepButtonRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 3f32cb5ac8604ad682921cef1e938e58 -timeCreated: 1540395526 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs deleted file mode 100644 index 027f0a5cd..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Base class for graphical element renderers that use only one color. - /// - internal abstract class ColoredGraphicalElementRenderer : GraphicalElementRenderer where TOwner : GraphicalElement - { - /// - /// Color palette which is used in current Workflow window. Use colors from it to keep your elements in the same style. - /// - protected WorkflowEditorColorPalette ColorPalette - { - get; - private set; - } - - /// - /// Default color of the element. - /// - public abstract Color NormalColor - { - get; - } - - /// - /// Current color of the element. - /// - public Color CurrentColor - { - get; - set; - } - - protected ColoredGraphicalElementRenderer(TOwner owner, WorkflowEditorColorPalette colorPalette) : base(owner) - { - ColorPalette = colorPalette; - CurrentColor = NormalColor; - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs.meta deleted file mode 100644 index 1f9f0cdf5..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/ColoredGraphicalElementRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 18b785bbb59b410d94bab7ef8bed3847 -timeCreated: 1540395544 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs deleted file mode 100644 index 915f3bfa5..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class CreateTransitionButtonRenderer : MulticoloredGraphicalElementRenderer - { - private static EditorIcon plusIcon = new EditorIcon("icon_add"); - private int iconSize = 14; - - public CreateTransitionButtonRenderer(CreateTransitionButton owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - - public override void Draw() - { - EditorDrawingHelper.DrawCircle(Owner.Position, Owner.BoundingBox.width / 2f, CurrentColor); - Rect iconBoundingBox = new Rect(Owner.Position.x - (iconSize / 2f), Owner.Position.y - (iconSize / 2f), iconSize, iconSize); - EditorDrawingHelper.DrawTexture(iconBoundingBox, plusIcon.Texture, Color.gray); - } - - public override Color NormalColor - { - get - { - return ColorPalette.Transition; - } - } - - protected override Color PressedColor - { - get - { - return ColorPalette.Primary; - } - } - - protected override Color HoveredColor - { - get - { - return ColorPalette.Secondary; - } - } - - protected override Color TextColor - { - get - { - return ColorPalette.ElementBackground; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs.meta deleted file mode 100644 index bcd6698f8..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/CreateTransitionButtonRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: a629912a68214443906788d45af8a076 -timeCreated: 1563465768 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs deleted file mode 100644 index f9086a0da..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Base class for rendering nodes of the Workflow window (entry node, exit node, and step node). - /// - internal abstract class EditorNodeRenderer : ColoredGraphicalElementRenderer where TOwner : EditorNode - { - /// - public override Color NormalColor - { - get - { - return ColorPalette.ElementBackground; - } - } - - public EditorNodeRenderer(TOwner owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs.meta deleted file mode 100644 index c14faab4f..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/EditorNodeRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: df3c28ac98f24eaf8ac62a609a5695a6 -timeCreated: 1540395835 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs deleted file mode 100644 index 3c02d1bdf..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class EntryJointRenderer : MulticoloredGraphicalElementRenderer - { - private static EditorIcon ingoingIcon = new EditorIcon("icon_arrow_right"); - private int iconSize = 15; - - public EntryJointRenderer(EntryJoint owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - - public override void Draw() - { - EditorDrawingHelper.DrawCircle(Owner.Position, Owner.BoundingBox.width / 4f, CurrentColor); - Rect iconRect = new Rect(Owner.Position.x - iconSize / 2f, Owner.Position.y - iconSize / 2f, iconSize, iconSize); - EditorDrawingHelper.DrawTexture(iconRect, ingoingIcon.Texture, Color.gray); - } - - public override Color NormalColor - { - get - { - return ColorPalette.Transition; - } - } - - protected override Color PressedColor - { - get - { - return ColorPalette.Primary; - } - } - - protected override Color HoveredColor - { - get - { - return ColorPalette.Secondary; - } - } - - protected override Color TextColor - { - get - { - return ColorPalette.ElementBackground; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs.meta deleted file mode 100644 index 5bc10f562..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/EntryJointRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 66b9f118f44c4641bdc3f1626f518b5f -timeCreated: 1563798959 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs deleted file mode 100644 index 81d649c88..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; -using UnityEditor; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class EntryNodeRenderer : MulticoloredGraphicalElementRenderer - { - private static int LabelWidth = 30; - private static int LabelHeight = 50; - - /// - public override Color NormalColor - { - get - { - if (Owner.IsDragging) - { - return SelectedColor; - } - return ColorPalette.ElementBackground; - } - } - - protected override Color PressedColor - { - get - { - return SelectedColor; - } - } - - protected override Color HoveredColor - { - get - { - return ColorPalette.Secondary; - } - } - - protected override Color TextColor - { - get - { - return ColorPalette.Text; - } - } - - protected virtual Color SelectedColor - { - get - { - return ColorPalette.Primary; - } - } - - public EntryNodeRenderer(EntryNode owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - - /// - public override void Draw() - { - EditorDrawingHelper.DrawCircle(Owner.BoundingBox.center, Owner.BoundingBox.size.x / 2f, CurrentColor); - Rect StartLabelRect = new Rect(Owner.BoundingBox.center.x - LabelWidth / 2f, Owner.BoundingBox.center.y, LabelWidth, LabelHeight); - EditorGUI.LabelField(StartLabelRect, "Start", EditorStyles.label); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs.meta deleted file mode 100644 index 4f9d8e543..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/EntryNodeRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: d88f263743484280b87697c8e4ecca92 -timeCreated: 1540470025 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs deleted file mode 100644 index 29377536d..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - internal class ExitJointRenderer : MulticoloredGraphicalElementRenderer - { - private static EditorIcon outgoingIcon = new EditorIcon("icon_arrow_right"); - private int iconSize = 15; - - public ExitJointRenderer(ExitJoint owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - - public override void Draw() - { - EditorDrawingHelper.DrawCircle(Owner.Position, Owner.BoundingBox.width / 2f, CurrentColor); - - if (Owner.DragDelta.magnitude > Owner.BoundingBox.width / 2f) - { - EditorDrawingHelper.DrawArrow(Owner.Position, Owner.Position + Owner.DragDelta, CurrentColor, 40f, 10f); - } - - Rect iconRect = new Rect(Owner.Position.x - iconSize / 2f, Owner.Position.y - iconSize / 2f, iconSize, iconSize); - EditorDrawingHelper.DrawTexture(iconRect, outgoingIcon.Texture, Color.gray); - } - - public override Color NormalColor - { - get - { - return ColorPalette.Transition; - } - } - - protected override Color PressedColor - { - get - { - return ColorPalette.Primary; - } - } - - protected override Color HoveredColor - { - get - { - return ColorPalette.Secondary; - } - } - - protected override Color TextColor - { - get - { - return ColorPalette.Text; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs.meta deleted file mode 100644 index 790742e2c..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/ExitJointRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: e55bb6b61bc64ec1bf8c1aac09c9b8a2 -timeCreated: 1563356927 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs deleted file mode 100644 index 8038b197a..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Base class for all graphical element renderers. - /// - internal abstract class GraphicalElementRenderer : GraphicalElementRenderer where TOwner : GraphicalElement - { - /// - /// Graphical element to which this renderer belongs. - /// - protected TOwner Owner - { - get; - private set; - } - - protected GraphicalElementRenderer(TOwner owner) - { - Owner = owner; - } - } - - public abstract class GraphicalElementRenderer - { - /// - /// Called once in the end of the frame. Use it to draw elements in the editor window. - /// - public abstract void Draw(); - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs.meta deleted file mode 100644 index c21d08f32..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/GraphicalElementRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 2616dafaad1349b296e6751f3bbd8bdb -timeCreated: 1540394726 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs deleted file mode 100644 index cb8a835ac..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Base class which handles rendering of a . - /// - internal abstract class GridRenderer : GraphicalElementRenderer where TOwner : Grid - { - /// - /// Bounding box of the grid. - /// - public virtual Rect BoundingBox { get; set; } - - /// - /// Size of a cell within the grid. Cells are always square. - /// - public virtual float CellSize { get; set; } = 10f; - - protected GridRenderer(TOwner owner) : base(owner) - { - } - - /// - /// Color used for lines of grid. - /// - public virtual Color MainColor { get; set; } = Color.gray * 0.3f; - - /// - /// Color used for every 10th line of the grid. - /// - public virtual Color SecondaryColor { get; set; } = Color.black; - - /// - public override void Draw() - { - Color drawColor; - - int lineCount = 0; - float yPosTop = 0; - float yPosBot = 0; - - float width = BoundingBox.x + BoundingBox.width; - float height = BoundingBox.y + BoundingBox.height; - - // Draw horizontal lines starting from (0, 0). - while (yPosTop > BoundingBox.y || yPosBot <= height) - { - drawColor = lineCount % 10 == 0 ? SecondaryColor : MainColor; - lineCount++; - - if (yPosTop > BoundingBox.y) - { - EditorDrawingHelper.DrawHorizontalLine(new Vector3(BoundingBox.x, yPosTop), BoundingBox.width, drawColor); - yPosTop -= CellSize; - } - - if (yPosBot <= height) - { - EditorDrawingHelper.DrawHorizontalLine(new Vector3(BoundingBox.x, yPosBot), BoundingBox.width, drawColor); - yPosBot += CellSize; - } - } - - lineCount = 0; - float xPosLeft = 0; - float xPosRight = 0; - - // Draw vertical lines starting from (0, 0). - while (xPosLeft > BoundingBox.x || xPosRight <= width) - { - drawColor = lineCount % 10 == 0 ? SecondaryColor : MainColor; - lineCount++; - if (xPosLeft > BoundingBox.x) - { - EditorDrawingHelper.DrawVerticalLine(new Vector3(xPosLeft, BoundingBox.y), BoundingBox.height, drawColor); - xPosLeft -= CellSize; - } - - if (xPosRight <= width) - { - EditorDrawingHelper.DrawVerticalLine(new Vector3(xPosRight, BoundingBox.y), BoundingBox.height, drawColor); - xPosRight += CellSize; - } - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs.meta deleted file mode 100644 index 93a9c5deb..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/GridRenderer.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c17b32cb6a94df94394c3b2e46a1ba24 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs deleted file mode 100644 index 10864e783..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Renderer for graphical elements that are supposed to change their color while being pressed or hovered over. - /// - internal abstract class MulticoloredGraphicalElementRenderer : ColoredGraphicalElementRenderer where TOwner : GraphicalElement - { - /// - /// Color of the element while that element is pressed down. - /// - protected abstract Color PressedColor { get; } - - /// - /// Color of the element that is hovered over. - /// - protected abstract Color HoveredColor { get; } - - /// - /// Color of the text at the element. - /// - protected abstract Color TextColor { get; } - - protected MulticoloredGraphicalElementRenderer(TOwner owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - if (owner.IsReceivingEvents) - { - owner.GraphicalEventHandler.PointerDown += (sender, args) => CurrentColor = PressedColor; - owner.GraphicalEventHandler.PointerUp += (sender, args) => CurrentColor = NormalColor; - owner.GraphicalEventHandler.PointerHoverStart += (sender, args) => CurrentColor = HoveredColor; - owner.GraphicalEventHandler.PointerHoverStop += (sender, args) => CurrentColor = NormalColor; - - owner.GraphicalEventHandler.ContextPointerDown += (sender, args) => CurrentColor = PressedColor; - owner.GraphicalEventHandler.ContextPointerUp += (sender, args) => CurrentColor = NormalColor; - } - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs.meta deleted file mode 100644 index 78bddb078..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/MulticoloredGraphicalElementRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 3571fd7c283a48e9acc84263d321ddbe -timeCreated: 1540397839 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs deleted file mode 100644 index 4f6b0e9ab..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System.Collections.Generic; -using VRBuilder.Editor.Configuration; -using VRBuilder.Editor.ProcessValidation; -using UnityEditor; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - internal class StepNodeRenderer : MulticoloredGraphicalElementRenderer - { - private const float labelBorderOffsetInwards = 10f; - - public override Color NormalColor - { - get - { - if (Owner.IsLastSelectedStep) - { - return SelectedColor; - } - - return ColorPalette.ElementBackground; - } - } - - protected override Color PressedColor - { - get - { - return SelectedColor; - } - } - - protected override Color HoveredColor - { - get - { - return ColorPalette.Secondary; - } - } - - protected override Color TextColor - { - get - { - return ColorPalette.Text; - } - } - - protected virtual Color SelectedColor - { - get - { - return ColorPalette.Primary; - } - } - - public StepNodeRenderer(StepNode owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - owner.SelectedChanged += isSelected => - { - CurrentColor = isSelected ? SelectedColor : NormalColor; - }; - } - - public override void Draw() - { - EditorDrawingHelper.DrawRoundedRect(Owner.BoundingBox, CurrentColor, 10f); - - IValidationHandler validation = EditorConfigurator.Instance.Validation; - if (validation.IsAllowedToValidate()) - { - IContextResolver resolver = validation.ContextResolver; - - IContext context = resolver.FindContext(Owner.Step.Data, GlobalEditorHandler.GetCurrentProcess()); - if (validation.LastReport != null) - { - List errors = validation.LastReport.GetEntriesFor(context); - if (errors.Count > 0) - { - string tooltip = ValidationTooltipGenerator.CreateStepTooltip(errors, - resolver.FindContext(Owner.ActiveChapter.Data, GlobalEditorHandler.GetCurrentProcess())); - GUIContent content = new GUIContent("", null, tooltip); - Rect rect = new Rect(Owner.BoundingBox.x + Owner.BoundingBox.width * 0.70f, Owner.BoundingBox.y - 8, 16, 16); - // Label icons are too small so we draw a label for the tool tip and icon separated. - GUI.Label(rect, content); - GUI.DrawTexture(rect, EditorGUIUtility.IconContent("Warning").image); - } - } - } - - float labelX = Owner.BoundingBox.x + labelBorderOffsetInwards; - float labelY = Owner.BoundingBox.y + labelBorderOffsetInwards; - float labelWidth = Owner.BoundingBox.width - labelBorderOffsetInwards * 2f; - float labelHeight = Owner.BoundingBox.height - labelBorderOffsetInwards * 2f; - - Rect labelPosition = new Rect(labelX, labelY, labelWidth, labelHeight); - - GUIStyle labelStyle = new GUIStyle - { - alignment = TextAnchor.MiddleCenter, - normal = { textColor = TextColor }, - wordWrap = false, - }; - - string name = EditorDrawingHelper.TruncateText(Owner.Step.Data.Name, labelStyle, labelPosition.width); - - GUIContent labelContent = new GUIContent(name); - - GUI.Label(labelPosition, labelContent, labelStyle); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs.meta deleted file mode 100644 index 3ed5b77d0..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/StepNodeRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 303f25cc3a9b4372a6db309e8f6a2518 -timeCreated: 1540469429 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs deleted file mode 100644 index 50afc4749..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Renderer for transition between editor nodes. - /// - internal class TransitionRenderer : ColoredGraphicalElementRenderer - { - /// - public override Color NormalColor - { - get - { - return ColorPalette.Transition; - } - } - - public TransitionRenderer(TransitionElement owner, WorkflowEditorColorPalette colorPalette) : base(owner, colorPalette) - { - } - - /// - public override void Draw() - { - EditorDrawingHelper.DrawPolyline(Owner.PolylinePoints, CurrentColor); - EditorDrawingHelper.DrawTriangle(Owner.PolylinePoints, CurrentColor); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs.meta deleted file mode 100644 index 0b890f195..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/TransitionRenderer.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: fb2fae26352f43d3b2aca1a663e4cb84 -timeCreated: 1540396924 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs b/Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs deleted file mode 100644 index 2beac74e0..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -namespace VRBuilder.Editor.UI.Graphics.Renderers -{ - /// - /// Handles rendering of a . - /// - internal class WorkflowEditorGridRenderer : GridRenderer - { - public WorkflowEditorGridRenderer(WorkflowEditorGrid owner) : base(owner) - { - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs.meta b/Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs.meta deleted file mode 100644 index 8defc88ec..000000000 --- a/Source/Core/Editor/UI/Graphics/Renderers/WorkflowEditorGridRenderer.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 2e81a88911a7fef44a8bc2fb1618dc17 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/Graphics/StepNode.cs b/Source/Core/Editor/UI/Graphics/StepNode.cs deleted file mode 100644 index e5884acd0..000000000 --- a/Source/Core/Editor/UI/Graphics/StepNode.cs +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using VRBuilder.Core; -using VRBuilder.Editor.ProcessValidation; -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Represents step node of the Workflow window. - /// - internal class StepNode : EditorNode - { - private static readonly Vector2 initialSize = new Vector2(100f, 24f); - private Vector2 size = initialSize; - - private bool isLastSelectedStep; - - private IStep step; - - //The last step that was clicked on is selected. - private readonly GraphicalElementRenderer renderer; - - public CreateTransitionButton CreateTransitionButton { get; private set; } - - public IChapter ActiveChapter { get; } - - /// - /// Currently displayed step instance. If this step node is selected, the same step instance is used by a Step Inspector as well. - /// - public IStep Step - { - get - { - return step; - } - set - { - step = value; - if (step != null) - { - Position = step.StepMetadata.Position; - } - } - } - - /// - /// Indicates that this node represents last step selected by user. - /// - public bool IsLastSelectedStep - { - get - { - return isLastSelectedStep; - } - set - { - if (value != isLastSelectedStep) - { - isLastSelectedStep = value; - if (SelectedChanged != null) - { - SelectedChanged.Invoke(value); - } - } - } - } - - public event Action SelectedChanged; - - /// - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - /// - public override Rect BoundingBox - { - get - { - return new Rect(Position - initialSize / 2f, size); - } - } - - /// - public StepNode(EditorGraphics graphics, IChapter chapter, IStep step) : base(graphics, true) - { - ActiveChapter = chapter; - Step = step; - renderer = new StepNodeRenderer(this, graphics.ColorPalette); - - EntryJoints.Add(new EntryJoint(graphics, this) { RelativePosition = new Vector2(-size.x / 2f, -1f) }); - - CreateTransitionButton = new CreateTransitionButton(graphics, this) { RelativePosition = new Vector2(size.x / 2f, 0) }; - } - - public ExitJoint AddExitJoint() - { - ExitJoint toAdd = new ExitJoint(Graphics, this); - toAdd.RelativePosition = new Vector2(size.x / 2f, ExitJoints.Count * 20f); - size.y += 20f; - ExitJoints.Add(toAdd); - - CreateTransitionButton.RelativePosition = new Vector2(size.x / 2f, (ExitJoints.Count) * 20f); - - return toAdd; - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/StepNode.cs.meta b/Source/Core/Editor/UI/Graphics/StepNode.cs.meta deleted file mode 100644 index d23cb7435..000000000 --- a/Source/Core/Editor/UI/Graphics/StepNode.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 3118b66e59be45b388dcdebefc888d39 -timeCreated: 1539872985 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/TransitionElement.cs b/Source/Core/Editor/UI/Graphics/TransitionElement.cs deleted file mode 100644 index db14bba49..000000000 --- a/Source/Core/Editor/UI/Graphics/TransitionElement.cs +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using System; -using System.Collections.ObjectModel; -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Represents transition arrow between two steps. - /// - internal class TransitionElement : GraphicalElement - { - private readonly TransitionRenderer renderer; - - private Rect boundingBox; - private ExitJoint start; - - /// - /// Amount of segments a bezier curve consists of. - /// - public static int CurveSegmentCount = 33; - - /// - /// Points forming the bezier curve. - /// - public ReadOnlyCollection PolylinePoints { get; private set; } - - /// - /// Joint that arrow is pointing at. - /// - public EntryJoint Destination { get; private set; } - - /// - /// Joint from which transition starts. - /// - public ExitJoint Start - { - get { return start; } - - private set - { - start = value; - Parent = start; - } - } - - /// - public override Rect BoundingBox - { - get { return boundingBox; } - } - - /// - public override int Layer - { - get { return 80; } - } - - /// - public override GraphicalElementRenderer Renderer - { - get { return renderer; } - } - - /// - public TransitionElement(EditorGraphics editorGraphics, ExitJoint start, EntryJoint destination) : base(editorGraphics, false, start) - { - Destination = destination; - Start = start; - renderer = new TransitionRenderer(this, editorGraphics.ColorPalette); - } - - public override void HandleDeregistration() - { - base.HandleDeregistration(); - Start = null; - Destination = null; - } - - public override void Layout() - { - base.Layout(); - - RelativePosition = (Destination.Position - Start.Position) / 2f; - - if (Mathf.Abs(Start.Position.y - Destination.Position.y) > 1.0 || start.Position.x > Destination.Position.x) - { - Vector2[] controlPoints = BezierCurveHelper.CalculateControlPointsForTransition(Start.Position, Destination.Position, Start.Parent.BoundingBox, Destination.Parent.BoundingBox); - PolylinePoints = Array.AsReadOnly(BezierCurveHelper.CalculateDeCastejauCurve(Start.Position, controlPoints[0], controlPoints[1], Destination.Position, CurveSegmentCount)); - } - else - { - PolylinePoints = Array.AsReadOnly(new Vector2[] {Start.Position, Destination.Position}); - } - - boundingBox = BezierCurveHelper.CalculateBoundingBoxForPolyline(PolylinePoints); - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/TransitionElement.cs.meta b/Source/Core/Editor/UI/Graphics/TransitionElement.cs.meta deleted file mode 100644 index c2d607977..000000000 --- a/Source/Core/Editor/UI/Graphics/TransitionElement.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 70a4749dffe7407f8032e231c21b9ee0 -timeCreated: 1539683488 \ No newline at end of file diff --git a/Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs b/Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs deleted file mode 100644 index 042121f99..000000000 --- a/Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (c) 2013-2019 Innoactive GmbH -// Licensed under the Apache License, Version 2.0 -// Modifications copyright (c) 2021-2024 MindPort GmbH - -using VRBuilder.Editor.UI.Graphics.Renderers; -using UnityEngine; - -namespace VRBuilder.Editor.UI.Graphics -{ - /// - /// Represents the grid in the background of the chapter within the Workflow window. - /// - internal class WorkflowEditorGrid : Grid - { - private readonly WorkflowEditorGridRenderer renderer; - - /// - public override GraphicalElementRenderer Renderer - { - get - { - return renderer; - } - } - - /// - public override int Layer - { - get { return 1000; } - } - - /// - /// The grid should always be drawn. - public override bool IsVisibleInRect(Rect rect) - { - return true; - } - - public WorkflowEditorGrid(EditorGraphics editorGraphics) : base(editorGraphics, false) - { - renderer = new WorkflowEditorGridRenderer(this); - } - - public WorkflowEditorGrid(EditorGraphics editorGraphics, float cellSize) : base(editorGraphics, false) - { - renderer = new WorkflowEditorGridRenderer(this); - renderer.CellSize = cellSize; - } - - /// - /// Set the size of the whole grid. - /// - /// Rect which defines size. - public void SetSize(Rect controlRect) - { - renderer.BoundingBox = controlRect; - } - } -} diff --git a/Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs.meta b/Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs.meta deleted file mode 100644 index 5bdf107d2..000000000 --- a/Source/Core/Editor/UI/Graphics/WorkflowEditorGrid.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9f62c9efb09334443845f2bacae0dccb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/IEditorGraphicDrawer.cs b/Source/Core/Editor/UI/IEditorGraphicDrawer.cs index 557ffd449..75754e343 100644 --- a/Source/Core/Editor/UI/IEditorGraphicDrawer.cs +++ b/Source/Core/Editor/UI/IEditorGraphicDrawer.cs @@ -4,7 +4,7 @@ using UnityEngine; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { /// /// Allows to draws over the normal EditorGraphics. diff --git a/Source/Core/Editor/UI/Inspector/BezierSplineInspector.cs b/Source/Core/Editor/UI/Inspector/BezierSplineInspector.cs index bcaf91471..609b04fe2 100644 --- a/Source/Core/Editor/UI/Inspector/BezierSplineInspector.cs +++ b/Source/Core/Editor/UI/Inspector/BezierSplineInspector.cs @@ -1,58 +1,57 @@ using UnityEditor; using UnityEngine; -using VRBuilder.Core.Utils; -using VRBuilder.Editor.UI; +using VRBuilder.Core.Utils.Bezier; -namespace VRBuilder.Editor.Core.UI +namespace VRBuilder.Core.Editor.UI.Inspector { /// /// Editor for . /// [CustomEditor(typeof(BezierSpline))] - public class BezierSplineInspector : UnityEditor.Editor - { - private const int stepsPerCurve = 10; - private const float directionScale = 0.5f; - private const float handleSize = 0.04f; - private const float pickSize = 0.06f; + public class BezierSplineInspector : UnityEditor.Editor + { + private const int stepsPerCurve = 10; + private const float directionScale = 0.5f; + private const float handleSize = 0.04f; + private const float pickSize = 0.06f; private static Color[] modeColors = { - new Color32(231,64,255, 255), - new Color32(255,238,74, 255), - new Color32(120,241,200, 255), - }; - - private static Color lineColor = Color.white; - private static Color handleColor = new Color32(191, 191, 191, 255); - private static Color tangentColor = new Color32(102,150,255, 255); - - private BezierSpline spline; - private Transform handleTransform; - private Quaternion handleRotation; - private int selectedIndex = -1; - - public override void OnInspectorGUI() - { - spline = target as BezierSpline; - EditorGUI.BeginChangeCheck(); - bool loop = EditorGUILayout.Toggle("Loop", spline.Loop); - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(spline, "Toggle Loop"); - EditorUtility.SetDirty(spline); - spline.Loop = loop; - } + new Color32(231,64,255, 255), + new Color32(255,238,74, 255), + new Color32(120,241,200, 255), + }; + + private static Color lineColor = Color.white; + private static Color handleColor = new Color32(191, 191, 191, 255); + private static Color tangentColor = new Color32(102, 150, 255, 255); + + private BezierSpline spline; + private Transform handleTransform; + private Quaternion handleRotation; + private int selectedIndex = -1; + + public override void OnInspectorGUI() + { + spline = target as BezierSpline; + EditorGUI.BeginChangeCheck(); + bool loop = EditorGUILayout.Toggle("Loop", spline.Loop); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(spline, "Toggle Loop"); + EditorUtility.SetDirty(spline); + spline.Loop = loop; + } spline.LinearVelocity = EditorGUILayout.Toggle("Approximate Linear Velocity", spline.LinearVelocity); - if(spline.LinearVelocity) + if (spline.LinearVelocity) { spline.CurveResolution = EditorGUILayout.IntField("Granularity of Approximation", Mathf.Clamp(spline.CurveResolution, 2, spline.CurveResolution)); } GUILayout.Label("Control Points", BuilderEditorStyles.Header); - for(int point = 0; point < spline.ControlPointCount; ++point) + for (int point = 0; point < spline.ControlPointCount; ++point) { if (point == spline.ControlPointCount - 1 && loop) { @@ -62,25 +61,25 @@ public override void OnInspectorGUI() DrawInspectorForPoint(point); } - if (GUILayout.Button("Add Curve")) - { - Undo.RecordObject(spline, "Add Curve"); - spline.AddCurve(); - EditorUtility.SetDirty(spline); - } + if (GUILayout.Button("Add Curve")) + { + Undo.RecordObject(spline, "Add Curve"); + spline.AddCurve(); + EditorUtility.SetDirty(spline); + } EditorGUI.BeginDisabledGroup(spline.ControlPointCount <= 4); - if(GUILayout.Button("Remove Curve")) + if (GUILayout.Button("Remove Curve")) { Undo.RecordObject(spline, "Remove Curve"); spline.RemoveCurve(); EditorUtility.SetDirty(spline); } EditorGUI.EndDisabledGroup(); - } + } - private void DrawInspectorForPoint(int index) - { + private void DrawInspectorForPoint(int index) + { GUIStyle labelStyle = new GUIStyle(GUI.skin.label); labelStyle.fontStyle = FontStyle.Bold; @@ -89,7 +88,7 @@ private void DrawInspectorForPoint(int index) string label; - if(index == 0 || index % 3 == 2) + if (index == 0 || index % 3 == 2) { GUILayout.Label($"Point {(index + 1) / 3}", labelStyle); } @@ -98,7 +97,7 @@ private void DrawInspectorForPoint(int index) { label = "Anchor"; } - else if(index % 3 == 1) + else if (index % 3 == 1) { label = "Handle Out"; } @@ -119,9 +118,9 @@ private void DrawInspectorForPoint(int index) } } - EditorGUILayout.BeginHorizontal(); + EditorGUILayout.BeginHorizontal(); EditorGUI.BeginDisabledGroup(index == selectedIndex); - if(GUILayout.Button(label, buttonStyle)) + if (GUILayout.Button(label, buttonStyle)) { selectedIndex = index; Repaint(); @@ -131,80 +130,80 @@ private void DrawInspectorForPoint(int index) GUILayout.FlexibleSpace(); - EditorGUI.BeginChangeCheck(); - Vector3 point = EditorGUILayout.Vector3Field(string.Empty, spline.GetControlPoint(index)); - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(spline, "Move Point"); - EditorUtility.SetDirty(spline); - spline.SetControlPoint(index, point); - } + EditorGUI.BeginChangeCheck(); + Vector3 point = EditorGUILayout.Vector3Field(string.Empty, spline.GetControlPoint(index)); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(spline, "Move Point"); + EditorUtility.SetDirty(spline); + spline.SetControlPoint(index, point); + } EditorGUILayout.EndHorizontal(); - } - - private void OnSceneGUI() - { - spline = target as BezierSpline; - handleTransform = spline.transform; - handleRotation = Tools.pivotRotation == PivotRotation.Local ? - handleTransform.rotation : Quaternion.identity; - - Vector3 p0 = ShowPoint(0); - for (int i = 1; i < spline.ControlPointCount; i += 3) - { - Vector3 p1 = ShowPoint(i); - Vector3 p2 = ShowPoint(i + 1); - Vector3 p3 = ShowPoint(i + 2); - - Handles.color = handleColor; - Handles.DrawLine(p0, p1); - Handles.DrawLine(p2, p3); - - Handles.DrawBezier(p0, p3, p1, p2, lineColor, null, 2f); - p0 = p3; - } - ShowDirections(); - } - - private void ShowDirections() - { - Handles.color = tangentColor; - Vector3 point = spline.GetPoint(0f); - Handles.DrawLine(point, point + spline.GetDirection(0f) * directionScale); - int steps = stepsPerCurve * spline.CurveCount; - for (int i = 1; i <= steps; i++) - { - point = spline.GetPoint(i / (float)steps); - Handles.DrawLine(point, point + spline.GetDirection(i / (float)steps) * directionScale); - } - } - - private Vector3 ShowPoint(int index) - { - Vector3 point = handleTransform.TransformPoint(spline.GetControlPoint(index)); - float size = HandleUtility.GetHandleSize(point); - if (index == 0) - { - size *= 2f; - } - Handles.color = modeColors[(int)spline.GetControlPointMode(index)]; - if (Handles.Button(point, handleRotation, size * handleSize, size * pickSize, Handles.DotHandleCap)) - { - selectedIndex = index; - Repaint(); - } - if (selectedIndex == index) - { - EditorGUI.BeginChangeCheck(); - point = Handles.DoPositionHandle(point, handleRotation); - if (EditorGUI.EndChangeCheck()) - { - Undo.RecordObject(spline, "Move Point"); - EditorUtility.SetDirty(spline); - spline.SetControlPoint(index, handleTransform.InverseTransformPoint(point)); - } - } - return point; - } - } + } + + private void OnSceneGUI() + { + spline = target as BezierSpline; + handleTransform = spline.transform; + handleRotation = Tools.pivotRotation == PivotRotation.Local ? + handleTransform.rotation : Quaternion.identity; + + Vector3 p0 = ShowPoint(0); + for (int i = 1; i < spline.ControlPointCount; i += 3) + { + Vector3 p1 = ShowPoint(i); + Vector3 p2 = ShowPoint(i + 1); + Vector3 p3 = ShowPoint(i + 2); + + Handles.color = handleColor; + Handles.DrawLine(p0, p1); + Handles.DrawLine(p2, p3); + + Handles.DrawBezier(p0, p3, p1, p2, lineColor, null, 2f); + p0 = p3; + } + ShowDirections(); + } + + private void ShowDirections() + { + Handles.color = tangentColor; + Vector3 point = spline.GetPoint(0f); + Handles.DrawLine(point, point + spline.GetDirection(0f) * directionScale); + int steps = stepsPerCurve * spline.CurveCount; + for (int i = 1; i <= steps; i++) + { + point = spline.GetPoint(i / (float)steps); + Handles.DrawLine(point, point + spline.GetDirection(i / (float)steps) * directionScale); + } + } + + private Vector3 ShowPoint(int index) + { + Vector3 point = handleTransform.TransformPoint(spline.GetControlPoint(index)); + float size = HandleUtility.GetHandleSize(point); + if (index == 0) + { + size *= 2f; + } + Handles.color = modeColors[(int)spline.GetControlPointMode(index)]; + if (Handles.Button(point, handleRotation, size * handleSize, size * pickSize, Handles.DotHandleCap)) + { + selectedIndex = index; + Repaint(); + } + if (selectedIndex == index) + { + EditorGUI.BeginChangeCheck(); + point = Handles.DoPositionHandle(point, handleRotation); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(spline, "Move Point"); + EditorUtility.SetDirty(spline); + spline.SetControlPoint(index, handleTransform.InverseTransformPoint(point)); + } + } + return point; + } + } } diff --git a/Source/Core/Editor/ProcessController/UI/ProcessControllerSetupEditor.cs b/Source/Core/Editor/UI/Inspector/ProcessControllerSetupEditor.cs similarity index 90% rename from Source/Core/Editor/ProcessController/UI/ProcessControllerSetupEditor.cs rename to Source/Core/Editor/UI/Inspector/ProcessControllerSetupEditor.cs index c86b5710a..398e8061a 100644 --- a/Source/Core/Editor/ProcessController/UI/ProcessControllerSetupEditor.cs +++ b/Source/Core/Editor/UI/Inspector/ProcessControllerSetupEditor.cs @@ -1,13 +1,13 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Reflection; -using VRBuilder.Core.Utils; -using VRBuilder.UX; using UnityEditor; using UnityEngine; +using VRBuilder.Core.Utils; +using VRBuilder.ProcessController; -namespace VRBuilder.Editor.UX +namespace VRBuilder.Core.Editor.UI.Inspector { /// /// Custom editor for s. @@ -22,7 +22,7 @@ internal class ProcessControllerSetupEditor : UnityEditor.Editor private SerializedProperty customPrefabProperty; private ProcessControllerSetup setupObject; - + private IProcessController[] availableProcessControllers; private string[] availableProcessControllerNames; private GameObject customPrefab = null; @@ -30,7 +30,7 @@ internal class ProcessControllerSetupEditor : UnityEditor.Editor private bool useCustomPrefab; private List currentRequiredComponents = new List(); - + private void OnEnable() { processControllerProperty = serializedObject.FindProperty("processControllerQualifiedName"); @@ -38,11 +38,11 @@ private void OnEnable() useCustomPrefabProperty = serializedObject.FindProperty("useCustomPrefab"); customPrefabProperty = serializedObject.FindProperty("customPrefab"); - customPrefab = (GameObject) customPrefabProperty.objectReferenceValue; - setupObject = (ProcessControllerSetup) serializedObject.targetObject; + customPrefab = (GameObject)customPrefabProperty.objectReferenceValue; + setupObject = (ProcessControllerSetup)serializedObject.targetObject; availableProcessControllers = ReflectionUtils.GetConcreteImplementationsOf() - .Select(c => (IProcessController) ReflectionUtils.CreateInstanceOfType(c)).OrderByDescending(controller => controller.Priority).ToArray(); + .Select(c => (IProcessController)ReflectionUtils.CreateInstanceOfType(c)).OrderByDescending(controller => controller.Priority).ToArray(); availableProcessControllerNames = availableProcessControllers.Select(controller => controller.Name).ToArray(); @@ -51,11 +51,11 @@ private void OnEnable() { selectedIndex = 0; } - + currentRequiredComponents = availableProcessControllers[selectedIndex].GetRequiredSetupComponents(); currentRequiredComponents.AddRange(currentRequiredComponents .SelectMany(type => type.GetCustomAttributes(typeof(RequireComponent)).Cast()) - .SelectMany(component => new List() {component.m_Type0, component.m_Type1, component.m_Type2}) + .SelectMany(component => new List() { component.m_Type0, component.m_Type1, component.m_Type2 }) .Where(type => type != null) .Distinct() .Except(currentRequiredComponents) @@ -69,11 +69,11 @@ public override void OnInspectorGUI() GUI.enabled = useCustomPrefab == false && Application.isPlaying == false; bool prevUseCustomPrefab = useCustomPrefab; int prevIndex = selectedIndex; - + selectedIndex = EditorGUILayout.Popup("Process Controller", selectedIndex, availableProcessControllerNames); autoStartProperty.boolValue = EditorGUILayout.Toggle("Auto start process", autoStartProperty.boolValue); - + GUI.enabled = !Application.isPlaying; useCustomPrefab = EditorGUILayout.Toggle("Use custom prefab", useCustomPrefabProperty.boolValue); @@ -85,10 +85,10 @@ public override void OnInspectorGUI() customPrefab = EditorGUILayout.ObjectField("Custom prefab", customPrefab, typeof(GameObject), false) as GameObject; } serializedObject.ApplyModifiedProperties(); - + return; } - + if (useCustomPrefab) { customPrefab = EditorGUILayout.ObjectField("Custom prefab", customPrefab, typeof(GameObject), false) as GameObject; @@ -109,7 +109,7 @@ public override void OnInspectorGUI() useCustomPrefabProperty.boolValue = useCustomPrefab; processControllerProperty.stringValue = availableProcessControllers[selectedIndex].GetType().AssemblyQualifiedName; - + serializedObject.ApplyModifiedProperties(); } @@ -137,4 +137,4 @@ private bool HasComponents(List components) return components.Except(setupObject.gameObject.GetComponents().ToList().Select(c => c.GetType())).Any() == false; } } -} \ No newline at end of file +} diff --git a/Source/Core/Editor/ProcessController/UI/ProcessControllerSetupEditor.cs.meta b/Source/Core/Editor/UI/Inspector/ProcessControllerSetupEditor.cs.meta similarity index 100% rename from Source/Core/Editor/ProcessController/UI/ProcessControllerSetupEditor.cs.meta rename to Source/Core/Editor/UI/Inspector/ProcessControllerSetupEditor.cs.meta diff --git a/Source/Core/Editor/UI/LogoEditorHelper.cs b/Source/Core/Editor/UI/LogoEditorHelper.cs index 9dfcc0c91..1a7112272 100644 --- a/Source/Core/Editor/UI/LogoEditorHelper.cs +++ b/Source/Core/Editor/UI/LogoEditorHelper.cs @@ -7,7 +7,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { /// /// Helper editor class that allows retrieving or drawing a logo that diff --git a/Source/Core/Editor/UI/LogoStyle.cs b/Source/Core/Editor/UI/LogoStyle.cs index 9751d565c..fa89c8ecc 100644 --- a/Source/Core/Editor/UI/LogoStyle.cs +++ b/Source/Core/Editor/UI/LogoStyle.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { public enum LogoStyle { diff --git a/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs b/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs index 867a9a9e5..a9cb223cd 100644 --- a/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/AddPropertyExtensionsMenuEntry.cs @@ -5,7 +5,7 @@ using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { /// /// Adds all property extensions required by the current scene setup to the objects in the scene. diff --git a/Source/Core/Editor/UI/Menu/AddonsMenuEntry.cs b/Source/Core/Editor/UI/Menu/AddonsMenuEntry.cs index d4519e60c..8b29eea2a 100644 --- a/Source/Core/Editor/UI/Menu/AddonsMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/AddonsMenuEntry.cs @@ -1,7 +1,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class AddonsMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/ChooseSerializerPopup.cs b/Source/Core/Editor/UI/Menu/ChooseSerializerPopup.cs index 77ef27f9c..6f301561f 100644 --- a/Source/Core/Editor/UI/Menu/ChooseSerializerPopup.cs +++ b/Source/Core/Editor/UI/Menu/ChooseSerializerPopup.cs @@ -9,7 +9,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { /// /// Allows user to select which serializer they want to use. diff --git a/Source/Core/Editor/UI/Menu/CommunityMenuEntry.cs b/Source/Core/Editor/UI/Menu/CommunityMenuEntry.cs index 26c948437..732f74229 100644 --- a/Source/Core/Editor/UI/Menu/CommunityMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/CommunityMenuEntry.cs @@ -5,7 +5,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class CommunityMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/DocumentationMenuEntry.cs b/Source/Core/Editor/UI/Menu/DocumentationMenuEntry.cs index f07a9a2f9..4e7219e4d 100644 --- a/Source/Core/Editor/UI/Menu/DocumentationMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/DocumentationMenuEntry.cs @@ -5,7 +5,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class DocumentationMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/ImportProcessMenuEntry.cs b/Source/Core/Editor/UI/Menu/ImportProcessMenuEntry.cs index 7b3366738..c5633a970 100644 --- a/Source/Core/Editor/UI/Menu/ImportProcessMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/ImportProcessMenuEntry.cs @@ -6,12 +6,12 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using VRBuilder.Core.Utils; -using VRBuilder.Core.Serialization; using UnityEditor; -using UnityEngine; +using VRBuilder.Core.Editor.ProcessAssets; +using VRBuilder.Core.Serialization; +using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class ImportProcessMenuEntry { @@ -33,7 +33,7 @@ private static void ImportProcess() if (result.Count == 0) { - Debug.LogError("Tried to import, but no Serializer found."); + UnityEngine.Debug.LogError("Tried to import, but no Serializer found."); return; } diff --git a/Source/Core/Editor/UI/Menu/OpenProcessMenuEntry.cs b/Source/Core/Editor/UI/Menu/OpenProcessMenuEntry.cs index 0828e052f..7230b481a 100644 --- a/Source/Core/Editor/UI/Menu/OpenProcessMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/OpenProcessMenuEntry.cs @@ -3,9 +3,10 @@ using UnityEditor; using VRBuilder.Core.Configuration; -using VRBuilder.Editor.Configuration; +using VRBuilder.Core.Editor.Configuration; +using VRBuilder.Core.Editor.ProcessAssets; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class OpenProcessMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/ReviewMenuEntry.cs b/Source/Core/Editor/UI/Menu/ReviewMenuEntry.cs index 98c111f1d..ebbf8f6bf 100644 --- a/Source/Core/Editor/UI/Menu/ReviewMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/ReviewMenuEntry.cs @@ -1,7 +1,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class ReviewMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/RoadmapMenuEntry.cs b/Source/Core/Editor/UI/Menu/RoadmapMenuEntry.cs index 9b177f14e..fb55f24be 100644 --- a/Source/Core/Editor/UI/Menu/RoadmapMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/RoadmapMenuEntry.cs @@ -1,7 +1,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class RoadmapMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/SceneObjectRegistryVisualizerMenuEntry.cs b/Source/Core/Editor/UI/Menu/SceneObjectRegistryVisualizerMenuEntry.cs index b7f749d82..1394f8cc8 100644 --- a/Source/Core/Editor/UI/Menu/SceneObjectRegistryVisualizerMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/SceneObjectRegistryVisualizerMenuEntry.cs @@ -1,7 +1,7 @@ using UnityEditor; -using VRBuilder.Editor.Debugging; +using VRBuilder.Core.Editor.Debug; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class SceneObjectRegistryVisualizerMenuEntry { diff --git a/Source/Core/Editor/UI/Menu/ShowBuilderSettingsMenuEntry.cs b/Source/Core/Editor/UI/Menu/ShowBuilderSettingsMenuEntry.cs index 9337bd860..241de7a28 100644 --- a/Source/Core/Editor/UI/Menu/ShowBuilderSettingsMenuEntry.cs +++ b/Source/Core/Editor/UI/Menu/ShowBuilderSettingsMenuEntry.cs @@ -2,10 +2,10 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -using VRBuilder.Editor.Configuration; +using VRBuilder.Core.Editor.Configuration; using UnityEditor; -namespace VRBuilder.Editor.BuilderMenu +namespace VRBuilder.Core.Editor.Menu { internal static class ShowBuilderSettingsMenuEntry { diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems.meta b/Source/Core/Editor/UI/MenuItems.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems.meta rename to Source/Core/Editor/UI/MenuItems.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors.meta b/Source/Core/Editor/UI/MenuItems/Behaviors.meta similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors.meta index d2b95f87d..0e567c9f5 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Behaviors.meta +++ b/Source/Core/Editor/UI/MenuItems/Behaviors.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e5d7dc6472cf93f4a942c5ef4d8855df +guid: 9dc2ed39235e0ba40a7a8e40b54d786e folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/BehaviorSequenceMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/BehaviorSequenceMenuItem.cs similarity index 72% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/BehaviorSequenceMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/BehaviorSequenceMenuItem.cs index 3b1a894e1..a64c91e7c 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/BehaviorSequenceMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/BehaviorSequenceMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class BehaviorSequenceMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/BehaviorSequenceMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/BehaviorSequenceMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/BehaviorSequenceMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/BehaviorSequenceMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ConfettiMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/ConfettiMenuItem.cs similarity index 69% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ConfettiMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/ConfettiMenuItem.cs index d91ef34f9..ce60b3b32 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ConfettiMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/ConfettiMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { public class ConfettiMenuItem : MenuItem { diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ConfettiMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/ConfettiMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ConfettiMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/ConfettiMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DelayMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/DelayMenuItem.cs similarity index 70% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DelayMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/DelayMenuItem.cs index bf36a0bbc..9bda4b4a6 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DelayMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/DelayMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class DelayMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DelayMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/DelayMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DelayMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/DelayMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableComponentMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/DisableComponentMenuItem.cs similarity index 79% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableComponentMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/DisableComponentMenuItem.cs index 99ca79003..7e7371f71 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableComponentMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/DisableComponentMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class DisableComponentMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableComponentMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/DisableComponentMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableComponentMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/DisableComponentMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableObjectsMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/DisableObjectsMenuItem.cs similarity index 79% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableObjectsMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/DisableObjectsMenuItem.cs index f1845de07..4af1c7320 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableObjectsMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/DisableObjectsMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class DisableObjectsMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableObjectsMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/DisableObjectsMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/DisableObjectsMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/DisableObjectsMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableComponentMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/EnableComponentMenuItem.cs similarity index 79% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableComponentMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/EnableComponentMenuItem.cs index 9b0b07c1b..d1d8b717f 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableComponentMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/EnableComponentMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class EnableComponentMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableComponentMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/EnableComponentMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableComponentMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/EnableComponentMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableObjectsMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/EnableObjectsMenuItem.cs similarity index 78% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableObjectsMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/EnableObjectsMenuItem.cs index 2c027bf9a..b6574b7b9 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableObjectsMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/EnableObjectsMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class EnableObjectsMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableObjectsMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/EnableObjectsMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/EnableObjectsMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/EnableObjectsMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/HighlightObjectMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/HighlightObjectMenuItem.cs similarity index 72% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/HighlightObjectMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/HighlightObjectMenuItem.cs index c0c9bb7ce..03384b286 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/HighlightObjectMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/HighlightObjectMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class HighlightObjectMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/HighlightObjectMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/HighlightObjectMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/HighlightObjectMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/HighlightObjectMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/LoadSceneMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/LoadSceneMenuItem.cs similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/LoadSceneMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/LoadSceneMenuItem.cs index 08b239613..0e4f0645a 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/LoadSceneMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/LoadSceneMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class LoadSceneMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/LoadSceneMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/LoadSceneMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/LoadSceneMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/LoadSceneMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/MoveObjectMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/MoveObjectMenuItem.cs similarity index 71% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/MoveObjectMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/MoveObjectMenuItem.cs index 54d6997ff..69324ef71 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/MoveObjectMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/MoveObjectMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class MoveObjectMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/MoveObjectMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/MoveObjectMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/MoveObjectMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/MoveObjectMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/PlayResourceAudioMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/PlayResourceAudioMenuItem.cs similarity index 76% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/PlayResourceAudioMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/PlayResourceAudioMenuItem.cs index c3e31e126..21466d103 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/PlayResourceAudioMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/PlayResourceAudioMenuItem.cs @@ -1,8 +1,8 @@ -using VRBuilder.Core.Audio; using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Utils.Audio; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class PlayResourceAudioMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/PlayResourceAudioMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/PlayResourceAudioMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/PlayResourceAudioMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/PlayResourceAudioMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ScalingMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/ScalingMenuItem.cs similarity index 69% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ScalingMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/ScalingMenuItem.cs index e246be4f3..36501f0bb 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ScalingMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/ScalingMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { public class ScalingMenuItem : MenuItem { diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ScalingMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/ScalingMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ScalingMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/ScalingMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/SetParentMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/SetParentMenuItem.cs similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/SetParentMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/SetParentMenuItem.cs index 998336b4a..af4929c64 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/SetParentMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/SetParentMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Conditions +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class SetParentMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/SetParentMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/SetParentMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/SetParentMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/SetParentMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StartParticleEmissionMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/StartParticleEmissionMenuItem.cs similarity index 79% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StartParticleEmissionMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/StartParticleEmissionMenuItem.cs index 16f8de497..bc85b21d6 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StartParticleEmissionMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/StartParticleEmissionMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class StartParticleEmissionMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StartParticleEmissionMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/StartParticleEmissionMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StartParticleEmissionMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/StartParticleEmissionMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StopParticleEmissionMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/StopParticleEmissionMenuItem.cs similarity index 79% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StopParticleEmissionMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/StopParticleEmissionMenuItem.cs index 55b2c04eb..90c30d4b8 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StopParticleEmissionMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/StopParticleEmissionMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Behaviors; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class StopParticleEmissionMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StopParticleEmissionMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/StopParticleEmissionMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/StopParticleEmissionMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/StopParticleEmissionMenuItem.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/MenuItems/TextToSpeechMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Behaviors/TextToSpeechMenuItem.cs similarity index 71% rename from Source/TextToSpeech-Component/Editor/MenuItems/TextToSpeechMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Behaviors/TextToSpeechMenuItem.cs index dfad397f6..bd19e1747 100644 --- a/Source/TextToSpeech-Component/Editor/MenuItems/TextToSpeechMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Behaviors/TextToSpeechMenuItem.cs @@ -1,8 +1,8 @@ -using VRBuilder.Core.Behaviors; -using VRBuilder.TextToSpeech.Audio; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Behaviors; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.TextToSpeech; -namespace VRBuilder.Editor.TextToSpeech.UI.Behaviors +namespace VRBuilder.Core.Editor.UI.MenuItems.Behaviors { /// public class TextToSpeechMenuItem : MenuItem diff --git a/Source/TextToSpeech-Component/Editor/MenuItems/TextToSpeechMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Behaviors/TextToSpeechMenuItem.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/MenuItems/TextToSpeechMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Behaviors/TextToSpeechMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Runtime/Conditions.meta b/Source/Core/Editor/UI/MenuItems/Conditions.meta similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Runtime/Conditions.meta rename to Source/Core/Editor/UI/MenuItems/Conditions.meta index f0f181cd1..3d05c93b7 100644 --- a/Source/Basic-Conditions-And-Behaviors/Runtime/Conditions.meta +++ b/Source/Core/Editor/UI/MenuItems/Conditions.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e31d9cbea2a53b4499dac12191a4a374 +guid: fcd384926f1c9834cbaa31f543047e33 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInColliderMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Conditions/ObjectInColliderMenuItem.cs similarity index 72% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInColliderMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Conditions/ObjectInColliderMenuItem.cs index dbf6f8c26..6ad9d1184 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInColliderMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Conditions/ObjectInColliderMenuItem.cs @@ -1,7 +1,7 @@ -using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Conditions; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Conditions +namespace VRBuilder.Core.Editor.UI.MenuItems.Conditions { /// public class ObjectInColliderMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInColliderMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Conditions/ObjectInColliderMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInColliderMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Conditions/ObjectInColliderMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInRangeMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Conditions/ObjectInRangeMenuItem.cs similarity index 78% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInRangeMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Conditions/ObjectInRangeMenuItem.cs index 0bd66cf43..dd2a29f60 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInRangeMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Conditions/ObjectInRangeMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Conditions +namespace VRBuilder.Core.Editor.UI.MenuItems.Conditions { /// public class ObjectInRangeMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInRangeMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Conditions/ObjectInRangeMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/ObjectInRangeMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Conditions/ObjectInRangeMenuItem.cs.meta diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/TimeoutMenuItem.cs b/Source/Core/Editor/UI/MenuItems/Conditions/TimeoutMenuItem.cs similarity index 77% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/TimeoutMenuItem.cs rename to Source/Core/Editor/UI/MenuItems/Conditions/TimeoutMenuItem.cs index 980c70f80..c0849524a 100644 --- a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/TimeoutMenuItem.cs +++ b/Source/Core/Editor/UI/MenuItems/Conditions/TimeoutMenuItem.cs @@ -1,7 +1,7 @@ using VRBuilder.Core.Conditions; -using VRBuilder.Editor.UI.StepInspector.Menu; +using VRBuilder.Core.Editor.UI.StepInspector.Menu; -namespace VRBuilder.Editor.UI.Conditions +namespace VRBuilder.Core.Editor.UI.MenuItems.Conditions { /// public class TimeoutMenuItem : MenuItem diff --git a/Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/TimeoutMenuItem.cs.meta b/Source/Core/Editor/UI/MenuItems/Conditions/TimeoutMenuItem.cs.meta similarity index 100% rename from Source/Basic-Conditions-And-Behaviors/Editor/UI/MenuItems/TimeoutMenuItem.cs.meta rename to Source/Core/Editor/UI/MenuItems/Conditions/TimeoutMenuItem.cs.meta diff --git a/Source/Core/Editor/UI/ProcessSceneObjectEditor.cs b/Source/Core/Editor/UI/ProcessSceneObjectEditor.cs index 9fa741e78..4a95864a4 100644 --- a/Source/Core/Editor/UI/ProcessSceneObjectEditor.cs +++ b/Source/Core/Editor/UI/ProcessSceneObjectEditor.cs @@ -8,13 +8,14 @@ using UnityEngine; using UnityEngine.UIElements; using VRBuilder.Core.Configuration; +using VRBuilder.Core.Editor.UI.GraphView.Windows; +using VRBuilder.Core.Editor.UI.Views; using VRBuilder.Core.Properties; using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -using VRBuilder.Editor.UI.Windows; using VRBuilder.Unity; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI { /// /// Custom editor for . diff --git a/Source/Core/Editor/UI/ProjectSettings/AdvancedSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/AdvancedSettingsSection.cs index 0182b37f0..22aa8e8e2 100644 --- a/Source/Core/Editor/UI/ProjectSettings/AdvancedSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/AdvancedSettingsSection.cs @@ -3,7 +3,7 @@ using UnityEngine; using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Settings useful to speed up some procedures for advanced users. diff --git a/Source/Core/Editor/UI/ProjectSettings/BaseSettingsProvider.cs b/Source/Core/Editor/UI/ProjectSettings/BaseSettingsProvider.cs index 5b03b0a2e..4522bc314 100644 --- a/Source/Core/Editor/UI/ProjectSettings/BaseSettingsProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/BaseSettingsProvider.cs @@ -1,14 +1,14 @@ -// Copyright (c) 2013-2019 Innoactive GmbH +// Copyright (c) 2013-2019 Innoactive GmbH // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH using System.Collections.Generic; using System.Linq; -using VRBuilder.Core.Utils; using UnityEditor; using UnityEngine; +using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Base Settings provider which allows to inject additional sections which implement . @@ -21,7 +21,7 @@ protected BaseSettingsProvider(string path, SettingsScope scopes, IEnumerable().ToList().ForEach(type => { - IProjectSettingsSection section = (IProjectSettingsSection) ReflectionUtils.CreateInstanceOfType(type); + IProjectSettingsSection section = (IProjectSettingsSection)ReflectionUtils.CreateInstanceOfType(type); if (section.TargetPageProvider == GetType()) { sections.Add(section); @@ -37,17 +37,17 @@ protected BaseSettingsProvider(string path, SettingsScope scopes, IEnumerable - { - GUILayout.Label(section.Title, BuilderEditorStyles.Header); - section.OnGUI(searchContext); - }); - GUILayout.EndVertical(); + sections.ForEach(section => + { + GUILayout.Label(section.Title, BuilderEditorStyles.Header); + section.OnGUI(searchContext); + }); + GUILayout.EndVertical(); GUILayout.EndHorizontal(); } diff --git a/Source/Core/Editor/UI/ProjectSettings/BuilderPageProvider.cs b/Source/Core/Editor/UI/ProjectSettings/BuilderPageProvider.cs index dd91d7e8f..835fb3f6b 100644 --- a/Source/Core/Editor/UI/ProjectSettings/BuilderPageProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/BuilderPageProvider.cs @@ -3,9 +3,8 @@ // Modifications copyright (c) 2021-2024 MindPort GmbH using UnityEditor; -using UnityEngine; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { internal class BuilderPageProvider : BaseSettingsProvider { diff --git a/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsProvider.cs b/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsProvider.cs index e714406f5..0646d5e96 100644 --- a/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsProvider.cs @@ -1,6 +1,6 @@ using UnityEditor; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Settings provider that groups global settings for scene components in separate sections. diff --git a/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsSection.cs index 1b9295f48..a9cbc86fd 100644 --- a/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/ComponentSettingsSection.cs @@ -2,9 +2,9 @@ using System.Reflection; using UnityEditor; using UnityEngine; -using VRBuilder.Core.Runtime.Utils; +using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Settings section holding global settings for a specified scene component. diff --git a/Source/Core/Editor/UI/ProjectSettings/IProjectSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/IProjectSettingsSection.cs index dce5a3d7b..e9837d9a7 100644 --- a/Source/Core/Editor/UI/ProjectSettings/IProjectSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/IProjectSettingsSection.cs @@ -1,10 +1,10 @@ -// Copyright (c) 2013-2019 Innoactive GmbH +// Copyright (c) 2013-2019 Innoactive GmbH // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH using System; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Allows to inject a settings section into a setting provider. diff --git a/Source/Core/Editor/UI/ProjectSettings/InteractionComponentSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/InteractionComponentSettingsSection.cs index 227fd116e..89703177a 100644 --- a/Source/Core/Editor/UI/ProjectSettings/InteractionComponentSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/InteractionComponentSettingsSection.cs @@ -2,9 +2,9 @@ using UnityEditor; using UnityEditor.Compilation; using UnityEngine; -using VRBuilder.Editor.Settings; +using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { internal class InteractionComponentSettingsSection : IProjectSettingsSection { diff --git a/Source/Core/Editor/UI/ProjectSettings/InteractionSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/InteractionSettingsSection.cs index 15a0ed4c0..92c2a25f2 100644 --- a/Source/Core/Editor/UI/ProjectSettings/InteractionSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/InteractionSettingsSection.cs @@ -3,7 +3,7 @@ using UnityEngine; using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Section where the user can set up interaction preferences. diff --git a/Source/Core/Editor/UI/ProjectSettings/LanguageSettingsProvider.cs b/Source/Core/Editor/UI/ProjectSettings/LanguageSettingsProvider.cs index 91ceb2daa..aa7c2660d 100644 --- a/Source/Core/Editor/UI/ProjectSettings/LanguageSettingsProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/LanguageSettingsProvider.cs @@ -7,9 +7,9 @@ using UnityEngine; using UnityEngine.Localization; using UnityEngine.Localization.Settings; -using VRBuilder.Core.Localization; +using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { public class LanguageSettingsProvider : BaseSettingsProvider { diff --git a/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsProvider.cs b/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsProvider.cs index d48358318..1591e42a4 100644 --- a/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsProvider.cs @@ -4,7 +4,7 @@ using UnityEditor; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { internal class LoggingSettingsProvider : BaseSettingsProvider { diff --git a/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsSection.cs index 4f0eb0525..f19a00667 100644 --- a/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/LoggingSettingsSection.cs @@ -7,7 +7,7 @@ using UnityEngine; using VRBuilder.Core.Utils.Logging; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { internal class LoggingSettingsSection : IProjectSettingsSection { diff --git a/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsProvider.cs b/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsProvider.cs index c0409487f..fe5f26bcb 100644 --- a/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsProvider.cs @@ -1,7 +1,7 @@ using UnityEditor; using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Provider for a list of scene object groups. diff --git a/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsSection.cs index 683fe727c..7ebbcb02b 100644 --- a/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/SceneObjectGroupsSettingsSection.cs @@ -7,7 +7,7 @@ using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Settings section to manage groups that scene objects can belong to. diff --git a/Source/Core/Editor/UI/Spectator/SpectatorSettingsProvider.cs b/Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsProvider.cs similarity index 88% rename from Source/Core/Editor/UI/Spectator/SpectatorSettingsProvider.cs rename to Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsProvider.cs index 60365615e..3d72b7c53 100644 --- a/Source/Core/Editor/UI/Spectator/SpectatorSettingsProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsProvider.cs @@ -1,6 +1,6 @@ -using UnityEditor; +using UnityEditor; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { public class SpectatorSettingsProvider : BaseSettingsProvider { diff --git a/Source/Core/Editor/UI/Spectator/SpectatorSettingsProvider.cs.meta b/Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsProvider.cs.meta similarity index 100% rename from Source/Core/Editor/UI/Spectator/SpectatorSettingsProvider.cs.meta rename to Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsProvider.cs.meta diff --git a/Source/Core/Editor/UI/Spectator/SpectatorSettingsSection.cs b/Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsSection.cs similarity index 89% rename from Source/Core/Editor/UI/Spectator/SpectatorSettingsSection.cs rename to Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsSection.cs index f8cfe5e15..d2558dda5 100644 --- a/Source/Core/Editor/UI/Spectator/SpectatorSettingsSection.cs +++ b/Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsSection.cs @@ -1,9 +1,9 @@ -using System; -using VRBuilder.Editor.Input; +using System; using UnityEditor; using UnityEngine; +using VRBuilder.Core.Editor.Input; -namespace VRBuilder.Editor.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { internal class SpectatorSettingsSection : IProjectSettingsSection { diff --git a/Source/Core/Editor/UI/Spectator/SpectatorSettingsSection.cs.meta b/Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsSection.cs.meta similarity index 100% rename from Source/Core/Editor/UI/Spectator/SpectatorSettingsSection.cs.meta rename to Source/Core/Editor/UI/ProjectSettings/SpectatorSettingsSection.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/ProjectSettings/TextToSpeechSectionProvider.cs b/Source/Core/Editor/UI/ProjectSettings/TextToSpeechSectionProvider.cs similarity index 91% rename from Source/TextToSpeech-Component/Editor/ProjectSettings/TextToSpeechSectionProvider.cs rename to Source/Core/Editor/UI/ProjectSettings/TextToSpeechSectionProvider.cs index 9fb0809c4..13e8bf97b 100644 --- a/Source/TextToSpeech-Component/Editor/ProjectSettings/TextToSpeechSectionProvider.cs +++ b/Source/Core/Editor/UI/ProjectSettings/TextToSpeechSectionProvider.cs @@ -1,10 +1,9 @@ using System; using UnityEditor; using UnityEngine; -using VRBuilder.Editor.UI; -using VRBuilder.TextToSpeech; +using VRBuilder.Core.TextToSpeech; -namespace VRBuilder.Editor.TextToSpeech.UI.ProjectSettings +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// Provides text to speech settings. @@ -44,4 +43,4 @@ public void OnGUI(string searchContext) } } } -} \ No newline at end of file +} diff --git a/Source/TextToSpeech-Component/Editor/ProjectSettings/TextToSpeechSectionProvider.cs.meta b/Source/Core/Editor/UI/ProjectSettings/TextToSpeechSectionProvider.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/ProjectSettings/TextToSpeechSectionProvider.cs.meta rename to Source/Core/Editor/UI/ProjectSettings/TextToSpeechSectionProvider.cs.meta diff --git a/Source/TextToSpeech-Component/Editor/TextToSpeechSettingsEditor.cs b/Source/Core/Editor/UI/ProjectSettings/TextToSpeechSettingsEditor.cs similarity index 92% rename from Source/TextToSpeech-Component/Editor/TextToSpeechSettingsEditor.cs rename to Source/Core/Editor/UI/ProjectSettings/TextToSpeechSettingsEditor.cs index 59ee8662a..e019a6abb 100644 --- a/Source/TextToSpeech-Component/Editor/TextToSpeechSettingsEditor.cs +++ b/Source/Core/Editor/UI/ProjectSettings/TextToSpeechSettingsEditor.cs @@ -1,17 +1,18 @@ -using System; +using System; using System.IO; using System.Linq; using UnityEditor; using UnityEngine; -using VRBuilder.Core; -using VRBuilder.Core.Utils; -using VRBuilder.TextToSpeech; -using VRBuilder.Core.Localization; using UnityEngine.Localization.Settings; -using Source.TextToSpeech_Component.Runtime; -using VRBuilder.Editor.UI; +using VRBuilder.Core.Editor.TextToSpeech.Providers; +using VRBuilder.Core.Editor.TextToSpeech.Utils; +using VRBuilder.Core.Settings; +using VRBuilder.Core.TextToSpeech; +using VRBuilder.Core.TextToSpeech.Configuration; +using VRBuilder.Core.TextToSpeech.Providers; +using VRBuilder.Core.Utils; -namespace VRBuilder.Editor.TextToSpeech.UI +namespace VRBuilder.Core.Editor.UI.ProjectSettings { /// /// This class draws list of in and other properties for text to speech settings. @@ -21,22 +22,22 @@ namespace VRBuilder.Editor.TextToSpeech.UI public class TextToSpeechSettingsEditor : UnityEditor.Editor { private TextToSpeechSettings textToSpeechSettings; - + private string[] providers = { "Empty" }; private string cacheDirectoryName = "TextToSpeech"; - + private ITextToSpeechProvider currentElement; private ITextToSpeechConfiguration currentElementSettings; - + private string lastSelectedCacheDirectory = ""; private int providersIndex = 0; private int lastProviderSelectedIndex = 0; - + /// public override void OnInspectorGUI() { EditorGUI.BeginChangeCheck(); - + providersIndex = EditorGUILayout.Popup("Provider", providersIndex, providers); lastSelectedCacheDirectory = EditorGUILayout.TextField("Streaming Asset Cache Directory Name", lastSelectedCacheDirectory); @@ -45,25 +46,25 @@ public override void OnInspectorGUI() cacheDirectoryName = lastSelectedCacheDirectory; textToSpeechSettings.StreamingAssetCacheDirectoryName = lastSelectedCacheDirectory; } - + //check if a new provider is selected if (providersIndex != lastProviderSelectedIndex) { lastProviderSelectedIndex = providersIndex; - + GetProviderInstance(); //save new config textToSpeechSettings.Provider = providers[providersIndex]; textToSpeechSettings.Configuration = currentElementSettings; - + textToSpeechSettings.Save(); } - + //check selected element is if (currentElementSettings is ScriptableObject scriptableObject) { GUILayout.Space(8); - + var customHeader = BuilderEditorStyles.Header; customHeader.fixedHeight = 25f; EditorGUILayout.LabelField("Provider specific settings", customHeader); @@ -71,7 +72,7 @@ public override void OnInspectorGUI() GUILayout.Label("Configuration for your Text to Speech provider.", BuilderEditorStyles.ApplyPadding(BuilderEditorStyles.Label, 0)); UnityEditor.Editor.CreateEditor(scriptableObject).OnInspectorGUI(); } - + IProcess currentProcess = GlobalEditorHandler.GetCurrentProcess(); GUILayout.Space(EditorGUIUtility.standardVerticalSpacing); @@ -82,7 +83,7 @@ public override void OnInspectorGUI() } GUILayout.Space(EditorGUIUtility.standardVerticalSpacing); - + string tooltip = LocalizationSettings.HasSettings ? GetAvailableLocales() : string.Empty; if (GUILayout.Button(new GUIContent("Generate all TTS files for all Available Locales", $"Available Locales: {tooltip}"))) { @@ -101,16 +102,16 @@ public override void OnInspectorGUI() if (AssetDatabase.DeleteAsset(directory)) { - Debug.Log("TTS cache flushed."); + UnityEngine.Debug.Log("TTS cache flushed."); } else { - Debug.Log("No TTS cache to flush."); + UnityEngine.Debug.Log("No TTS cache to flush."); } } } } - + private void OnEnable() { textToSpeechSettings = (TextToSpeechSettings)target; @@ -119,10 +120,10 @@ private void OnEnable() providers = ReflectionUtils.GetConcreteImplementationsOf().ToList().Where(type => type != typeof(FileTextToSpeechProvider)).Select(type => type.Name).ToArray(); lastProviderSelectedIndex = providersIndex = string.IsNullOrEmpty(textToSpeechSettings.Provider) ? Array.IndexOf(providers, nameof(MicrosoftSapiTextToSpeechProvider)) : Array.IndexOf(providers, textToSpeechSettings.Provider); textToSpeechSettings.Provider = providers[providersIndex]; - + GetProviderInstance(); } - + private void GetProviderInstance() { var currentProviderType = ReflectionUtils.GetConcreteImplementationsOf().FirstOrDefault(type => type.Name == providers[providersIndex]); @@ -132,7 +133,7 @@ private void GetProviderInstance() currentElementSettings = currentElement.LoadConfig(); } } - + private string GetAvailableLocales() { string availableLOcalesString = ""; @@ -143,4 +144,4 @@ private string GetAvailableLocales() return availableLOcalesString; } } -} \ No newline at end of file +} diff --git a/Source/TextToSpeech-Component/Editor/TextToSpeechSettingsEditor.cs.meta b/Source/Core/Editor/UI/ProjectSettings/TextToSpeechSettingsEditor.cs.meta similarity index 100% rename from Source/TextToSpeech-Component/Editor/TextToSpeechSettingsEditor.cs.meta rename to Source/Core/Editor/UI/ProjectSettings/TextToSpeechSettingsEditor.cs.meta diff --git a/Source/Core/Editor/UI/Spectator.meta b/Source/Core/Editor/UI/Spectator.meta deleted file mode 100644 index 8cf04f881..000000000 --- a/Source/Core/Editor/UI/Spectator.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 966fb0822ff57854da1336b5fa99f9c2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Source/Core/Editor/UI/StepInspector/Menu/DisabledMenuItem.cs b/Source/Core/Editor/UI/StepInspector/Menu/DisabledMenuItem.cs index 2b5b4f931..2bd388792 100644 --- a/Source/Core/Editor/UI/StepInspector/Menu/DisabledMenuItem.cs +++ b/Source/Core/Editor/UI/StepInspector/Menu/DisabledMenuItem.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -namespace VRBuilder.Editor.UI.StepInspector.Menu +namespace VRBuilder.Core.Editor.UI.StepInspector.Menu { /// /// The Step Inspector populates "Add Behavior" and "Add Condition" buttons' dropdown menus with implementations of this class. diff --git a/Source/Core/Editor/UI/StepInspector/Menu/IInternalTypeProvider.cs b/Source/Core/Editor/UI/StepInspector/Menu/IInternalTypeProvider.cs index c344fe625..c5945cdba 100644 --- a/Source/Core/Editor/UI/StepInspector/Menu/IInternalTypeProvider.cs +++ b/Source/Core/Editor/UI/StepInspector/Menu/IInternalTypeProvider.cs @@ -4,7 +4,7 @@ using System; -namespace VRBuilder.Editor.UI.StepInspector.Menu +namespace VRBuilder.Core.Editor.UI.StepInspector.Menu { /// /// This is a helper for generic typed class to be able to get the internal items type. diff --git a/Source/Core/Editor/UI/StepInspector/Menu/MenuItem.cs b/Source/Core/Editor/UI/StepInspector/Menu/MenuItem.cs index 5a62fb8b0..7fc2e8705 100644 --- a/Source/Core/Editor/UI/StepInspector/Menu/MenuItem.cs +++ b/Source/Core/Editor/UI/StepInspector/Menu/MenuItem.cs @@ -4,7 +4,7 @@ using System; -namespace VRBuilder.Editor.UI.StepInspector.Menu +namespace VRBuilder.Core.Editor.UI.StepInspector.Menu { /// /// The Step Inspector populates "Add Behavior" and "Add Condition" buttons' dropdown menus with implementations of this class. diff --git a/Source/Core/Editor/UI/StepInspector/Menu/MenuOption.cs b/Source/Core/Editor/UI/StepInspector/Menu/MenuOption.cs index b1848084a..0dead041f 100644 --- a/Source/Core/Editor/UI/StepInspector/Menu/MenuOption.cs +++ b/Source/Core/Editor/UI/StepInspector/Menu/MenuOption.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -namespace VRBuilder.Editor.UI.StepInspector.Menu +namespace VRBuilder.Core.Editor.UI.StepInspector.Menu { /// /// A base class for options displayed in the "Add Behavior" and "Add Condition" buttons' dropdown menus. diff --git a/Source/Core/Editor/UI/StepInspector/Menu/MenuSeparator.cs b/Source/Core/Editor/UI/StepInspector/Menu/MenuSeparator.cs index c2c97c733..afad2be20 100644 --- a/Source/Core/Editor/UI/StepInspector/Menu/MenuSeparator.cs +++ b/Source/Core/Editor/UI/StepInspector/Menu/MenuSeparator.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH -namespace VRBuilder.Editor.UI.StepInspector.Menu +namespace VRBuilder.Core.Editor.UI.StepInspector.Menu { /// /// This class adds a separator in the "Add Behavior"/"Add Condition" dropdown menus. diff --git a/Source/Core/Editor/UI/Tabs/DynamicTab.cs b/Source/Core/Editor/UI/Tabs/DynamicTab.cs index e5e610726..f55588efd 100644 --- a/Source/Core/Editor/UI/Tabs/DynamicTab.cs +++ b/Source/Core/Editor/UI/Tabs/DynamicTab.cs @@ -5,7 +5,7 @@ using System; using UnityEngine; -namespace VRBuilder.Editor.Tabs +namespace VRBuilder.Core.Editor.Tabs { /// /// This implementation defines and implementation with delegates through the constructor. diff --git a/Source/Core/Editor/UI/Tabs/GlobalTabsGroup.cs b/Source/Core/Editor/UI/Tabs/GlobalTabsGroup.cs index f5bd1b87c..22f8be894 100644 --- a/Source/Core/Editor/UI/Tabs/GlobalTabsGroup.cs +++ b/Source/Core/Editor/UI/Tabs/GlobalTabsGroup.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Runtime.Serialization; -namespace VRBuilder.Editor.Tabs +namespace VRBuilder.Core.Editor.Tabs { /// /// Tabs group which has the selected tab passed externally. diff --git a/Source/Core/Editor/UI/Tabs/ITab.cs b/Source/Core/Editor/UI/Tabs/ITab.cs index c13d97e3b..d0958af0d 100644 --- a/Source/Core/Editor/UI/Tabs/ITab.cs +++ b/Source/Core/Editor/UI/Tabs/ITab.cs @@ -4,7 +4,7 @@ using UnityEngine; -namespace VRBuilder.Editor.Tabs +namespace VRBuilder.Core.Editor.Tabs { /// /// A tab in the diff --git a/Source/Core/Editor/UI/Tabs/ITabsGroup.cs b/Source/Core/Editor/UI/Tabs/ITabsGroup.cs index 485663043..13018c79c 100644 --- a/Source/Core/Editor/UI/Tabs/ITabsGroup.cs +++ b/Source/Core/Editor/UI/Tabs/ITabsGroup.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; -namespace VRBuilder.Editor.Tabs +namespace VRBuilder.Core.Editor.Tabs { /// /// Draws a view with multiple tabs. diff --git a/Source/Core/Editor/UI/Tabs/LockablePropertyTab.cs b/Source/Core/Editor/UI/Tabs/LockablePropertyTab.cs index 1cc187684..9c817580d 100644 --- a/Source/Core/Editor/UI/Tabs/LockablePropertyTab.cs +++ b/Source/Core/Editor/UI/Tabs/LockablePropertyTab.cs @@ -1,4 +1,4 @@ -// Copyright (c) 2013-2019 Innoactive GmbH +// Copyright (c) 2013-2019 Innoactive GmbH // Licensed under the Apache License, Version 2.0 // Modifications copyright (c) 2021-2024 MindPort GmbH @@ -6,7 +6,7 @@ using VRBuilder.Core; using UnityEngine; -namespace VRBuilder.Editor.Tabs +namespace VRBuilder.Core.Editor.Tabs { internal class LockablePropertyTab : ITab { diff --git a/Source/Core/Editor/UI/Tabs/TabsGroup.cs b/Source/Core/Editor/UI/Tabs/TabsGroup.cs index 6555a6326..9a8f3f7b9 100644 --- a/Source/Core/Editor/UI/Tabs/TabsGroup.cs +++ b/Source/Core/Editor/UI/Tabs/TabsGroup.cs @@ -7,7 +7,7 @@ using System.Runtime.Serialization; using VRBuilder.Core; -namespace VRBuilder.Editor.Tabs +namespace VRBuilder.Core.Editor.Tabs { /// /// Tabs group which stores the selected tab in the parent object metadata. diff --git a/Source/Core/Editor/UI/TestableEditorElements.cs b/Source/Core/Editor/UI/TestableEditorElements.cs index 5cfb54d50..3a269baa0 100644 --- a/Source/Core/Editor/UI/TestableEditorElements.cs +++ b/Source/Core/Editor/UI/TestableEditorElements.cs @@ -9,7 +9,7 @@ using UnityEditor; using UnityEngine; -namespace VRBuilder.Editor +namespace VRBuilder.Core.Editor { public static class TestableEditorElements { diff --git a/Source/Core/Editor/UI/Views/GroupListItem.cs b/Source/Core/Editor/UI/Views/GroupListItem.cs index 3cf5bca13..936f535b3 100644 --- a/Source/Core/Editor/UI/Views/GroupListItem.cs +++ b/Source/Core/Editor/UI/Views/GroupListItem.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; using System.Linq; using UnityEngine; @@ -6,56 +5,59 @@ using VRBuilder.Core.SceneObjects; using VRBuilder.Core.Settings; -/// -/// Helper to fill a GroupListItem.uxml UI item. -/// -public class GroupListItem +namespace VRBuilder.Core.Editor.UI.Views { /// - /// String to display when the group count is not available. + /// Helper to fill a GroupListItem.uxml UI item. /// - public const string GroupCountNotAvailableText = "n/a"; - - /// - /// Fills a GroupListItem.xml View with the data from data. - /// - /// The VisualElement representing the group list item. - /// The name of the Group or Gamobject containing Process Scene Object. - /// A flag indicating whether should be display instead of . - /// The count of s in the group. Default value is -1. - /// A flag indicating whether the element represents a unique and not a . Default value is false. - public static void FillGroupListItem(VisualElement groupListItem, string name, bool isPreviewInContext = false, IEnumerable referencedSceneObjects = null, bool elementIsUniqueIdDisplayName = false) + public class GroupListItem { - Label groupReferenceCountLabel = groupListItem.Q