| | |
| | | [SerializeField] ItemCell itemCell; |
| | | [SerializeField] Text nameText; |
| | | [SerializeField] Text descText; |
| | | [SerializeField] Transform transInbg; |
| | | [SerializeField] Transform transInbgPreview; |
| | | [SerializeField] Transform line; |
| | | [SerializeField] ScrollerController scroller; |
| | | [SerializeField] ScrollerController scrollerPreview; |
| | | [SerializeField] SliderPanel sliderPanel; |
| | | [SerializeField] Button openButton; |
| | | |
| | |
| | | nameText.text = itemConfig.ItemName; |
| | | descText.text = itemConfig.Description; |
| | | |
| | | if (string.IsNullOrEmpty(guid)) |
| | | { |
| | | openButton.SetActive(false); |
| | | sliderPanel.SetActive(false); |
| | | } |
| | | else |
| | | { |
| | | openButton.SetActive(true); |
| | | sliderPanel.SetActive(true); |
| | | } |
| | | bool isPreview = string.IsNullOrEmpty(guid); |
| | | openButton.SetActive(!isPreview); |
| | | sliderPanel.SetActive(!isPreview); |
| | | transInbg.SetActive(!isPreview); |
| | | transInbgPreview.SetActive(isPreview); |
| | | line.SetActive(!isPreview); |
| | | |
| | | useCnt = 1; |
| | | sliderPanel.Init((value) => { useCnt = value; }, itemCount); |
| | | |
| | | |
| | | scroller.OnRefreshCell += OnRefreshCell; |
| | | scrollerPreview.OnRefreshCell += OnRefreshPreviewCell; |
| | | items = BoxGetItemModel.Instance.GetBoxItems(itemID); |
| | | CreateScroller(); |
| | | CreateScroller(scroller); |
| | | CreateScroller(scrollerPreview); |
| | | } |
| | | |
| | | protected override void OnPreClose() |
| | | { |
| | | scroller.OnRefreshCell -= OnRefreshCell; |
| | | scrollerPreview.OnRefreshCell -= OnRefreshPreviewCell; |
| | | } |
| | | |
| | | void CreateScroller() |
| | | void CreateScroller(ScrollerController scroller) |
| | | { |
| | | scroller.Refresh(); |
| | | |
| | | |
| | | for (int i = 0; i < items.Count; i++) |
| | | { |
| | | if (i % 4 == 0) |
| | | { |
| | | { |
| | | List<Item> tmpIDs = new List<Item>(); |
| | | for (int j = 0; j < 4; j++) |
| | | { |
| | |
| | | |
| | | _cell.Display(tmpIDs); |
| | | } |
| | | |
| | | |
| | | |
| | | void OnRefreshPreviewCell(ScrollerDataType type, CellView cell) |
| | | { |
| | | var _cell = cell as BoxItemLineCell; |
| | | |
| | | List<Item> tmpIDs = new List<Item>(); |
| | | for (int j = 0; j < 4; j++) |
| | | { |
| | | int index = cell.index + j; |
| | | if (index >= items.Count) |
| | | break; |
| | | tmpIDs.Add(items[index]); |
| | | } |
| | | |
| | | _cell.Display(tmpIDs); |
| | | } |
| | | |
| | | } |