아래 상황이면 이벤트를 수신 못하는데
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; public class PlayerMoveEvent : EventBase<PlayerMoveEvent> { public float m_Speed; public static PlayerMoveEvent GetPooled(float speed) { PlayerMoveEvent val = EventBase<PlayerMoveEvent>.GetPooled(); val.m_Speed = speed; return val; } private void LocalInit() { bubbles = true; tricklesDown = true; m_Speed = 0.0f; } protected override void Init() { base.Init(); LocalInit(); } public PlayerMoveEvent() { LocalInit(); } } | cs |
EventBase를 PointerEventBase로 바꿔주면 해당 visualElement위에 포인터가 올라가있으면
이벤트를 수신함.....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; public class PlayerMoveEvent : PointerEventBase<PlayerMoveEvent> { public float m_Speed; public static PlayerMoveEvent GetPooled(float speed) { PlayerMoveEvent val = EventBase<PlayerMoveEvent>.GetPooled(); val.m_Speed = speed; return val; } private void LocalInit() { bubbles = true; tricklesDown = true; m_Speed = 0.0f; } protected override void Init() { base.Init(); LocalInit(); } public PlayerMoveEvent() { LocalInit(); } } | cs |
EventBase와 PointerEventBase의 차이점은 알겟는데
이벤트수신여부가 달라지는부분을 못찾겟음 이부분을 봐야 수신할수있게바꿀수있을거같은데
문제는 포인터이벤트도 그조건이 어디있는지도 모르겟다는거
외부에서 처리해주나?
댓글 0