using System; using System.Collections.Generic; using UILib; using UnityEngine; using XUtliPoolLib; namespace XMainClient.UI { internal class EmblemTotalAttributeView : DlgHandlerBase { protected override string FileName { get { return "ItemNew/TotalAttribute"; } } private XEmblemDocument m_doc; private GameObject _HadGo; private GameObject _NoGo; public IXUISprite m_closedBtn; public XUIPool m_AttriPool = new XUIPool(XSingleton.singleton.m_uiTool); public XUIPool m_SkillPool = new XUIPool(XSingleton.singleton.m_uiTool); public XUIPool m_TittlePool = new XUIPool(XSingleton.singleton.m_uiTool); protected override void Init() { base.Init(); this.m_doc = XDocuments.GetSpecificDocument(XEmblemDocument.uuID); this.m_closedBtn = (base.PanelObject.transform.Find("ClisedSpr").GetComponent("XUISprite") as IXUISprite); this.m_closedBtn.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnClickClosedBtn)); this._HadGo = base.PanelObject.transform.Find("HadEmblem").gameObject; this._NoGo = base.PanelObject.transform.Find("NoEmblem").gameObject; Transform transform = this._HadGo.transform.Find("Grid"); this.m_AttriPool.SetupPool(transform.gameObject, this._HadGo.transform.Find("AttriItem").gameObject, 2u, false); this.m_SkillPool.SetupPool(transform.gameObject, this._HadGo.transform.Find("SkillItem").gameObject, 2u, false); this.m_TittlePool.SetupPool(transform.gameObject, this._HadGo.transform.Find("TittleItem").gameObject, 2u, false); } protected override void OnShow() { base.OnShow(); this.FillContent(); } public override void OnUnload() { base.OnUnload(); } private void FillContent() { this._HadGo.SetActive(false); this._NoGo.SetActive(false); bool isEquipEmblem = this.m_doc.IsEquipEmblem; if (isEquipEmblem) { this.FillHadContent(); } else { this.FillNoContent(); } } private void FillHadContent() { this._HadGo.SetActive(true); this.m_AttriPool.ReturnAll(false); this.m_TittlePool.ReturnAll(false); this.m_SkillPool.ReturnAll(false); List list = new List(); List list2 = new List(); List list3 = new List(); this.GetData(ref list, ref list2, ref list3); int num = 0; GameObject gameObject = this.m_TittlePool.FetchGameObject(false); gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)num), 0f); IXUILabel ixuilabel = gameObject.transform.Find("Tittle").GetComponent("XUILabel") as IXUILabel; ixuilabel.SetText(XStringDefineProxy.GetString("EmblemAttriTittle")); num += this.m_TittlePool.TplHeight; for (int i = 0; i < list.Count; i++) { gameObject = this.m_AttriPool.FetchGameObject(false); gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)num), 0f); ixuilabel = (gameObject.transform.Find("Name").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(list[i].Name); ixuilabel = (gameObject.transform.Find("Num").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(list[i].NumStr); num += this.m_AttriPool.TplHeight; } num += 20; for (int j = 0; j < list2.Count; j++) { gameObject = this.m_AttriPool.FetchGameObject(false); gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)num), 0f); ixuilabel = (gameObject.transform.Find("Name").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(list2[j].Name); ixuilabel = (gameObject.transform.Find("Num").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(list2[j].NumStr); num += this.m_AttriPool.TplHeight; } bool flag = list3.Count <= 0; if (!flag) { num += 30; gameObject = this.m_TittlePool.FetchGameObject(false); gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)num), 0f); ixuilabel = (gameObject.transform.Find("Tittle").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(XStringDefineProxy.GetString("EmblemSkillTittle")); num += this.m_TittlePool.TplHeight; for (int k = 0; k < list3.Count; k++) { gameObject = this.m_SkillPool.FetchGameObject(false); gameObject.transform.localPosition = new Vector3(0f, (float)(-(float)num), 0f); ixuilabel = (gameObject.transform.Find("Level").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(list3[k].NeedLevelStr); ixuilabel = (gameObject.transform.Find("SkillName").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(list3[k].SkillDes); num += this.m_SkillPool.TplHeight; } } } private void GetData(ref List lst1, ref List lst2, ref List lst3) { List list = this.m_doc.AttriDataList(); for (int i = 0; i < list.Count; i++) { bool flag = list[i].TypeID == 1u; if (flag) { lst1.Add(list[i]); } else { bool flag2 = list[i].TypeID == 2u; if (flag2) { lst2.Add(list[i]); } else { bool flag3 = list[i].TypeID == 3u; if (flag3) { lst3.Add(list[i]); } } } } } private void FillNoContent() { this._NoGo.SetActive(true); IXUILabel ixuilabel = this._NoGo.transform.Find("Tittle1").GetComponent("XUILabel") as IXUILabel; ixuilabel.SetText(XStringDefineProxy.GetString("EmblemAttriTittle")); ixuilabel = (this._NoGo.transform.Find("Content1").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(XStringDefineProxy.GetString("EmblemAttriDes")); ixuilabel = (this._NoGo.transform.Find("Tittle2").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(XStringDefineProxy.GetString("EmblemSkillTittle")); ixuilabel = (this._NoGo.transform.Find("Content2").GetComponent("XUILabel") as IXUILabel); ixuilabel.SetText(XStringDefineProxy.GetString("EmblemSkillDes")); } private void OnClickClosedBtn(IXUISprite spr) { base.SetVisible(false); } } }