예제 #1
0
        public void AddBindEvent()
        {
            ResetRecuperationAnimation();
            BagInfoBind.SetBindDataSource(PlayerDataManager.Instance.PlayerDataModel);
            if (null != UnlockFrame)
            {
                UnlockFrame.SetActive(false);
            }
            EventDispatcher.Instance.AddEventListener(PackUnlockUIEvent.EVENT_TYPE, OnBagUnlockByPaid);
            EventDispatcher.Instance.AddEventListener(PackTradingSellPage.EVENT_TYPE, SetSellTradingPage);


            var con = UIManager.Instance.GetController(UIConfig.BackPackUI);

            BagInfoBind.SetBindDataSource(con.GetDataModel(""));
            if (SelectLogic != null)
            {
                bagPage = (BAG_TAB_PAGE)SelectLogic.Select;
            }
            if (IsTradingBackPack)
            {
                ShowTradingPage(BAG_TAB_PAGE.PageBase);
            }
            else
            {
                ShowPage(bagPage);
            }
            mIsBinding = true;
        }
예제 #2
0
        public void ShowPage(BAG_TAB_PAGE page = BAG_TAB_PAGE.PageBase)
        {
            var nPage = (int)page;

            bagPage = page;
            var e = new ShowPackPageEvent {
                PackPage = nPage
            };

            EventDispatcher.Instance.DispatchEvent(e);

            var data = PlayerDataManager.Instance.PlayerDataModel.Bags.Bags[nPage];

            BagInfoBind.SetBindDataSource(data);
        }
예제 #3
0
        private void ShowTradingPage(BAG_TAB_PAGE page, bool repeat = true)
        {
            var nPage = (int)page;

            bagPage = page;
            var e = new ShowPackPageEvent {
                PackPage = nPage
            };

            EventDispatcher.Instance.DispatchEvent(e);

            var data = PlayerDataManager.Instance.PlayerDataModel.Bags.Bags[nPage];
            var bag  = new BagBaseDataModel();

            bag.BagId       = data.BagId;
            bag.Capacity    = data.Capacity;
            bag.MaxCapacity = data.MaxCapacity;
            bag.Size        = data.Size;
            bag.UnlockTime  = data.UnlockTime;
            var count = data.Items.Count;

            BagItemDataModel selectItem = null;
            var equipPage = -1;

            for (var i = 0; i < count; i++)
            {
                var item = data.Items[i];
                if (data.Items[i].ItemId != -1)
                {
                    var tb = Table.GetItemBase(item.ItemId);
                    if (tb == null)
                    {
                        continue;
                    }
                    //TradingSellPage == 0 &&
                    if (BitFlag.GetLow(tb.CanTrade, 0))
                    {
                        if (selectItem == null)
                        {
                            selectItem = item;
                            equipPage  = 0;
                        }
                        bag.Items.Add(item);
                    }
                    //TradingSellPage == 1 &&
                    if (BitFlag.GetLow(tb.CanTrade, 1))
                    {
                        if (bagPage == BAG_TAB_PAGE.PageEquip && item.Exdata.Binding == 1)
                        {
                            continue;
                        }
                        if (selectItem == null)
                        {
                            selectItem = item;
                            equipPage  = 1;
                        }
                        bag.Items.Add(item);
                    }
                }
            }

            BagInfoBind.SetBindDataSource(bag);

            if (selectItem == null)
            {
                selectItem = new BagItemDataModel();
            }

            if (repeat && equipPage != -1)
            {
                EventDispatcher.Instance.DispatchEvent(new UIEvent_TradingEquipTabPage(equipPage));
            }

            EventDispatcher.Instance.DispatchEvent(new UIEvent_TradingBagItemClick(selectItem));
        }