private void Awake() { _inputSystem = FindObjectOfType <MixedRealityToolkit>().GetService <MixedRealityInputSystem>(); _virtualCity = FindObjectOfType <VirtualCity>(); var ooi = GetComponent <OOI>(); if (ooi) { Destroy(ooi); } Destroy(GetComponent <AugmentixTransformView>()); Destroy(GetComponent <PhotonView>()); _manipulator = gameObject.AddComponent <ObjectManipulator>(); _manipulator.ReleaseBehavior = 0; gameObject.AddComponent <NearInteractionGrabbable>(); gameObject.AddComponent <MinMaxScaleConstraint>(); _manipulator.OnManipulationStarted.AddListener(OnManipulation); _manipulator.OnManipulationEnded.AddListener(data => { GetComponent <Rigidbody>().velocity = Vector3.zero; GetComponent <Rigidbody>().angularVelocity = Vector3.zero; }); }
public void TestDataProviderRegistration() { TestUtilities.InitializeMixedRealityToolkitAndCreateScenes(); MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile = AssetDatabase.LoadAssetAtPath <MixedRealityInputSystemProfile>(TestInputSystemProfilePath); var inputSystem = new MixedRealityInputSystem(MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile); Assert.IsTrue(MixedRealityToolkit.Instance.RegisterService <IMixedRealityInputSystem>(inputSystem)); // Since EditMode, we have to auto-enable MRTK input system ourselves MixedRealityToolkit.Instance.EnableAllServicesByType(typeof(IMixedRealityInputSystem)); Assert.AreEqual(1, MixedRealityServiceRegistry.GetAllServices().Count); Assert.IsNotNull(MixedRealityToolkit.Instance.GetService <IMixedRealityInputSystem>()); var dataProviderAccess = (inputSystem as IMixedRealityDataProviderAccess); Assert.IsNotNull(dataProviderAccess); var dataProvider = dataProviderAccess.GetDataProvider <TestInputDataProvider>(); Assert.IsNotNull(dataProvider); Assert.IsTrue(dataProvider.IsInitialized); Assert.IsTrue(dataProvider.IsEnabled); inputSystem.Disable(); Assert.IsFalse(dataProvider.IsEnabled); inputSystem.Enable(); // We still have reference to old dataProvider, check still disabled Assert.IsFalse(dataProvider.IsEnabled); // dataProvider has been unregistered in Disable and new one created by Enable. dataProvider = dataProviderAccess.GetDataProvider <TestInputDataProvider>(); Assert.IsNotNull(dataProvider); Assert.IsTrue(dataProvider.IsEnabled); inputSystem.Reset(); LogAssert.Expect(LogType.Log, "TestDataProvider Reset"); Assert.IsFalse(dataProvider.IsEnabled); // dataProvider has been unregistered and newly created in Reset dataProvider = dataProviderAccess.GetDataProvider <TestInputDataProvider>(); Assert.IsNotNull(dataProvider); Assert.IsTrue(dataProvider.IsInitialized); Assert.IsTrue(dataProvider.IsEnabled); }
public void TestEmptyDataProvider() { TestUtilities.InitializeMixedRealityToolkitAndCreateScenes(); MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile = AssetDatabase.LoadAssetAtPath <MixedRealityInputSystemProfile>(TestEmptyInputSystemProfilePath); var inputSystem = new MixedRealityInputSystem(MixedRealityToolkit.Instance.ActiveProfile.InputSystemProfile); Assert.IsTrue(MixedRealityToolkit.Instance.RegisterService <IMixedRealityInputSystem>(inputSystem)); // Since EditMode, we have to auto-enable MRTK input system ourselves MixedRealityToolkit.Instance.EnableAllServicesByType(typeof(IMixedRealityInputSystem)); var dataProviderAccess = (inputSystem as IMixedRealityDataProviderAccess); // Tests Assert.IsNotNull(dataProviderAccess); Assert.IsEmpty(dataProviderAccess.GetDataProviders()); }