using System; using System.Collections.Generic; using UnityEngine; namespace MoleMole { public class MonoShopWelfareTab : MonoBehaviour { private Transform _scrollViewTrans; private List _welfareDataItemList; private Action _onGetBtnClick; public void SetupView(Action onGetBtnClick = null) { _onGetBtnClick = onGetBtnClick; _scrollViewTrans = base.transform.Find("ScrollView"); _welfareDataItemList = Singleton.Instance.GetWelfareDataItemList(); MonoGridScroller component = _scrollViewTrans.GetComponent(); component.Init(OnScrollChange, _welfareDataItemList.Count, new Vector2(0f, 1f)); if (_scrollViewTrans.gameObject.activeInHierarchy) { MonoScrollerFadeManager component2 = _scrollViewTrans.GetComponent(); component2.Init(component.GetItemDict(), null, IsWelfareDataItemEqual); component2.Play(); } } private void OnScrollChange(Transform trans, int index) { WelfareDataItem welfareDataItem = _welfareDataItemList[index]; trans.GetComponent().SetupView(welfareDataItem, _onGetBtnClick); } private bool IsWelfareDataItemEqual(RectTransform dataNew, RectTransform dataOld) { if (dataNew == null || dataOld == null) { return false; } MonoWelfareItem component = dataOld.GetComponent(); MonoWelfareItem component2 = dataNew.GetComponent(); return component2.GetWelfareDataItem().vipLevel == component.GetWelfareDataItem().vipLevel; } } }