private void OnPointerDown(LidarInput2D lidarInput2D, GameObject go, Vector2 pos) { foreach (var input in lidarUIInputComponents.Entities.Select(e => e.GetComponent <LidarUIInputComponent>()).Where(input => input.LidarInput2D == lidarInput2D)) { EventSystem.Publish(new LidarPointerDownEvent(input.ID, go, pos)); } }
private void OnDrag(LidarInput2D lidarInput2D, GameObject go, Vector2 pos, Vector2 dis, bool swipe) { if (swipe) { foreach (var input in lidarUIInputComponents.Entities.Select(e => e.GetComponent <LidarUIInputComponent>()).Where(input => input.LidarInput2D == lidarInput2D)) { if (Mathf.Abs(dis.x) > Mathf.Abs(dis.y)) { EventSystem.Publish(new LidarSwipeEvent(input.ID, go, pos, new Vector2(dis.x / Mathf.Abs(dis.x), 0))); } else { EventSystem.Publish(new LidarSwipeEvent(input.ID, go, pos, new Vector2(0, dis.y / Mathf.Abs(dis.y)))); } } } }