//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, December 05, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; namespace vnxbqy.UI { public class RealmBetterEquipBehaviour : MonoBehaviour, IInGamePush { [SerializeField] RectTransform m_ContainerBetterEquip; [SerializeField] ItemCell m_EquipBehaviour; [SerializeField] Text m_EquipName; [SerializeField] Button m_Close; [SerializeField] Button m_Puton; [SerializeField] Button m_BetterEquipDetail; RealmBetterEquipModel model { get { return ModelCenter.Instance.GetModel(); } } private void OnEnable() { m_Close.AddListener(CloseBetterEquip); m_Puton.AddListener(PutOnBetterEquip); m_BetterEquipDetail.AddListener(ShowBetterEquipDetails); } private void OnDisable() { m_Close.RemoveAllListeners(); m_Puton.RemoveAllListeners(); m_BetterEquipDetail.RemoveAllListeners(); } public void ShowBetterEquip() { m_ContainerBetterEquip.SetActive(false); if (!string.IsNullOrEmpty(model.currentEquipGuid)) { ItemModel betterEquip; if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip)) { DrawBetterEquip(betterEquip); m_ContainerBetterEquip.SetActive(true); } } } private void PutOnBetterEquip() { ItemOperateUtility.Instance.PutOnItem(model.currentEquipGuid); model.ReportConfirmBetterEquip(model.currentEquipGuid); } private void ShowBetterEquipDetails() { ItemModel betterEquip; if (model.TryGetBetterEquip(model.currentEquipGuid, out betterEquip)) { ItemTipUtility.Show(betterEquip.guid, false); } } private void CloseBetterEquip() { model.ReportConfirmBetterEquip(model.currentEquipGuid); } private void DrawBetterEquip(ItemModel betterModel) { var itemConfig = ItemConfig.Get(betterModel.itemId); m_EquipName.text = itemConfig.ItemName; m_EquipName.color = UIHelper.GetUIColor(itemConfig.ItemColor, true); m_EquipBehaviour.button.enabled = false; m_EquipBehaviour.Init(betterModel, true); } public int GetSiblingIndex() { return transform.GetSiblingIndex(); } public bool IsActive() { return transform.gameObject.activeSelf && m_ContainerBetterEquip.gameObject.activeSelf; } } }