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/XDragonGuildTaskView.cs | 272 +++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/UI/XDragonGuildTaskView.cs (limited to 'Client/Assets/Scripts/XMainClient/UI/XDragonGuildTaskView.cs') diff --git a/Client/Assets/Scripts/XMainClient/UI/XDragonGuildTaskView.cs b/Client/Assets/Scripts/XMainClient/UI/XDragonGuildTaskView.cs new file mode 100644 index 00000000..f4806e70 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/UI/XDragonGuildTaskView.cs @@ -0,0 +1,272 @@ +using System; +using System.Collections.Generic; +using UILib; +using UnityEngine; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient.UI +{ + public class XDragonGuildTaskView : DlgBase + { + public uint CurFrame + { + get + { + return this._curframe; + } + } + + public override string fileName + { + get + { + return "DungeonTroop/DungeonTroopTask"; + } + } + + public override int layer + { + get + { + return 1; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + public override bool fullscreenui + { + get + { + return false; + } + } + + private uint _curframe; + + private XDragonGuildTaskDocument _doc = null; + + protected override void Init() + { + base.Init(); + this._curframe = 1u; + this._doc = XDocuments.GetSpecificDocument(XDragonGuildTaskDocument.uuID); + this._doc.View = this; + base.uiBehaviour.m_wrapcontent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.UpdateDailyTask)); + base.uiBehaviour.m_task.ID = 1UL; + base.uiBehaviour.m_task.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnTabStateChange)); + base.uiBehaviour.m_achieve.ID = 2UL; + base.uiBehaviour.m_achieve.RegisterOnCheckEventHandler(new CheckBoxOnCheckEventHandler(this.OnTabStateChange)); + } + + protected override void OnShow() + { + base.OnShow(); + this._doc.ReqInfo(); + } + + protected override void OnHide() + { + base.OnHide(); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + base.uiBehaviour.m_close.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnCloseClick)); + } + + public override void StackRefresh() + { + base.StackRefresh(); + } + + protected override void OnUnload() + { + base.OnUnload(); + this._doc.View = null; + } + + public override void OnUpdate() + { + base.OnUpdate(); + } + + public bool OnTabStateChange(IXUICheckBox check) + { + bool bChecked = check.bChecked; + if (bChecked) + { + this.OnTabClicked((int)check.ID); + } + return true; + } + + private void OnTabClicked(int index) + { + this._curframe = (uint)index; + this._doc.ReqInfo(); + } + + public void RefreshUI() + { + this.UpdateProgress(); + this.UpdateRedPoint(); + bool flag = this.CurFrame == 1u; + if (flag) + { + this.RefreshTaskUI(); + } + else + { + bool flag2 = this.CurFrame == 2u; + if (flag2) + { + this.RefreshAchieveUI(); + } + } + base.uiBehaviour.m_GuildLevel.SetText("Lv." + XDragonGuildDocument.Doc.BaseData.level.ToString()); + } + + private void UpdateRedPoint() + { + base.uiBehaviour.m_taskrep.gameObject.SetActive(this._doc.HadTaskRedPoint()); + base.uiBehaviour.m_acieverep.gameObject.SetActive(this._doc.HadAchieveRedPoint()); + } + + private bool OnCloseClick(IXUIButton btn) + { + this.SetVisible(false, true); + return true; + } + + private void UpdateDailyTask(Transform t, int index) + { + XDragonGuildTpl dataByindex = this._doc.GetDataByindex(index, this._curframe); + Transform transform = t.Find("HadGet"); + IXUILabel ixuilabel = t.Find("Title").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel2 = t.Find("Describe").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel3 = t.Find("Describe/T/ExpAddup").GetComponent("XUILabel") as IXUILabel; + IXUIButton ixuibutton = t.Find("GetBtn").GetComponent("XUIButton") as IXUIButton; + ixuibutton.ID = (ulong)dataByindex.id; + Transform transform2 = t.Find("GetBtn/Text"); + Transform transform3 = t.Find("GetBtn/Text_cant"); + Transform transform4 = t.Find("GetBtn/Text_over"); + Transform transform5 = t.Find("Times"); + IXUILabel ixuilabel4 = t.Find("Times/LeftTimes").GetComponent("XUILabel") as IXUILabel; + IXUILabel ixuilabel5 = t.Find("Time").GetComponent("XUILabel") as IXUILabel; + List list = new List(); + Transform transform6 = t.Find("Items"); + for (int i = 0; i < 3; i++) + { + list.Add(transform6.GetChild(i)); + } + ixuilabel.SetText(dataByindex.title); + ixuilabel5.SetText(string.Format("{0}/{1}", dataByindex.doingCount, dataByindex.finishCount)); + ixuilabel2.SetText(dataByindex.desc); + ixuilabel3.SetText("+" + dataByindex.exp.ToString()); + transform2.gameObject.SetActive(dataByindex.state == 2); + transform3.gameObject.SetActive(dataByindex.state == 1); + transform4.gameObject.SetActive(dataByindex.state == 4); + transform.gameObject.SetActive(dataByindex.state == 3); + transform5.gameObject.SetActive(this.CurFrame == 2u); + ixuibutton.gameObject.SetActive(dataByindex.state != 3); + bool flag = dataByindex.state == 4 || dataByindex.state == 1; + if (flag) + { + ixuibutton.SetEnable(false, false); + } + else + { + ixuibutton.SetEnable(true, false); + } + bool flag2 = dataByindex.state == 2; + if (flag2) + { + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnTaskOrAchieveClick)); + } + bool flag3 = this.CurFrame == 2u; + if (flag3) + { + ixuilabel4.SetText(dataByindex.lefttime.ToString()); + } + for (int j = 0; j < 3; j++) + { + list[j].gameObject.SetActive(true); + bool flag4 = j >= dataByindex.item.Count; + if (flag4) + { + list[j].gameObject.SetActive(false); + } + else + { + XSingleton.singleton.normalItemDrawer.DrawItem(list[j].gameObject, (int)dataByindex.item[j, 0], (int)dataByindex.item[j, 1], true); + XSingleton.singleton.normalItemDrawer.OpenClickShowTooltipEvent(list[j].gameObject, (int)dataByindex.item[j, 0]); + } + } + } + + private bool OnTaskOrAchieveClick(IXUIButton btn) + { + int id = (int)btn.ID; + bool flag = this.CurFrame == 1u; + if (flag) + { + this._doc.ReqFetchTask(id); + } + else + { + bool flag2 = this.CurFrame == 2u; + if (flag2) + { + this._doc.ReqFetchAchieve(id); + } + } + return true; + } + + public void OnTaskFetch(uint id) + { + for (int i = 0; i < this._doc.m_tasklist.Count; i++) + { + bool flag = id == this._doc.m_tasklist[i].id; + if (flag) + { + this._doc.m_tasklist[i].state = 3; + } + } + this.RefreshUI(); + } + + private void UpdateProgress() + { + base.uiBehaviour.m_GuildExpCur.SetText(XDragonGuildDocument.Doc.BaseData.curexp.ToString()); + base.uiBehaviour.m_GuildExpMax.SetText("/" + XDragonGuildDocument.Doc.GetMaxExp().ToString()); + base.uiBehaviour.m_progress.value = XDragonGuildDocument.Doc.BaseData.curexp / XDragonGuildDocument.Doc.GetMaxExp(); + } + + private void RefreshTaskUI() + { + base.uiBehaviour.m_cdrewards.SetText(this._doc.m_taskresettime); + base.uiBehaviour.m_wrapcontent.SetContentCount(this._doc.m_tasklist.Count, false); + base.uiBehaviour.m_cdrewards.SetVisible(true); + base.uiBehaviour.m_Toptask.gameObject.SetActive(true); + base.uiBehaviour.m_Topachieve.gameObject.SetActive(false); + } + + private void RefreshAchieveUI() + { + base.uiBehaviour.m_wrapcontent.SetContentCount(this._doc.m_achievelist.Count, false); + base.uiBehaviour.m_cdrewards.SetVisible(false); + base.uiBehaviour.m_Toptask.gameObject.SetActive(false); + base.uiBehaviour.m_Topachieve.gameObject.SetActive(true); + } + } +} -- cgit v1.1-26-g67d0