From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../Scripts/XMainClient/UI/XNpcAttrHandler.cs | 99 ++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XNpcAttrHandler.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XNpcAttrHandler.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XNpcAttrHandler.cs b/Client/Assets/Scripts/XMainClient/UI/XNpcAttrHandler.cs new file mode 100644 index 00000000..c284ee6b --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XNpcAttrHandler.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + internal class XNpcAttrHandler : DlgHandlerBase + { + protected override string FileName + { + get + { + return "GameSystem/NPCBlessing/NpcAttrHandler"; + } + } + + private XNPCFavorDocument m_doc; + + private IXUIList m_BasicUIList; + + private XUIPool m_BasicAttrPool = new XUIPool(XSingleton.singleton.m_uiTool); + + private IXUIList m_OtherUIList; + + private XUIPool m_OtherAttrPool = new XUIPool(XSingleton.singleton.m_uiTool); + + protected override void Init() + { + base.Init(); + this.m_doc = XDocuments.GetSpecificDocument(XNPCFavorDocument.uuID); + this.m_BasicUIList = (base.transform.Find("AttrGrid").GetComponent("XUIList") as IXUIList); + Transform transform = this.m_BasicUIList.gameObject.transform.Find("Tpl"); + this.m_BasicAttrPool.SetupPool(this.m_BasicUIList.gameObject, transform.gameObject, 10u, false); + transform.gameObject.SetActive(false); + this.m_OtherUIList = (base.transform.Find("NoBasicAttrGrid").GetComponent("XUIList") as IXUIList); + Transform transform2 = this.m_OtherUIList.gameObject.transform.Find("Tpl"); + this.m_OtherAttrPool.SetupPool(this.m_OtherUIList.gameObject, transform2.gameObject, 5u, false); + transform2.gameObject.SetActive(false); + } + + protected override void OnShow() + { + this.RefreshData(); + } + + public override void RefreshData() + { + this.RefreshAttr(); + } + + private void RefreshAttr() + { + this.m_BasicAttrPool.FakeReturnAll(); + this.m_OtherAttrPool.FakeReturnAll(); + Dictionary dictSumAttr = this.m_doc.DictSumAttr; + foreach (KeyValuePair keyValuePair in dictSumAttr) + { + uint key = keyValuePair.Key; + //Dictionary.Enumerator enumerator; + //keyValuePair = enumerator.Current; + uint value = keyValuePair.Value; + bool flag = XAttributeCommon.IsBasicRange((int)key); + GameObject gameObject; + if (flag) + { + gameObject = this.m_BasicAttrPool.FetchGameObject(false); + gameObject.transform.parent = this.m_BasicUIList.gameObject.transform; + } + else + { + gameObject = this.m_OtherAttrPool.FetchGameObject(false); + gameObject.transform.parent = this.m_OtherUIList.gameObject.transform; + } + gameObject.transform.localScale = Vector3.one; + this.DrawAttr(gameObject.transform, key, value); + } + this.m_BasicAttrPool.ActualReturnAll(false); + this.m_OtherAttrPool.ActualReturnAll(false); + this.m_BasicUIList.Refresh(); + this.m_OtherUIList.Refresh(); + } + + public override void OnUnload() + { + this.m_doc = null; + base.OnUnload(); + } + + private void DrawAttr(Transform item, uint attrId, uint attrValue) + { + IXUILabel ixuilabel = item.Find("Name").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = item.Find("Value").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(XAttributeCommon.GetAttrStr((int)attrId)); + ixuilabel2.SetText(XAttributeCommon.GetAttrValueStr(attrId, attrValue, true)); + } + } +} -- cgit v1.1-26-g67d0