//通过文件夹路径获取文件夹名 public static bool GetNameByFolderPath(string folderPath, out string folderName) { folderName = ""; if (folderPath == null || folderPath.Length == 0) { return(false); } char c = folderPath[folderPath.Length - 1]; if (c == '\\' || c == '/') { folderPath = folderPath.Substring(0, folderPath.Length - 1); } int i = folderPath.LastIndexOf("\\"); int i1 = folderPath.LastIndexOf("/"); int index = PreDefScrp.GetMax <int>(i, i1); if (index < 0) { Debug.Log("路径错误"); return(false); } folderName = folderPath.Substring(index + 1); return(true); }
bool IsShowWarning;//是否显示警告 void Awake() { SpaceTime = 0.3f; BtnClickGO = null; CurGO = null; LClickTime = 0; RClickTime = 0; LDragTime = -1; RDragTime = -1; LBtnClickCount = 0; RBtnClickCount = 0; LStartX = 0; LEndX = 0; LStartY = 0; LEndY = 0; RStartX = 0; REndX = 0; RStartY = 0; REndY = 0; LastRoll = 0; DoubleFingerDis = 0; MinScreenSide = PreDefScrp.GetMin(Screen.width, Screen.height); CurInputMode = InputMode.Default; CurFingerMode = 0; TouchTime = 0; Input.multiTouchEnabled = true; IsShowWarning = false; }
//通过文件路径获取文件名,后缀 public static bool GetNameByFilePath(string fullFilePath, out string fileName) { fileName = ""; if (fullFilePath == null || fullFilePath.Length == 0) { return(false); } int i = fullFilePath.LastIndexOf("\\"); int i1 = fullFilePath.LastIndexOf("/"); int index = PreDefScrp.GetMax <int>(i, i1); if (index < 0) { Debug.Log("路径错误"); return(false); } fileName = fullFilePath.Substring(index + 1);//文件名包括后缀 index = fileName.LastIndexOf("."); if (index >= 0) { fileName = fileName.Substring(0, index);//去掉后缀 } return(true); }
void ResetUIDir() { Vector3 dir = Vector3.zero; Quaternion qua = Quaternion.identity; if (CurJVideoInfo.stereoType == (int)StereoType.ST2D || CurJVideoInfo.stereoType == (int)StereoType.ST3D_LR || CurJVideoInfo.stereoType == (int)StereoType.ST3D_TB) { dir = PlayerGameobjectControl.Instance.QuadScreen.transform.parent.forward; qua = PlayerGameobjectControl.Instance.QuadScreen.transform.parent.rotation; } else if (CurJVideoInfo.stereoType == (int)StereoType.ST180_2D || CurJVideoInfo.stereoType == (int)StereoType.ST180_LR || CurJVideoInfo.stereoType == (int)StereoType.ST180_TB || CurJVideoInfo.stereoType == (int)StereoType.ST360_2D || CurJVideoInfo.stereoType == (int)StereoType.ST360_LR || CurJVideoInfo.stereoType == (int)StereoType.ST360_TB) { dir = Camera.main.transform.forward; qua = Camera.main.transform.rotation; } Cinema.CinemaUI.transform.forward = dir; Vector3 valueDir = Vector3.Cross(Vector3.forward, dir); float valueAngle = Vector3.Angle(Vector3.forward, dir); Vector3 cToUVector = PreDefScrp.RotateAroundAxis(Cinema.CameraToUIPositionVector, valueDir, valueAngle); Cinema.CinemaUI.transform.position = Camera.main.transform.position + cToUVector; Cinema.CinemaUI.transform.rotation = qua; Debug.Log("ResetUIDir"); }
void ValueChanged(float f) { if (IsVoluntary) { IsVoluntary = false; return; } if (SliderCheckStatusCallback != null) { SliderCheckStatusCallback(true); } long times = (long)(f * TotalTime); if (SeekToTimeCallback != null) { SeekToTimeCallback(times); } int seconds = (int)(times / 1000); CurrentTimeText.text = PreDefScrp.SecondsToHMS(seconds); Statistics.GetInstance().OnEvent(MediaCenterEvent.ClickOnTimeline, "点击进度条"); }
public void SetTotalTime(long totalTime) { LogTool.Log("设置总时间:" + totalTime); TotalTime = totalTime; int seconds = (int)(totalTime / 1000); TotalTimeText.text = PreDefScrp.SecondsToHMS(seconds); }
/* * 修改:因为unity中绕某一轴(例如X轴,X轴指向自己)顺时针旋转为正角度,逆时针旋转为负角度, * 所以改为verticalV = Vector3.Cross(axis, projV).normalized * 其中要指出的是Vector3.Cross(a, b)相当于百度百科中叉乘的bxa */ //向量绕着某个平面的法线旋转角度 axis可以看作某个平面的法线 public static Vector3 RotateAroundAxis(Vector3 v, Vector3 axis, float angle) { Vector3 projV = PreDefScrp.ComputeProjection(axis, v); //投影向量 Vector3 verticalV = Vector3.Cross(axis, projV).normalized; //新得投影向量垂直于旧投影向量的向量,方向指向新向量 verticalV *= projV.magnitude * Mathf.Sin(angle * Mathf.Deg2Rad); Vector3 sectionProjV = projV.normalized * projV.magnitude * Mathf.Cos(angle * Mathf.Deg2Rad);//旧投影向量的一截 Vector3 newProjV = verticalV + sectionProjV; return(newProjV + (v - projV)); }
//放入壳 void PutInShell() { IsHideShell = false; ShellRectTrans.SetParent(FirstParent); ShellRectTrans.SetSiblingIndex(OriginalOrderIndex); PreDefScrp.RectTransformDeepCopy(ThisRectTrans, ShellRectTrans); ShellRectTrans.localEulerAngles = Vector3.zero; ShellRectTrans.localScale = Vector3.one; ThisRectTrans.SetParent(ShellRectTrans); ThisRectTrans.localScale = Vector3.one;//如果ShellRectTrans的父类全局坐标为0,那this的缩放信息就丢失了 }
private void WindowStereoTypeUIReset() { if (CurJVideoInfo.stereoType == (int)StereoType.ST2D || CurJVideoInfo.stereoType == (int)StereoType.ST3D_LR || CurJVideoInfo.stereoType == (int)StereoType.ST3D_TB) { Vector3 dir = PlayerGameobjectControl.Instance.QuadScreen.transform.parent.forward; Quaternion qua = PlayerGameobjectControl.Instance.QuadScreen.transform.parent.rotation; Cinema.CinemaUI.transform.forward = dir; Vector3 valueDir = Vector3.Cross(Vector3.forward, dir); float valueAngle = Vector3.Angle(Vector3.forward, dir); Vector3 cToUVector = PreDefScrp.RotateAroundAxis(Cinema.CameraToUIPositionVector, valueDir, valueAngle); Cinema.CinemaUI.transform.position = Camera.main.transform.position + cToUVector; Cinema.CinemaUI.transform.rotation = qua; } }
public void UIRecenterControl(Vector3 dir) { if (IsInLockAngle && IsFirstInLockAngle) { IsFirstInLockAngle = false; return; } if (!IsInFocus)//重置UI位置,跟随鼠标点击 { Vector3 yDir = PreDefScrp.ComputeProjection(Vector3.up, dir); float angle = Vector3.Angle(OldUIDir, yDir); //Debug.Log("角度" + angle); if (!IsPointerEnterVideoPlayerUI) { if (angle <= 10) { if (SwitchVideoPlayerUIVisionCallback != null) { SwitchVideoPlayerUIVisionCallback(); } } else { if (ResetUIDirCallback != null) { ResetUIDirCallback(); } } OldUIDir = yDir; } else { Debug.Log("已经进入VideoPlayerUI,所以没法动态切换显影"); } } else //视角回正 { if (!IsPointerEnterVideoPlayerUI && FocusCompleteCallback != null) { FocusCompleteCallback(); } else { Debug.Log("已经进入VideoPlayerUI,所以没法视角调整"); } } }
void SetMotionGo(int fromIndex, int toIndex, float t, Space space) { if (space == Space.World) { MotionGO.position = Vector3.Lerp(FilterMotionPointerList[fromIndex].position, FilterMotionPointerList[toIndex].position, t); MotionGO.eulerAngles = Vector3.Lerp(FilterMotionPointerList[fromIndex].eulerAngles, FilterMotionPointerList[toIndex].eulerAngles, t); Vector3 lossyScale = Vector3.Lerp(FilterMotionPointerList[fromIndex].lossyScale, FilterMotionPointerList[toIndex].lossyScale, t); PreDefScrp.SetGOLossyScale(MotionGO, lossyScale); } else { MotionGO.localPosition = Vector3.Lerp(FilterMotionPointerList[fromIndex].localPosition, FilterMotionPointerList[toIndex].localPosition, t); MotionGO.localEulerAngles = Vector3.Lerp(FilterMotionPointerList[fromIndex].localEulerAngles, FilterMotionPointerList[toIndex].localEulerAngles, t); MotionGO.localScale = Vector3.Lerp(FilterMotionPointerList[fromIndex].localScale, FilterMotionPointerList[toIndex].localScale, t); } }
public void Init(string iconName, Texture[] textures, float width, float height) { if (!IsInit) { InitWidget(); } if (IconNameText != null) { IconNameText.text = iconName; } IconSize = new Vector2(width, height); PreDefScrp.SetWidgetSize(RectTrans, IconSize); SetIcon(textures); }
public void SetCurrentTime(long currentTime) { int seconds = (int)(currentTime / 1000); CurrentTimeText.text = PreDefScrp.SecondsToHMS(seconds); float t = 0; if (TotalTime != 0) { t = (float)currentTime / TotalTime; } IsVoluntary = true; PlayPBSlider.value = t; }
void SetIcon(Texture[] textures) { if (textures == null)//使用默认图片 { return; } int count = textures.Length; RawImage[] tempImages = PreDefScrp.NewComponents <RawImage>(Images.Length + count); Images.CopyTo(tempImages, 0); for (int i = 0; i < count; i++) { int index = i + Images.Length; tempImages[index].texture = textures[i]; tempImages[index].name = "Pic" + i; tempImages[index].transform.SetParent(transform); tempImages[index].transform.localPosition = Vector3.zero; tempImages[index].transform.localEulerAngles = Vector3.zero; tempImages[index].transform.localScale = Vector3.one; PreDefScrp.AdaptWidgetSize(tempImages[index].rectTransform, IconSize); tempImages[index].raycastTarget = false; } Images = tempImages; if (Images != null) { ImageLocalPosList.Clear(); for (int i = 0; i < Images.Length; i++) { ImageLocalPosList.Add(Images[i].transform.localPosition); } } if (IconNameText != null) { IconNameText.transform.SetAsLastSibling(); } if (SetIconCallback != null) { SetIconCallback(); } }
void ResetUIDir() { Vector3 dir = Camera.main.transform.forward; Vector3 yDir = PreDefScrp.ComputeProjection(Vector3.up, dir); float angle = Vector3.Angle(OldUIDir, yDir); if (angle > 2) { Vector3 valueDir = Vector3.Cross(Vector3.forward, yDir); float valueAngle = Vector3.Angle(Vector3.forward, yDir); Vector3 cToUVector = PreDefScrp.RotateAroundAxis(CameraToUIVector, valueDir, valueAngle); this.transform.forward = yDir; this.transform.position = Camera.main.transform.position + cToUVector; OldUIDir = yDir; } }
void HoverPointFollow() { Vector3 pos = GvrPointerInputModule.CurrentRaycastResult.worldPosition; Vector3 v = pos - HoverPointStartPos; float len = PreDefScrp.GetProjLen(v, HoverPointShowVector); if (len >= 0 && len < HoverPointShowVector.magnitude) { ShowOrHidePBDot(true); CurHoverValue = (HoverPointShowVector.normalized * len).magnitude / HoverPointShowVector.magnitude; long times = (long)(CurHoverValue * TotalTime); int seconds = (int)(times / 1000); CurHoverText.text = PreDefScrp.SecondsToHMS(seconds); PlayPBDot.transform.position = HoverPointStartPos + HoverPointShowVector.normalized * len; PlayPBDot.transform.localPosition = new Vector3(PlayPBDot.transform.localPosition.x, 0, PlayPBDot.transform.localPosition.z); } else { ShowOrHidePBDot(false); } }
//插入新图片后,恢复原始图片 public void RecoverOriginalImages() { List <RawImage> allImageList = new List <RawImage>(); allImageList.AddRange(Images); List <RawImage> deleteList, addList; PreDefScrp.ComputeDeleteAddList(OriginalImageList, allImageList, out deleteList, out addList); foreach (RawImage image in addList) { DestroyObject(image.gameObject); } Images = OriginalImageList.ToArray(); ImageLocalPosList.Clear(); if (Images != null) { for (int i = 0; i < Images.Length; i++) { ImageLocalPosList.Add(Images[i].transform.localPosition); } } if (IconNameText != null) { IconNameText.transform.SetAsLastSibling(); } if (SetIconCallback != null) { SetIconCallback(); } }
//开启反向 public void StartRollback(bool isRollback) { if (m_isRollback != isRollback) { PreDefScrp.ValueSwap(ref m_fromPos, ref m_toPos); PreDefScrp.ValueSwap(ref m_fromEuler, ref m_toEuler); PreDefScrp.ValueSwap(ref m_fromScale, ref m_toScale); PreDefScrp.ValueSwap(ref m_fromColor, ref m_toColor); PreDefScrp.ValueSwap(ref m_fromA, ref m_toA); PreDefScrp.ValueSwap(ref m_fromQt, ref m_toQt); PreDefScrp.ValueSwap(ref m_fromPos, ref m_toPos); m_axis = -m_axis; m_startTime = Time.time + m_totalTime * m_t; //Time.time + 已经播放时间 m_t = 1 - m_t; //当前分子 m_aroundAngle = m_totalAngle * m_t; //对于反向后,已经旋转的角度 if (m_totalLoop > 0) { m_loop = m_totalLoop - (m_loop - 1);//减一是因为正在旋转,该过程还未结束 } m_isRollback = isRollback; } }
void UpdateUIAngleDir() { Vector3 dir = Camera.main.transform.forward; Quaternion qua = Camera.main.transform.rotation; Cinema.CinemaUI.transform.forward = dir; Vector3 valueDir = Vector3.Cross(Vector3.forward, dir); float valueAngle = Vector3.Angle(Vector3.forward, dir); Vector3 cToUVector = PreDefScrp.RotateAroundAxis(Cinema.CameraToUIPositionVector, valueDir, valueAngle); Cinema.CinemaUI.transform.position = Camera.main.transform.position + cToUVector; Cinema.CinemaUI.transform.rotation = qua; Vector3 cToUVector2 = PreDefScrp.RotateAroundAxis(Cinema.CameraToPlayerPositionVector, valueDir, valueAngle); PlayerGameobjectControl.Instance.QuadScreen.transform.parent.forward = dir; PlayerGameobjectControl.Instance.QuadScreen.transform.parent.position = Camera.main.transform.position + cToUVector2; PlayerGameobjectControl.Instance.QuadScreen.transform.parent.rotation = qua; //CinemaMaterialSetting.GetInstance().ImaxPurple.transform.forward = dir; //CinemaMaterialSetting.GetInstance().ImaxPurple.transform.rotation = qua; //CinemaMaterialSetting.GetInstance().DriveSceneBox.transform.forward = dir; //CinemaMaterialSetting.GetInstance().DriveSceneBox.transform.rotation = qua; }
void EditorInputMessage() { //PC simulation by lichuanli RaycastHit hit; GameObject hitGO = null; Vector3 hitPos = Vector3.zero; Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, Mathf.Infinity)) { hitGO = hit.collider.gameObject; hitPos = hit.point; } if (Input.GetMouseButtonDown(0)) { if (TouchPadPressCallback != null) { TouchPadPressCallback(hitGO, true); } if (TouchPadPressDirCallback != null) { TouchPadPressDirCallback(Camera.main.transform.forward, true); } } else if (Input.GetMouseButtonUp(0)) { if (TouchPadPressCallback != null) { TouchPadPressCallback(hitGO, false); } if (TouchPadPressDirCallback != null) { TouchPadPressDirCallback(Camera.main.transform.forward, false); } } if (Input.GetKeyDown("a")) { if (AppButtonPressCallback != null) { AppButtonPressCallback(true); } } else if (Input.GetKeyUp("a")) { if (AppButtonPressCallback != null) { AppButtonPressCallback(false); } } //if (Input.GetKeyDown("h")) //{ // HomeBtnDownTime = Time.time; //} //else if (Input.GetKeyUp("h")) //{ // if (HomeBtnDownTime == -1)//超过时间限制则忽略该事件 // { // return; // } // HomeBtnDownTime = -1; // if (HomeButtonUpCallback != null) // HomeButtonUpCallback(); //} //if (HomeBtnDownTime != -1) //{ // if (Time.time - HomeBtnDownTime >= SpaceTime) // { // HomeBtnDownTime = -1; // if (HoumeButtonLongPressCallback != null) // HoumeButtonLongPressCallback(Camera.main.transform.forward); // } //} if (Input.GetMouseButtonDown(1)) { IsTouchDown = true; StartTouchPoint = Input.mousePosition; FirstTouchPoint = Input.mousePosition; if (TouchPadTouchCallback != null) { TouchPadTouchCallback(true); } } else if (Input.GetMouseButtonUp(1)) { IsTouchDown = false; StartTouchPoint = Vector2.zero; FirstTouchPoint = Vector2.zero; if (TouchPadTouchCallback != null) { TouchPadTouchCallback(false); } if (IsGesture) { IsGesture = false; if (TouchPadSlipUnifiedDirEndCallback != null) { TouchPadSlipUnifiedDirEndCallback(CurGestureDir); } } } if (IsTouchDown) { if (TouchPadVector2Callback != null) { TouchPadVector2Callback(((Vector2)Input.mousePosition - StartTouchPoint) / Screen.width); } Vector2 stretchVector2 = ((Vector2)Input.mousePosition - FirstTouchPoint) / Screen.width; if (TouchPadStretchVector2Callback != null) { TouchPadStretchVector2Callback(stretchVector2); } //手势判断 if (!IsGesture && stretchVector2.sqrMagnitude > Mathf.Pow(GestureThreshold, 2)) { IsGesture = true; CurGestureDir = PreDefScrp.ComputeGestureDirection(stretchVector2); } if (IsGesture) { float f = PreDefScrp.ComputeGestureDirectionLen(CurGestureDir, stretchVector2); if (TouchPadSlipUnifiedDirCallback != null) { TouchPadSlipUnifiedDirCallback(CurGestureDir, f); } } StartTouchPoint = Input.mousePosition; } if (Input.GetKeyDown("r")) { if (RecenteredCallback != null) { RecenteredCallback(Camera.main.transform.forward); } } //if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl)) //{ // float x = Camera.main.transform.eulerAngles.x; // float y = Camera.main.transform.eulerAngles.y; // y += Input.GetAxis("Mouse X") * 90 * Time.deltaTime; // x -= Input.GetAxis("Mouse Y") * 90 * Time.deltaTime; // if (x > 90 && x < 180) // x = 90; // if (x < 270 && x > 180) // x = 270; // Camera.main.transform.rotation = Quaternion.Euler(x, y, 0); //} if (CurGO != hitGO) { //Debug.Log("CurGo:" + CurGO); //Debug.Log("hitGO:" + hitGO); if (PointerEnterCallback != null) { PointerEnterCallback(hitGO); } if (PointerExitCallback != null) { PointerExitCallback(CurGO); } //LogTool.Log("__________________________________"); CurGO = hitGO; if (hitGO != null) { Cinema.IsPointerEnterVideoPlayerUI = true; } else { Cinema.IsPointerEnterVideoPlayerUI = false; } } }
void GvrInputMessage() { //if (GvrPtInputModule == null) //{ // LogTool.Log("警告:GvrPtInputModule为空"); // return; //} GameObject hitGO = GvrPointerInputModule.CurrentRaycastResult.gameObject; //新版本为GvrPointerInputModule.CurrentRaycastResult.gameObject if (GvrControllerInput.AppButtonDown) //新版本为GvrControllerInput { IsTouchDown = false; if (AppButtonPressCallback != null) { AppButtonPressCallback(true); } } else if (GvrControllerInput.AppButtonUp) { if (AppButtonPressCallback != null) { AppButtonPressCallback(false); } } if (GvrControllerInput.TriggerButtonDown) { IsTouchDown = false; } if (GvrControllerInput.HomeButtonDown) { //LogTool.Log("GVR HomeBtn Down"); IsTouchDown = false; HomeBtnDownTime = Time.time; } if (HomeBtnDownTime != -1) { if (GvrControllerInput.HomeButtonState)//长按 { if (Time.time - HomeBtnDownTime >= SpaceTime) { LogTool.Log("GVR HomeBtn LongPress"); HomeBtnDownTime = -1; if (HoumeButtonLongPressCallback != null) { HoumeButtonLongPressCallback(Camera.main.transform.forward); } } } //else//这里松开 //{ // LogTool.Log("GVR HomeBtn Up"); // if (HomeButtonUpCallback != null) // HomeButtonUpCallback(); // HomeBtnDownTime = -1; //} } NoloRecenter(); if (GvrControllerInput.Recentered) { if (RecenteredCallback != null) { RecenteredCallback(Camera.main.transform.forward); } } if (GvrControllerInput.IsTouching) { if (TouchPadPosCenteredCallback != null) { Vector2 touchPosVec = new Vector2(GvrControllerInput.TouchPos.x, -GvrControllerInput.TouchPos.y); Vector2 offset = new Vector2(-0.5f, 0.5f); touchPosVec = touchPosVec + offset; TouchPadPosCenteredCallback(touchPosVec * 2);//GvrControllerInput.TouchPosCentered } } if (GvrControllerInput.TouchDown) { IsTouchDown = true; StartTouchPoint = GvrControllerInput.TouchPos; FirstTouchPoint = GvrControllerInput.TouchPos; if (TouchPadTouchCallback != null) { TouchPadTouchCallback(true); } } else if (GvrControllerInput.TouchUp) { IsTouchDown = false; StartTouchPoint = Vector2.zero; FirstTouchPoint = Vector2.zero; if (TouchPadTouchCallback != null) { TouchPadTouchCallback(false); } if (IsGesture) { IsGesture = false; if (TouchPadSlipUnifiedDirEndCallback != null) { TouchPadSlipUnifiedDirEndCallback(CurGestureDir); } } } if (IsTouchDown) { Vector3 oneFrameVector2 = GvrControllerInput.TouchPos - StartTouchPoint; StartTouchPoint = GvrControllerInput.TouchPos; oneFrameVector2 = new Vector2(oneFrameVector2.x, -oneFrameVector2.y);//y轴反向处理 if (TouchPadVector2Callback != null) { TouchPadVector2Callback(oneFrameVector2); } Vector3 stretchVector2 = GvrControllerInput.TouchPos - FirstTouchPoint; stretchVector2 = new Vector2(stretchVector2.x, -stretchVector2.y);//y轴反向处理 if (TouchPadStretchVector2Callback != null) { TouchPadStretchVector2Callback(stretchVector2); } //手势判断 if (!IsGesture && stretchVector2.sqrMagnitude > Mathf.Pow(GestureThreshold, 2)) { IsGesture = true; CurGestureDir = PreDefScrp.ComputeGestureDirection(stretchVector2); } if (IsGesture) { // firstPoint-by-point gesture float f = PreDefScrp.ComputeGestureDirectionLen(CurGestureDir, stretchVector2); if (TouchPadSlipUnifiedDirCallback != null) { TouchPadSlipUnifiedDirCallback(CurGestureDir, f); } // everyPoint-by-point gesture CurGestureDirSlip = PreDefScrp.ComputeGestureDirection(oneFrameVector2); float t = PreDefScrp.ComputeGestureDirectionLen(CurGestureDirSlip, oneFrameVector2); if (TouchPadEveryoneSlipUnifiedDirCallback != null) { TouchPadEveryoneSlipUnifiedDirCallback(CurGestureDirSlip, t); } } } if (CurGvrConnectionState == SvrControllerState.None) { // gaze版Recenter方法 Controller未连接的状态 if (GvrPointerInputModule.Pointer.TriggerDown) { if (TouchPadPressCallback != null) { TouchPadPressCallback(hitGO, true); } if (TouchPadPressDirCallback != null) { TouchPadPressDirCallback(Camera.main.transform.forward, true); } TriggerDownTime = Time.time; } if (TriggerDownTime != -1) { if (Time.time - TriggerDownTime >= SpaceTime)//长按 { TriggerDownTime = -1; //if (RecenteredCallback != null) // RecenteredCallback(Camera.main.transform.forward); } else { if (GvrPointerInputModule.Pointer.TriggerUp) { TriggerDownTime = -1; if (TouchPadPressCallback != null) { TouchPadPressCallback(hitGO, false); } if (TouchPadPressDirCallback != null) { TouchPadPressDirCallback(Camera.main.transform.forward, false); } } } } } else { if (GvrControllerInput.ClickButtonDown) { IsTouchDown = false; if (TouchPadPressCallback != null) { TouchPadPressCallback(hitGO, true); } if (TouchPadPressDirCallback != null && hitGO == null) { TouchPadPressDirCallback(Camera.main.transform.forward, true); } } else if (GvrControllerInput.ClickButtonUp) { if (TouchPadPressCallback != null) { TouchPadPressCallback(hitGO, false); } if (TouchPadPressDirCallback != null && hitGO == null) { TouchPadPressDirCallback(Camera.main.transform.forward, false); } } } if (CurGO != hitGO) { if (PointerExitCallback != null) { PointerExitCallback(CurGO); } if (PointerEnterCallback != null) { PointerEnterCallback(hitGO); } CurGO = hitGO; if (hitGO != null) { Cinema.IsPointerEnterVideoPlayerUI = true; } else { Cinema.IsPointerEnterVideoPlayerUI = false; } } }