public override void OnInspectorGUI() { DrawDefaultInspector(); WowCarousel tgt = (WowCarousel)target; EU.Btn("Refresh", () => { Vector2 pivot = new Vector2(0f, .5f); Vector2 carouselSize = tgt.GetComponent <RectTransform>().Size(); tgt.ItemContainer.SetWidth(carouselSize.x); tgt.ItemContainer.pivot = pivot; RectTransform itemRt = tgt.TemplateItem.GetComponent <RectTransform>(); itemRt.pivot = pivot; itemRt.SetSize(carouselSize); EU.SetSceneDirty(); }); }
public void InitCarouselItem(WowCarousel controller, Sprite spr, int idx) { _controller = controller; Index = idx; RectTransform = GetComponent <RectTransform>(); Vector2 rootSize = _controller.Size; RectTransform.SetPos(new Vector2(Index * rootSize.x, 0f)); RectTransform.SetSize(rootSize); Img.sprite = spr; CGestureHandler gestureHandler = new CGestureHandler(gameObject); gestureHandler.SetTappable(); gestureHandler.SetDraggable(); gestureHandler.OnTapListeners += pos => _controller.OnTapItem(this); gestureHandler.OnStartSwipeListeners += ev => _controller.OnBeginDragItem(this); gestureHandler.OnSwipingListeners += (SwipeEventData ev) => _controller.OnDraggingItem(this, RectTransform.GetScaledPos(ev.Delta)); gestureHandler.OnEndSwipeListeners += (SwipeEventData ev) => _controller.OnEndDragItem(this, ev); }