| | |
| | |
|
| | | public class MarketPutawayWin : Window
|
| | | {
|
| | | [SerializeField] ScrollerController putawayItemCtrl;
|
| | | [SerializeField] ScrollerController bagItemCtrl;
|
| | | [SerializeField] ScrollerController m_PutawayController;
|
| | | [SerializeField] ScrollerController m_BagItemController;
|
| | |
|
| | | [SerializeField] RectTransform m_NotItemPutTip;
|
| | | [SerializeField] RectTransform m_ContainerEmptyItem;
|
| | |
|
| | | MarketModel m_Model = null;
|
| | | MarketModel model
|
| | | {
|
| | | get
|
| | | {
|
| | | return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<MarketModel>());
|
| | | }
|
| | | get { return ModelCenter.Instance.GetModel<MarketModel>(); }
|
| | | }
|
| | |
|
| | | ItemTipsModel _itemTipsModel;
|
| | | ItemTipsModel itemTipsModel
|
| | | PlayerPackModel packModel
|
| | | {
|
| | | get
|
| | | {
|
| | | return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>());
|
| | | }
|
| | | }
|
| | |
|
| | | PlayerPackModel m_PackModel;
|
| | | PlayerPackModel PackModel
|
| | | {
|
| | | get { return m_PackModel ?? (m_PackModel = ModelCenter.Instance.GetModel<PlayerPackModel>()); }
|
| | | get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); }
|
| | | }
|
| | |
|
| | |
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | | {
|
| | | putawayItemCtrl.OnRefreshCell += OnRefreshPutawayItemCell;
|
| | | bagItemCtrl.OnRefreshCell += OnRefreshBagItemCell;
|
| | | bagItemCtrl.lockType = EnhanceLockType.KeepVertical;
|
| | | m_PutawayController.OnRefreshCell += OnRefreshPutawayItemCell;
|
| | | m_BagItemController.OnRefreshCell += OnRefreshBagItemCell;
|
| | | m_BagItemController.lockType = EnhanceLockType.KeepVertical;
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | |
| | | {
|
| | | model.m_AchievementIndex = -1;
|
| | | PlayerMarketData.OnRefreshPutaway += OnRefreshPutaway;
|
| | | PackModel.RefreshItemCountAct += ItemRefreshEvent;
|
| | | packModel.RefreshItemCountAct += ItemRefreshEvent;
|
| | | InitData();
|
| | | }
|
| | |
|
| | |
| | |
|
| | | private void InitPutawayItem()
|
| | | {
|
| | | putawayItemCtrl.Refresh();
|
| | | m_PutawayController.Refresh();
|
| | | List<MarketItemData> list = PlayerDatas.Instance.market.putawayList;
|
| | | if (list.Count > 0)
|
| | | {
|
| | |
| | | int page = Mathf.CeilToInt((float)list.Count / 2);
|
| | | for (int i = 0; i < page; i++)
|
| | | {
|
| | | putawayItemCtrl.AddCell(ScrollerDataType.Header, i);
|
| | | m_PutawayController.AddCell(ScrollerDataType.Header, i);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | m_NotItemPutTip.gameObject.SetActive(true);
|
| | | }
|
| | | putawayItemCtrl.Restart();
|
| | | m_PutawayController.Restart();
|
| | | }
|
| | |
|
| | | private void OnRefreshPutaway()
|
| | |
| | | protected override void OnAfterClose()
|
| | | {
|
| | | PlayerMarketData.OnRefreshPutaway -= OnRefreshPutaway;
|
| | | PackModel.RefreshItemCountAct -= ItemRefreshEvent;
|
| | | packModel.RefreshItemCountAct -= ItemRefreshEvent;
|
| | | }
|
| | | #endregion
|
| | |
|
| | |
| | |
|
| | | private void InitBagData()
|
| | | {
|
| | | bagItemCtrl.Refresh();
|
| | | m_BagItemController.Refresh();
|
| | | model.bagItems.Clear();
|
| | | SinglePackModel packTypeModel = PackModel.GetSinglePackModel(PackType.rptItem);
|
| | | SinglePackModel packTypeModel = packModel.GetSinglePackModel(PackType.rptItem);
|
| | | if (packTypeModel != null)
|
| | | {
|
| | | Dictionary<int, ItemModel> dic = packTypeModel.GetPackModelIndexDict();
|
| | | if (dic != null && dic.Count > 0)
|
| | | if (dic != null)
|
| | | {
|
| | | model.bagItems.AddRange(dic.Values.ToList());
|
| | | foreach (var item in dic.Values)
|
| | | {
|
| | | if (model.CheckItemPutaway(item, false, true))
|
| | | {
|
| | | model.bagItems.Add(item);
|
| | | }
|
| | | }
|
| | | model.bagItems.Sort(ComparePutawayItems);
|
| | | }
|
| | | }
|
| | | m_ContainerEmptyItem.gameObject.SetActive(model.bagItems.Count == 0);
|
| | | if (model.bagItems.Count > 0)
|
| | | {
|
| | | int page = Mathf.CeilToInt((float)model.bagItems.Count / 4);
|
| | | for (int i = 0; i < page; i++)
|
| | | {
|
| | | bagItemCtrl.AddCell(ScrollerDataType.Header, i);
|
| | | m_BagItemController.AddCell(ScrollerDataType.Header, i);
|
| | | }
|
| | | }
|
| | | bagItemCtrl.Restart();
|
| | | m_BagItemController.Restart();
|
| | | }
|
| | |
|
| | | int ComparePutawayItems(ItemModel x, ItemModel y)
|
| | |
| | | else
|
| | | {
|
| | | var _page = model.m_AchievementIndex / 4;
|
| | | bagItemCtrl.JumpIndex(_page);
|
| | | bagItemCtrl.m_Scorller.RefreshActiveCellViews();
|
| | | m_BagItemController.JumpIndex(_page);
|
| | | m_BagItemController.m_Scorller.RefreshActiveCellViews();
|
| | | }
|
| | | AchievementGoto.achievementType = 0;
|
| | | }
|