//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, March 08, 2019 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using System; namespace vnxbqy.UI { public class MyFocusAuctionBehaviour : MonoBehaviour,IInGamePush { [SerializeField] Transform m_Container; [SerializeField] ItemCell m_ItemCell; [SerializeField] Text m_ItemName; [SerializeField] Button m_Close; [SerializeField] Button m_Goto; AuctionModel model { get { return ModelCenter.Instance.GetModel(); } } public void Init() { gameObject.SetActive(true); model.onFocusAuctionRefresh += OnFocusAuctionRefresh; NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent; Display(); m_Close.SetListener(OnClose); m_Goto.SetListener(Goto); } public void Unit() { model.onFocusAuctionRefresh -= OnFocusAuctionRefresh; NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent; m_Container.SetActive(false); } private void GuideCompletedEvent(int id) { if (gameObject.activeInHierarchy) { StartCoroutine(Co_Display()); } } IEnumerator Co_Display() { yield return null; Display(); } void Display() { FocusAuctionItem item; if (!NewBieCenter.Instance.inGuiding && model.TryGetFocusAuctionPop(out item)) { DisplayFocus(item); } else { m_Container.SetActive(false); } } void DisplayFocus(FocusAuctionItem focusAuctionItem) { m_Container.SetActive(true); ItemCellModel cellModel = new ItemCellModel(focusAuctionItem.itemId, true, (ulong)1); m_ItemCell.Init(cellModel); m_ItemCell.button.SetListener(() => { ItemTipUtility.Show(focusAuctionItem.itemId); }); var itemConfig = ItemConfig.Get(focusAuctionItem.itemId); if (itemConfig != null) { m_ItemName.text = itemConfig.ItemName; } } private void OnClose() { model.RemoveFocusItemPop(); Display(); } private void OnFocusAuctionRefresh() { Display(); } private void Goto() { FocusAuctionItem item; if (model.TryGetFocusAuctionPop(out item)) { model.LocationMyFocusItem(item.itemGuid); } OnClose(); } public int GetSiblingIndex() { return transform.GetSiblingIndex(); } public bool IsActive() { return m_Container.gameObject.activeSelf && transform.gameObject.activeSelf; } } }