using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { [XLua.Hotfix] public class GatherSoulComposeCategoryCell : CellView { [SerializeField] Image m_Bottom; [SerializeField] Text m_CategoryName; [SerializeField] Image m_Arrow; [SerializeField] RedpointBehaviour m_Redpoint; [SerializeField] Button m_Func; GatherSoulComposeModel model { get { return ModelCenter.Instance.GetModel(); } } GatherSoulComposeModel.ComposeCategory category; private void Awake() { m_Func.AddListener(OnFunc); } private void OnFunc() { if (model.selectCategory.Equals(category)) { model.selectCategory = default(GatherSoulComposeModel.ComposeCategory); } else { model.selectCategory = category; } } public void Display(GatherSoulComposeModel.ComposeCategory category) { this.category = category; bool isSelect = model.selectCategory.Equals(category); m_Arrow.transform.localEulerAngles = isSelect ? new Vector3(0, 0, -90) : Vector3.zero; m_Bottom.SetSprite(isSelect ? "ComposeFirstClassChoosebtn" : "ComposeFirstClassNormalbtn"); var qualityNameKey = StringUtility.Contact("QualityName_", category.quality); var propertyCountNameKey = StringUtility.Contact("SoulPropertyCountName_", category.propertyCount); switch (category.category) { case 1: m_CategoryName.text = StringUtility.Contact(Language.Get(qualityNameKey), Language.Get(propertyCountNameKey), Language.Get("SoulCategoryProperty")); break; case 2: m_CategoryName.text = StringUtility.Contact(Language.Get(qualityNameKey), Language.Get(propertyCountNameKey), Language.Get("ComposeSoulCore")); break; case 3: m_CategoryName.text = StringUtility.Contact(Language.Get(qualityNameKey), Language.Get("ComposeSoulPromotion")); break; case 4: m_CategoryName.text = StringUtility.Contact(Language.Get(propertyCountNameKey), Language.Get("SoulCategoryProperty"), Language.Get("ComposeHolySoul")); break; } } } }