public override void OnEndDrag(PointerEventData eventData) { switch (scrollType) { case SCROLL.HORIZONTAL: _main.OnEndDrag(eventData); break; case SCROLL.VERTICAL: scrollView.OnEndDrag(eventData); // var buttons = GetComponentsInChildren<UnityEngine.UI.Button>(); // foreach (var btn in buttons) // { // btn.enabled = true; // } break; } scrollView.enabled = true; scrollType = SCROLL.NONE; }
// Start is called before the first frame update private void Start() { _main = GetComponentInParent <UI_Main>(); if (scrollView == null) { scrollView = GetComponent <UnityEngine.UI.ScrollRect>(); } //var trigger = GetComponent<EventTrigger>(); EventTrigger.Entry entryBegin = new EventTrigger.Entry(), entryDrag = new EventTrigger.Entry(), entryEnd = new EventTrigger.Entry(), entrypotential = new EventTrigger.Entry(), entryScroll = new EventTrigger.Entry(); entryBegin.eventID = EventTriggerType.BeginDrag; //entryBegin.callback.AddListener(data => { scrollView.OnBeginDrag((PointerEventData)data); }); //entryBegin.callback.AddListener(data => { _main.OnBeginDrag(data);}); this.triggers.Add(entryBegin); entryDrag.eventID = EventTriggerType.Drag; //entryDrag.callback.AddListener(data => { scrollView.OnDrag((PointerEventData)data); }); //entryDrag.callback.AddListener(data => { _main.OnDrag(data); }); this.triggers.Add(entryDrag); entryEnd.eventID = EventTriggerType.EndDrag; entryEnd.callback.AddListener(data => { scrollView.OnEndDrag((PointerEventData)data); }); entryEnd.callback.AddListener(data => { _main.OnEndDrag(data); }); this.triggers.Add(entryEnd); entrypotential.eventID = EventTriggerType.InitializePotentialDrag; entrypotential.callback.AddListener(data => { scrollView.OnInitializePotentialDrag((PointerEventData)data); }); this.triggers.Add(entrypotential); entryScroll.eventID = EventTriggerType.Scroll; entryScroll.callback.AddListener(data => { scrollView.OnScroll((PointerEventData)data); }); this.triggers.Add(entryScroll); }