using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class FashionDressQualityBehaviour : MonoBehaviour
|
{
|
[SerializeField] int m_Quality = 0;
|
[SerializeField] Transform m_ContainerSelect;
|
[SerializeField] Transform m_ContainerNormal;
|
[SerializeField] Transform m_Redpoint;
|
[SerializeField] Shadow m_QualityShadow;
|
[SerializeField] Button m_Select;
|
|
FashionDressModel model
|
{
|
get { return ModelCenter.Instance.GetModel<FashionDressModel>(); }
|
}
|
|
private void Awake()
|
{
|
m_Select.AddListener(OnSelect);
|
}
|
|
public void Display()
|
{
|
model.selectQualityRefresh += SelectQualityRefresh;
|
model.selectTypeRefresh += SelectTypeRefresh;
|
RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
|
DisplaySelect();
|
DisplayRedpoint();
|
}
|
|
void DisplaySelect()
|
{
|
bool selected = model.selectQuality == m_Quality;
|
m_ContainerSelect.SetActive(selected);
|
m_ContainerNormal.SetActive(!selected);
|
m_QualityShadow.enabled = selected;
|
}
|
|
void DisplayRedpoint()
|
{
|
var requireRedpoint = false;
|
List<int> list;
|
if (model.levelUpRedpoint.state == RedPointState.Simple
|
&& model.TryGetFashionDresses(model.selectType, m_Quality, out list)
|
&& list.Contains(model.fashionDressRedpointId))
|
{
|
requireRedpoint = true;
|
}
|
m_Redpoint.SetActive(requireRedpoint);
|
}
|
|
public void Dispose()
|
{
|
model.selectQualityRefresh -= SelectQualityRefresh;
|
model.selectTypeRefresh -= SelectTypeRefresh;
|
RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
|
}
|
|
private void RedpointValueChangeEvent(int id)
|
{
|
if (model.levelUpRedpoint.id == id)
|
{
|
DisplayRedpoint();
|
}
|
}
|
|
private void SelectQualityRefresh()
|
{
|
DisplaySelect();
|
}
|
|
private void SelectTypeRefresh()
|
{
|
DisplayRedpoint();
|
}
|
|
private void OnSelect()
|
{
|
List<int> list;
|
if (!model.TryGetFashionDresses(model.selectType, m_Quality, out list)
|
|| list.Count == 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("NoneOfSelectQualityFashionDress");
|
return;
|
}
|
model.selectQuality = m_Quality;
|
}
|
}
|
}
|
|