|
|
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine.UI;
- using LuaInterface;
- using LuaFramework;
- using System;
- using UnityEngine.EventSystems;
-
- public class VHScrollRect : ScrollRect
- {
-
- public ScrollRect parentScroll;
-
- public bool isVertical = false;
-
- private bool isSelf = false;
-
- public override void OnBeginDrag(PointerEventData eventData)
- {
- Vector2 touchDeltaPosition;
- #if (UNITY_ANDROID || UNITY_IPHONE) && !UNITY_EDITOR
- touchDeltaPosition = Input.GetTouch(0).deltaPosition;
- #else
- float delta_x = Input.GetAxis("Mouse X");
- float delta_y = Input.GetAxis("Mouse Y");
- touchDeltaPosition = new Vector2(delta_x, delta_y);
- #endif
- if (isVertical)
- {
- if (Mathf.Abs(touchDeltaPosition.x) < Mathf.Abs(touchDeltaPosition.y))
- {
- isSelf = true;
- base.OnBeginDrag(eventData);
- }
- else
- {
- isSelf = false;
- if(parentScroll){
- parentScroll.OnBeginDrag(eventData);
- }
- }
- }
- else
- {
- if (Mathf.Abs(touchDeltaPosition.x) > Mathf.Abs(touchDeltaPosition.y))
- {
- isSelf = true;
- base.OnBeginDrag(eventData);
- }
- else
- {
- isSelf = false;
- if(parentScroll){
- parentScroll.OnBeginDrag(eventData);
- }
- }
- }
- }
-
-
- public override void OnDrag(PointerEventData eventData)
- {
- if (isSelf)
- {
- base.OnDrag(eventData);
- }
- else
- {
- if(parentScroll){
- parentScroll.OnDrag(eventData);
- }
- }
- }
-
-
-
- public override void OnEndDrag(PointerEventData eventData)
- {
- if (isSelf)
- {
- base.OnEndDrag(eventData);
- }
- else
- {
- if(parentScroll){
- parentScroll.OnEndDrag(eventData);
- }
-
- }
- }
-
- }
|