using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.Item; using System.Collections.Generic; public class MarketPlayerBuy : UIControllerBase { void Awake() { InitMenu(); } // Use this for initialization void OnEnable () { SetInstance(this); _BuyPage.SetActive(true); UpdatePage(); GUIData.delMoneyChanged += UpdateMoney; if (_SelectedPage != null) { OnMenu(_SelectedPage); } } void OnDisable() { GUIData.delMoneyChanged -= UpdateMoney; SetInstance(null); } // Update is called once per frame void Update () { } #region showPage public GameObject _BuyPage; public UIItemSelect _BtnFind; public UISubScollMenu _BuyItemMenu; public MarketFindPage _FindPage; public MarketEquipFilterPage _EquipFilterPaeg; public MarketItemClassPage _ItemClassPage; public MarketItemListPage _ItemListPage; public UICurrencyItem _OwnMoney; public GameObject _NoneWatchPanel; private bool _IsShowWatchPanel; public Market.MarketItemClass _SelectedPage; private void InitMenu() { _BuyItemMenu.PushMenu(new Market.MarketItemClass(999, 1)); _BuyItemMenu.PushMenu(Market.GetMarketClassName(1, -1), new Market.MarketItemClass[2] { /*new Market.MarketItemClass(1, 1), */new Market.MarketItemClass(1, 2) , new Market.MarketItemClass(1, 3) }); //_BuyItemMenu.PushMenu(Market.GetMarketClassName(2, -1), new Market.MarketItemClass[3] { new Market.MarketItemClass(2, 1), new Market.MarketItemClass(2, 2), new Market.MarketItemClass(2, 3) }); //_BuyItemMenu.PushMenu(Market.GetMarketClassName(3, -1), new Market.MarketItemClass[3] { new Market.MarketItemClass(3, 1), new Market.MarketItemClass(3, 2), new Market.MarketItemClass(3, 4) }); _BuyItemMenu.PushMenu(Market.GetMarketClassName(6, -1), new Market.MarketItemClass[1] { new Market.MarketItemClass(6, 2) }); _BuyItemMenu.PushMenu(Market.GetMarketClassName(7, -1), new Market.MarketItemClass[2] { new Market.MarketItemClass(7, 1), new Market.MarketItemClass(7, 2) }); //_BuyItemMenu.PushMenu(Market.GetMarketClassName(8, -1), new Market.MarketItemClass[4] { new Market.MarketItemClass(8, 1), new Market.MarketItemClass(8, 2), new Market.MarketItemClass(8, 3), new Market.MarketItemClass(8, 4)}); _BuyItemMenu.PushMenu(Market.GetMarketClassName(9, -1), new Market.MarketItemClass[3] { new Market.MarketItemClass(9, 1), new Market.MarketItemClass(9, 2), new Market.MarketItemClass(9, 3) }); } public void ShowFocusPage() { _BuyItemMenu.ShowDefaultFirst(); } public void UpdateShopInfo() { if (!_IsShowWatchPanel) { if (_ItemListPage.gameObject.activeSelf) { _ItemListPage.RefreshItems(); _ItemListPage.UpdateWatchBtn(); } } else { if (Market.WatchItems.Count > 0) { _ItemListPage.gameObject.SetActive(true); _ItemListPage.UpdateWatchItems(); _NoneWatchPanel.SetActive(false); } else { _ItemListPage.gameObject.SetActive(false); _ItemListPage.UpdateWatchItems(); _NoneWatchPanel.SetActive(true); } } } public void UpdatePage() { _OwnMoney.ShowOwnCurrency(MONEYTYPE.MONEYTYPE_COIN); StartCoroutine(UpdateMenu()); } private IEnumerator UpdateMenu() { yield return new WaitForEndOfFrame(); if(_SelectedPage==null) _BuyItemMenu.ShowDefaultFirst(); } public void UpdateMoney() { _OwnMoney.ShowOwnCurrency(MONEYTYPE.MONEYTYPE_COIN); } public void OnMenuSelect(Market.MarketItemClass selectedPage) { if (selectedPage == null) return; foreach (var menuObj in _BuyItemMenu.SubBtns) { if (menuObj.Value.Count > 0) { foreach (var menuSubObj in menuObj.Value) { Market.MarketItemClass marketClass = menuSubObj.MenuObj as Market.MarketItemClass; if (marketClass.ItemClass == selectedPage.ItemClass && marketClass.ItemSubClass == selectedPage.ItemSubClass) { _BuyItemMenu.ShowMenu(menuObj.Key.MenuObj, menuSubObj.MenuObj); _SelectedPage = marketClass; } } } else { Market.MarketItemClass marketClass = menuObj.Key.MenuObj as Market.MarketItemClass; if (marketClass.ItemClass == selectedPage.ItemClass && marketClass.ItemSubClass == selectedPage.ItemSubClass) { _BuyItemMenu.ShowMenu(menuObj.Key.MenuObj); _SelectedPage = marketClass; } } } } public void OnMenu(object menuObj) { _BtnFind.UnSelected(); var selectedPage = menuObj as Market.MarketItemClass; if (selectedPage == null) return; _SelectedPage = selectedPage; _IsShowWatchPanel = false; _NoneWatchPanel.SetActive(false); if (_SelectedPage.ItemClass == 999)//关注 { _IsShowWatchPanel = true; OnShowWatch(); } else if (_SelectedPage.ItemClass == 1) { if (_SelectedPage.ItemSubClass == 1) { ShowEquipFilter(0); } else if (_SelectedPage.ItemSubClass == 2) { ShowEquipFilter(2); } else if (_SelectedPage.ItemSubClass == 3) { ShowEquipFilter(1); } } else { ShowItemClass(); } } public void OnShowWatch() { _FindPage.gameObject.SetActive(false); _EquipFilterPaeg.gameObject.SetActive(false); _ItemClassPage.gameObject.SetActive(false); _ItemListPage.gameObject.SetActive(false); _NoneWatchPanel.SetActive(true); CG_REQ_USER_SHOP_FOCUS_ITEMS packet = (CG_REQ_USER_SHOP_FOCUS_ITEMS)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_USER_SHOP_FOCUS_ITEMS); packet.SetState((int)CG_REQ_USER_SHOP_FOCUS_ITEMS.EUserShopFocusState.EFocusItemOnSale); packet.SendPacket(); } public void OnBtnFind() { _BtnFind.Selected(); _BuyItemMenu.ClearSelect(1); _IsShowWatchPanel = false; _NoneWatchPanel.SetActive(false); _FindPage.gameObject.SetActive(true); _EquipFilterPaeg.gameObject.SetActive(false); _ItemClassPage.gameObject.SetActive(false); _ItemListPage.gameObject.SetActive(false); } private void ShowEquipFilter(int filterType) { _FindPage.gameObject.SetActive(false); _EquipFilterPaeg.gameObject.SetActive(true); _ItemClassPage.gameObject.SetActive(false); _ItemListPage.gameObject.SetActive(false); _NoneWatchPanel.SetActive(false); _EquipFilterPaeg.SetEquipFilter(filterType); } private void ShowItemClass() { _FindPage.gameObject.SetActive(false); _EquipFilterPaeg.gameObject.SetActive(false); _ItemClassPage.gameObject.SetActive(true); _ItemListPage.gameObject.SetActive(false); _NoneWatchPanel.SetActive(false); _ItemClassPage.ShowItemClass(_SelectedPage.ItemClass, _SelectedPage.ItemSubClass, false); } public void ShowItemList(List itemDataID, int itemCnt, int isRare = 2) { _FindPage.gameObject.SetActive(false); _EquipFilterPaeg.gameObject.SetActive(false); _ItemClassPage.gameObject.SetActive(false); _ItemListPage.gameObject.SetActive(true); _NoneWatchPanel.SetActive(false); _ItemListPage.ShowItemType(itemDataID, itemCnt, isRare); } private void ShowLikeItemList() { _FindPage.gameObject.SetActive(false); _EquipFilterPaeg.gameObject.SetActive(false); _ItemClassPage.gameObject.SetActive(false); _ItemListPage.gameObject.SetActive(true); _NoneWatchPanel.SetActive(false); } #endregion }