Files
JJBB/Assets/Project/Script/GUI/Market/MarketPlayerPublicity.cs

201 lines
5.5 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using Games.Item;
using System.Collections.Generic;
public class MarketPlayerPublicity : UIControllerBase<MarketPlayerPublicity>
{
void Awake()
{
InitMenu();
}
// Use this for initialization
void OnEnable ()
{
SetInstance(this);
_BuyPage.SetActive(true);
UpdatePage();
}
void OnDisable()
{
SetInstance(null);
}
// Update is called once per frame
void Update ()
{
}
#region showPage
public GameObject _BuyPage;
public UISubScollMenu _BuyItemMenu;
public MarketFindPage _FindPage;
public MarketEquipFilterPage _EquipFilterPaeg;
public MarketItemClassPage _ItemClassPage;
public MarketItemListPage _ItemListPage;
public UICurrencyItem _OwnMoney;
public GameObject _NoneWatchPanel;
private bool _IsShowWatchPanel = false;
private Market.MarketItemClass _SelectedPage;
public Market.MarketItemClass SelectedPage
{
get
{
return _SelectedPage;
}
}
private void InitMenu()
{
_BuyItemMenu.PushMenu(new Market.MarketItemClass(999, 1));
_BuyItemMenu.PushMenu(new Market.MarketItemClass(998, 1));
_BuyItemMenu.PushMenu(new Market.MarketItemClass(1, 2));
_BuyItemMenu.PushMenu(new Market.MarketItemClass(1, 3));
_BuyItemMenu.PushMenu(Market.GetMarketClassName(9, 4), new Market.MarketItemClass[4] { new Market.MarketItemClass(6, 2), new Market.MarketItemClass(7, 1) , new Market.MarketItemClass(7, 2), new Market.MarketItemClass(9, 1) });
}
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();
_BuyItemMenu.ShowDefaultFirst();
}
public void OnMenu(object menuObj)
{
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 == 998)//关注
{
ShowItemList(null, MarketItemListPage.SHOW_ITEM_CNT_PER_PAGE);
}
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.EFocustemOnShow);
packet.SendPacket();
}
private void ShowEquipFilter(int filterType)
{
_FindPage.gameObject.SetActive(false);
_EquipFilterPaeg.gameObject.SetActive(true);
_ItemClassPage.gameObject.SetActive(false);
_ItemListPage.gameObject.SetActive(false);
_EquipFilterPaeg.SetEquipFilter(filterType);
}
private void ShowItemClass()
{
_FindPage.gameObject.SetActive(false);
_EquipFilterPaeg.gameObject.SetActive(false);
_ItemClassPage.gameObject.SetActive(true);
_ItemListPage.gameObject.SetActive(false);
_ItemClassPage.ShowItemClass(_SelectedPage.ItemClass, _SelectedPage.ItemSubClass, true);
}
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);
_ItemListPage.ShowItemType(itemDataID, itemCnt, isRare);
}
private void ShowLikeItemList()
{
_FindPage.gameObject.SetActive(false);
_EquipFilterPaeg.gameObject.SetActive(false);
_ItemClassPage.gameObject.SetActive(false);
_ItemListPage.gameObject.SetActive(true);
}
#endregion
}