void Scan() { bool allowScan = !ViveSR_RigidReconstruction.IsScanning && !ViveSR_RigidReconstruction.IsExportingMesh && !StaticMeshScript.ModelIsLoading; if (!allowScan) { return; } SwitchMeshDisplayMode(0); dartGeneratorMgr.DestroyObjs(); if (StaticMeshScript.CheckModelLoaded()) { StaticMeshScript.LoadMesh(false); LoadText.color = BrightColor; } GripCanvas.SetActive(false); TriggerCanvas.SetActive(false); HintText.text = ""; RigidReconstruction.SRWork_Rigid_Reconstruciton.RegisterDataErrorHandler((int)Error.GPU_MEMORY_FULL, GPUMemoryFull); StaticMeshScript.EnableDepthProcessingAndScanning(true); LoadText.color = OriginalColor; ScanText.color = OriginalColor; SaveText.color = BrightColor; StopText.color = BrightColor; }
void Scan() { bool allowScan = !ViveSR_RigidReconstruction.IsScanning && !ViveSR_RigidReconstruction.IsExportingMesh && !StaticMeshScript.ModelIsLoading; if (!allowScan) { return; } dartGeneratorMgr.DestroyObjs(); TileSpawnerScript.ClearTiles(); if (StaticMeshScript.texturedMesh != null) { StaticMeshScript.LoadMesh(false); LoadText.color = BrightColor; } GripCanvas.SetActive(false); TriggerCanvas.SetActive(false); HintText.text = ""; ViveSR_Experience_ControllerDelegate.gripDelegate -= HandleGrip_SwitchMode; RigidReconstruction.SRWork_Rigid_Reconstruciton.RegisterDataErrorHandler((int)Error.GPU_MEMORY_FULL, GPUMemoryFull); StaticMeshScript.EnableDepthProcessingAndScanning(true); LoadText.color = OriginalColor; ScanText.color = OriginalColor; SaveText.color = BrightColor; StopText.color = BrightColor; }
public override void ExecuteToDo() { DualCameraDisplayMode targetMode = isOn ? DualCameraDisplayMode.VIRTUAL : DualCameraDisplayMode.MIX; StaticMeshScript.SwitchModeScript.SwithMode(targetMode); if (isOn) { ViveSR_Experience_Demo.instance.SubButtonScripts[SubMenuButton.EnableMesh_Dynamic].ForceExcute(false); ViveSR_Experience_Demo.instance.SubButtonScripts[SubMenuButton.EnableMesh_StaticMR].ForceExcute(false); StaticMeshScript.LoadMesh(true, true, () => { ViveSR_Experience_Demo.instance.Rotator.RenderButtons(false); SubMenu.RenderSubBtns(false); disabled = true; ViveSR_Experience_HintMessage.instance.SetHintMessage(hintType.onHeadSet, "[Enable Mesh]\nLoading...", false); }, () => { ViveSR_Experience_Demo.instance.Rotator.RenderButtons(true); SubMenu.RenderSubBtns(true); disabled = false; ViveSR_Experience_HintMessage.instance.SetHintMessage(hintType.onController, "", false); ViveSR_Experience_HintMessage.instance.SetHintMessage(hintType.onHeadSet, "Mesh Loaded!", true, 1f); dartGeneratorMgr_static.gameObject.SetActive(true); ViveSR_Experience_ControllerDelegate.triggerDelegate += HandleTrigger; }); } else { StaticMeshScript.LoadMesh(false); dartGeneratorMgr_static.gameObject.SetActive(false); ViveSR_Experience_ControllerDelegate.triggerDelegate -= HandleTrigger; dartGeneratorMgr_static.DestroyObjs(); } }
public override void ActionToDo() { ViveSR_Experience_Demo.instance.bg.SetActive(isOn); ViveSR_Experience_Demo.instance.realWorldFloor.SetActive(isOn); PortalScript.SetPortal(isOn); if (isOn) { ViveSR_Experience_ControllerDelegate.triggerDelegate += HandleTrigger; ViveSR_Experience_ControllerDelegate.touchpadDelegate += HandleTouchpad; } else { ViveSR_Experience_ControllerDelegate.triggerDelegate -= HandleTrigger; ViveSR_Experience_ControllerDelegate.touchpadDelegate -= HandleTouchpad; dartGeneratorMgr.DestroyObjs(); } }
public override void ExecuteToDo() { if (isOn) { ViveSR_Experience_Demo.instance.SubButtonScripts[SubMenuButton.EnableMesh_StaticMR].ForceExcute(false); ViveSR_Experience_Demo.instance.SubButtonScripts[SubMenuButton.EnableMesh_StaticVR].ForceExcute(false); ViveSR_Experience_ControllerDelegate.triggerDelegate += HandleTrigger; ViveSR_Experience_ControllerDelegate.gripDelegate += HandleGrip; } else { ViveSR_Experience_ControllerDelegate.triggerDelegate -= HandleTrigger; ViveSR_Experience_ControllerDelegate.gripDelegate -= HandleGrip; dartGeneratorMgr_dynamic.DestroyObjs(); } dartGeneratorMgr_dynamic.gameObject.SetActive(isOn); DynamicMeshScript.SetDynamicMesh(isOn); }
public override void ExecuteToDo() { if (isOn) { ViveSR_Experience_Demo.instance.SubButtonScripts[SubMenuButton.EnableMesh_Dynamic].ForceExcute(false); ViveSR_Experience_Demo.instance.SubButtonScripts[SubMenuButton.EnableMesh_StaticVR].ForceExcute(false); StaticMeshScript.LoadMesh(true, false, () => { ViveSR_Experience_Demo.instance.Rotator.RenderButtons(false); SubMenu.RenderSubBtns(false); disabled = true; ViveSR_Experience_HintMessage.instance.SetHintMessage(hintType.onHeadSet, "[Enable Mesh]\nLoading...", false); }, () => { ViveSR_Experience_Demo.instance.Rotator.RenderButtons(true); SubMenu.RenderSubBtns(true); disabled = false; ViveSR_Experience_HintMessage.instance.SetHintMessage(hintType.onController, "", false); ViveSR_Experience_HintMessage.instance.SetHintMessage(hintType.onHeadSet, "Mesh Loaded!", true); dartGeneratorMgr_static.gameObject.SetActive(true); ViveSR_Experience_ControllerDelegate.triggerDelegate += HandleTrigger; ViveSR_Experience_ControllerDelegate.gripDelegate += HandleGrip; } ); } else { StaticMeshScript.SwitchShowCollider(ShowMode.None); StaticMeshScript.LoadMesh(false); dartGeneratorMgr_static.gameObject.SetActive(false); ViveSR_Experience_ControllerDelegate.triggerDelegate -= HandleTrigger; ViveSR_Experience_ControllerDelegate.gripDelegate -= HandleGrip; dartGeneratorMgr_static.DestroyObjs(); } }
void HandleTouchpad_SwitchDart(ButtonStage buttonStage, Vector2 axis) { if (!enabled) { return; } touchpadDirection_prev = touchpadDirection; touchpadDirection = ViveSR_Experience_ControllerDelegate.GetTouchpadDirection(axis, true); #region VIVEPro if (ViveSR_Experience.instance.CurrentDevice == DeviceType.Vive) { switch (buttonStage) { case ButtonStage.PressDown: switch (touchpadDirection) { case TouchpadDirection.Right: SwitchDart(true); break; case TouchpadDirection.Left: SwitchDart(false); break; case TouchpadDirection.Up: if (allowDefaultSwitchPlacementMode) { dartGeneratorMgr.SwitchPlacementMode(); } ViveSR_Experience_ControllerDelegate.touchpadDelegate -= HandleTouchpad_SwitchDart; break; case TouchpadDirection.Down: if (allowDefaultClear) { dartGeneratorMgr.DestroyObjs(); } break; } break; } } #endregion #region VIVET2 else if (ViveSR_Experience.instance.CurrentDevice == DeviceType.ViveT2) { switch (buttonStage) { case ButtonStage.PressDown: switch (touchpadDirection) { case TouchpadDirection.Right: SwitchDart(true); break; case TouchpadDirection.Left: SwitchDart(false); break; case TouchpadDirection.Up: if (allowDefaultSwitchPlacementMode) { dartGeneratorMgr.SwitchPlacementMode(); } ViveSR_Experience_ControllerDelegate.touchpadDelegate -= HandleTouchpad_SwitchDart; break; case TouchpadDirection.Down: if (allowDefaultClear) { dartGeneratorMgr.DestroyObjs(); } break; } break; } if (touchpadDirection_prev != touchpadDirection) { switch (touchpadDirection) { case TouchpadDirection.Right: SwitchDart(true); break; case TouchpadDirection.Left: SwitchDart(false); break; case TouchpadDirection.Up: if (allowDefaultSwitchPlacementMode) { dartGeneratorMgr.SwitchPlacementMode(); } ViveSR_Experience_ControllerDelegate.touchpadDelegate -= HandleTouchpad_SwitchDart; break; case TouchpadDirection.Down: if (allowDefaultClear) { dartGeneratorMgr.DestroyObjs(); } break; } } } #endregion }