using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class FashionDressTypeBehaviour : MonoBehaviour { [SerializeField] int m_FashionDressType; [SerializeField] Button m_Select; [SerializeField] RectTransform m_ContainerSelect; [SerializeField] RectTransform m_ContainerNormal; [SerializeField] Transform m_SelectRedpoint; [SerializeField] Transform m_NormalRedpoint; FashionDressModel model { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { m_Select.onClick.AddListener(OnSelect); } public void Display() { model.selectTypeRefresh += SelectEquipPlaceRefresh; RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent; DisplaySelect(); DisplayRedpoint(); } void DisplaySelect() { m_ContainerSelect.gameObject.SetActive(m_FashionDressType == model.selectType); m_ContainerNormal.gameObject.SetActive(m_FashionDressType != model.selectType); } void DisplayRedpoint() { var requireRedpoint = false; List list; if (model.levelUpRedpoint.state == RedPointState.Simple && model.TryGetFashionDresses(m_FashionDressType, out list) && list.Contains(model.fashionDressRedpointId)) { requireRedpoint = true; } m_SelectRedpoint.gameObject.SetActive(requireRedpoint); m_NormalRedpoint.gameObject.SetActive(requireRedpoint); } public void Dispose() { model.selectTypeRefresh -= SelectEquipPlaceRefresh; RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent; } private void RedpointValueChangeEvent(int id) { if (model.levelUpRedpoint.id == id) { DisplayRedpoint(); } } private void SelectEquipPlaceRefresh() { DisplaySelect(); } private void OnSelect() { model.selectType = m_FashionDressType; } } }