using UnityEngine; using UnityEngine.UI; using vnxbqy.UI; using System.Linq; namespace vnxbqy.UI { public class GemElementObj : MonoBehaviour { Image _gemIcon; Image gemIcon { get { return _gemIcon ?? (_gemIcon = transform.Find("GemType/GemBG/GemIcon").GetComponent()); } } Text _gemName; Text gemName { get { return _gemName ?? (_gemName = transform.Find("GemType/NameText").GetComponent()); } } Image _gemLock; Image gemLock { get { return _gemLock ?? (_gemLock = transform.Find("GemType/GemBG/GemLock").GetComponent()); } } Image _gemVipIcon; Image gemVipIcon { get { return _gemVipIcon ?? (_gemVipIcon = transform.Find("GemType/NameText/Vip5BG").GetComponent()); } } Text _gemAttrDes; Text gemAttrDes { get { return _gemAttrDes ?? (_gemAttrDes = transform.Find("ElementText").GetComponent()); } } int index = 0; int equipPlace = 0; bool isLock = true; ItemConfig itemConfig; ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel()); } } public void InitModel(int stoneId,int index,int equipPlace,bool isLock) { this.index = index; this.isLock = isLock; this.equipPlace = equipPlace; itemConfig = ItemConfig.Get(stoneId); InitUI(stoneId); } private void InitUI(int stoneId) { if(stoneId == 0) { gemName.text = Language.Get("KnapS117"); if (isLock) { if(index != 3) { SetGemObjUI(false, true, false, false); } else { SetGemObjUI(false, true,true, false); } } else { if (index != 3) { SetGemObjUI(false, false, false, false); } else { SetGemObjUI(false, false,true, false); } } } else { gemName.text = itemConfig.ItemName; if (index != 3) { SetGemObjUI(true, false, false, true); } else { SetGemObjUI(true, false, true, true); } if (itemTipsModel.gemType1s.Contains(this.equipPlace)) { gemIcon.SetSprite("Member_Online"); } else if (itemTipsModel.gemType2s.Contains(this.equipPlace)) { gemIcon.SetSprite("Member_Offline"); } } } private void SetGemObjUI(params bool[] isShow) { gemIcon.SetActive(isShow[0]); gemLock.SetActive(isShow[1]); gemVipIcon.SetActive(isShow[2]); gemAttrDes.SetActive(isShow[3]); } } }