public void handleTouchpad_Play(ButtonStage buttonStage, Vector2 axis) { TouchpadDirection touchpadDirection = ViveSR_Experience_ControllerDelegate.GetTouchpadDirection(axis, false); switch (buttonStage) { case ButtonStage.PressDown: switch (touchpadDirection) { case TouchpadDirection.Up: this.DelayOneFrame(() => { if (isOn) { StaticMeshScript.ClearHintLocators(); PortalScript.PortalManager.gameObject.SetActive(true); ViveSR_DualCameraRig.Instance.VirtualCamera.cullingMask &= ~(1 << LayerMask.NameToLayer("UI")); PortalScript.PortalManager.TurnOnCamera(); portalCamerasEnabledEvent.Invoke(); Transform controller_fwd = PlayerHandUILaserPointer.LaserPointer.gameObject.transform; npcGenerator.Play(controller_fwd.position + controller_fwd.forward * 8, controller_fwd.forward, MR_Chairs); } }); break; } break; } }
void GenerateNPC() { if (MR_Chairs.Count <= 0) { return; } HintText.text = ""; Vector3 lineStartPos = RaycastStartPoint.transform.position; Vector3 spawnFwd = RaycastStartPoint.transform.forward; Vector3 spawnPos = lineStartPos + spawnFwd * 8; npcGenerator.Play(spawnPos, RaycastStartPoint.transform.forward, MR_Chairs); }