261 lines
8.3 KiB
C#
261 lines
8.3 KiB
C#
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
using System.Collections;
|
|||
|
using Games.Item;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
public class MarketPlayerBuy : UIControllerBase<MarketPlayerBuy>
|
|||
|
{
|
|||
|
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<int> 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
|
|||
|
|
|||
|
|
|||
|
}
|