void OnClick() { Debug.Log(string.Format("{0} is clicked", m_ButtonType)); VRDemoManipulator manipulator = VRDemoManipulator.GetInstance(); GameObject player = manipulator.Player; GameObject camera = manipulator.Camera; if (!player) { return; } Vector3 desPos = Vector3.zero; switch (m_ButtonType) { case ResourceUtilities.BUTTONTYPE.FORWARD: desPos = player.transform.position + camera.transform.forward * manipulator.moveStep; break; case ResourceUtilities.BUTTONTYPE.BACKWARD: desPos = player.transform.position + -camera.transform.forward * manipulator.moveStep; break; case ResourceUtilities.BUTTONTYPE.LEFT: desPos = player.transform.position + -camera.transform.right * manipulator.moveStep; break; case ResourceUtilities.BUTTONTYPE.RIGHT: desPos = player.transform.position + camera.transform.right * manipulator.moveStep; break; case ResourceUtilities.BUTTONTYPE.RESET: desPos = manipulator.oriPos; break; default: break; } if (moveTweener != null && moveTweener.IsPlaying()) { moveTweener.Kill(); } //Only move in plane. desPos.y = manipulator.oriPos.y; moveTweener = player.transform.DOMove(desPos, manipulator.AnimationTime).SetEase(Ease.OutExpo); }
void SetCamerasCullingMask() { VRDemoManipulator manipulator = VRDemoManipulator.GetInstance(); if (manipulator) { if (manipulator.Camera) { Camera[] cameras = manipulator.Camera.GetComponentsInChildren <Camera>(); for (int i = 0; i < cameras.Length; i++) { if (i == 0) { cameras[i].cullingMask = ~(1 << LayerMask.NameToLayer("Left")); } else { cameras[i].cullingMask = ~(1 << LayerMask.NameToLayer("Right")); } } } } }
/// <summary> /// Awake is called when the script instance is being loaded. /// </summary> void Awake() { if (m_CtrlPanel) { m_CtrlPanel.enabled = false; m_CanvasGroup = m_CtrlPanel.GetComponent <CanvasGroup>(); if (m_CanvasGroup) { m_CanvasGroup.alpha = 0; } else { Debug.LogError("VRDemoManipulator Awake canvasGroup is null."); } } if (m_Player) { oriPos = m_Player.transform.position; } s_Instance = this; }