private SmartCarouselItem CreateCarouselItem(List <Sprite> sprites) { SmartCarouselItem newCarouselItem = Instantiate(_carouselItemPrefab); newCarouselItem.Init(sprites, _horizontalLayoutGroup.transform); return(newCarouselItem); }
private SmartCarouselItem CreateCarouselItem(ExerciseData exercise) { SmartCarouselItem newCarouselItem = Instantiate(_carouselItemPrefab); FitBoyAnimator fitBoyAnimator = newCarouselItem.GetComponent <FitBoyAnimator> (); fitBoyAnimator.Init(exercise.exerciseType); newCarouselItem.Init(_horizontalLayoutGroup.transform); return(newCarouselItem); }
public void Init(WorkoutData workout, int currentIndex) { TryClear(); foreach (ExerciseData exercise in workout.exerciseData) { SmartCarouselItem newCarouselItem = CreateCarouselItem(exercise); _carouselItems.Add(newCarouselItem); } _centermostCarouselItem = _carouselItems[0]; StartCoroutine(TweenToItemByIndexCo(currentIndex)); }
public void Init(List <List <Sprite> > spriteLists, int currentIndex) { TryClear(); foreach (List <Sprite> sprites in spriteLists) { SmartCarouselItem newCarouselItem = CreateCarouselItem(sprites); _carouselItems.Add(newCarouselItem); } _centermostCarouselItem = _carouselItems[0]; StartCoroutine(TweenToItemByIndexCo(currentIndex)); }
// private void DetermineCenterMostItem() // { // foreach (SmartCarouselItem carouselItem in _carouselItems) // { // carouselItem.absDistanceToCenter = Mathf.Abs(_center.position.x - carouselItem.selfRect.position.x); // carouselItem.distanceToCenter = _center.position.x - carouselItem.selfRect.position.x; // } // // foreach (SmartCarouselItem carouselItem in _carouselItems) // { // if (carouselItem.absDistanceToCenter < _centermostCarouselItem.absDistanceToCenter) // { // _centermostCarouselItem = carouselItem; // } // } // } private void DetermineCenterMostItem() { for (int i = 0; i < _carouselItems.Count; i++) { SmartCarouselItem carouselItem = _carouselItems [i]; carouselItem.absDistanceToCenter = Mathf.Abs(_center.position.x - carouselItem.selfRect.position.x); carouselItem.distanceToCenter = _center.position.x - carouselItem.selfRect.position.x; } for (int i = 0; i < _carouselItems.Count; i++) { SmartCarouselItem carouselItem = _carouselItems [i]; if (carouselItem.absDistanceToCenter < _centermostCarouselItem.absDistanceToCenter) { _centermostCarouselItem = carouselItem; _activeIndex = i; } } }