From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../XMainClient/Guild/XGuildDailyRefreshTaskDlg.cs | 223 +++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/Guild/XGuildDailyRefreshTaskDlg.cs (limited to 'Client/Assets/Scripts/XMainClient/Guild/XGuildDailyRefreshTaskDlg.cs') diff --git a/Client/Assets/Scripts/XMainClient/Guild/XGuildDailyRefreshTaskDlg.cs b/Client/Assets/Scripts/XMainClient/Guild/XGuildDailyRefreshTaskDlg.cs new file mode 100644 index 00000000..5b4b3346 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/Guild/XGuildDailyRefreshTaskDlg.cs @@ -0,0 +1,223 @@ +using System; +using System.Collections.Generic; +using KKSG; +using UILib; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class XGuildDailyRefreshTaskDlg : DlgBase + { + public override string fileName + { + get + { + return "Guild/DailyTaskInviteDlg"; + } + } + + public override bool autoload + { + get + { + return true; + } + } + + protected override void OnLoad() + { + base.OnLoad(); + } + + public override void RegisterEvent() + { + base.RegisterEvent(); + } + + protected override void OnUnload() + { + base.OnUnload(); + } + + protected override void Init() + { + base.Init(); + this.InitProperties(); + } + + protected override void OnShow() + { + base.OnShow(); + XGuildDailyTaskDocument.Doc.SendToRefreshTasks(); + } + + public override void StackRefresh() + { + base.StackRefresh(); + } + + public void RefreshContent() + { + base.uiBehaviour.RefreshTimesLabel.SetText(XGuildDailyTaskDocument.Doc.Refresh_num.ToString()); + List dailyTaskRefreshRoleInfoList = XGuildDailyTaskDocument.Doc.DailyTaskRefreshRoleInfoList; + base.uiBehaviour.WrapContent.SetContentCount(dailyTaskRefreshRoleInfoList.Count, false); + base.uiBehaviour.ScrollView.ResetPosition(); + base.uiBehaviour.TaskLevelSprite.SetSprite(base.uiBehaviour.TaskLevelSprite.spriteName.Substring(0, base.uiBehaviour.TaskLevelSprite.spriteName.Length - 1) + XGuildDailyTaskDocument.Doc.CurScore); + } + + private void InitProperties() + { + base.uiBehaviour.WrapContent.RegisterItemInitEventHandler(new WrapItemInitEventHandler(this.InitWrapContent)); + base.uiBehaviour.WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.UpdateWrapContent)); + base.uiBehaviour.AddSprite.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnAddRefreshTimes)); + base.uiBehaviour.CloseBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClose)); + base.uiBehaviour.HelpOtherRefresh.RegisterSpriteClickEventHandler(new SpriteClickEventHandler(this.OnHelpOthers)); + } + + private void OnHelpOthers(IXUISprite button) + { + this.SetVisible(false, true); + bool inGuild = XGuildDocument.InGuild; + if (inGuild) + { + DlgBase.singleton.SetVisible(true, true); + } + else + { + DlgBase.singleton.SetVisibleWithAnimation(true, null); + } + } + + private bool OnClose(IXUIButton button) + { + this.SetVisible(false, true); + XGuildDailyTaskDocument.Doc.SendGetDailyTaskInfo(); + return true; + } + + private void OnAddRefreshTimes(IXUISprite uiSprite) + { + List intList = XSingleton.singleton.GetIntList("BuyRefreshCost"); + int @int = XSingleton.singleton.GetInt("MaxBuyRefreshCount"); + uint todayBuyNumber = XGuildDailyTaskDocument.Doc.TodayBuyNumber; + bool flag = (ulong)todayBuyNumber < (ulong)((long)@int); + if (flag) + { + int num = intList[Mathf.Min(intList.Count - 1, (int)todayBuyNumber)]; + ulong virtualItemCount = XBagDocument.BagDoc.GetVirtualItemCount(ItemEnum.DRAGON_COIN); + bool flag2 = (ulong)num <= virtualItemCount; + if (flag2) + { + string format = XSingleton.singleton.ReplaceReturn(XStringDefineProxy.GetString("BuyRefreshTaskCountStr")); + XSingleton.singleton.ShowModalDialog(string.Format(format, num, (long)@int - (long)((ulong)todayBuyNumber)), new ButtonClickEventHandler(this.ConfirmToBuy)); + } + else + { + DlgBase.singleton.ShowBorad(7); + } + } + else + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("ReachedToMaxBuyNumbers"), "fece00"); + } + } + + private bool ConfirmToBuy(IXUIButton button) + { + XSingleton.singleton.CloseModalDlg(); + XGuildDailyTaskDocument.Doc.SendToRefreshTaskOp(DailyRefreshOperType.DROT_BuyCount, 0UL); + return true; + } + + private void UpdateWrapContent(Transform itemTransform, int index) + { + DailyTaskRefreshRoleInfo refreshTaskItemInfo = XGuildDailyTaskDocument.Doc.GetRefreshTaskItemInfo(index); + bool flag = refreshTaskItemInfo != null; + if (flag) + { + Transform transform = itemTransform.Find("Bg"); + transform.gameObject.SetActive(refreshTaskItemInfo.roleid != XSingleton.singleton.XPlayerData.RoleID); + Transform transform2 = itemTransform.Find("MySelfBg"); + transform2.gameObject.SetActive(refreshTaskItemInfo.roleid == XSingleton.singleton.XPlayerData.RoleID); + IXUIButton ixuibutton = itemTransform.Find("BtnInvite").GetComponent("XUIButton") as IXUIButton; + ixuibutton.ID = refreshTaskItemInfo.roleid; + ixuibutton.SetEnable(!refreshTaskItemInfo.already_ask, false); + string text = (refreshTaskItemInfo.roleid == XSingleton.singleton.XPlayerData.RoleID) ? XStringDefineProxy.GetString("GuildDailyRefreshTask") : XStringDefineProxy.GetString("GuildDailyAskRefresh"); + bool flag2 = refreshTaskItemInfo.already_ask && refreshTaskItemInfo.roleid != XSingleton.singleton.XPlayerData.RoleID; + if (flag2) + { + text = XStringDefineProxy.GetString("AlreadyAsked"); + } + IXUILabel ixuilabel = itemTransform.Find("BtnInvite/Label").GetComponent("XUILabel") as IXUILabel; + ixuilabel.SetText(text); + string text2 = (refreshTaskItemInfo.roleid == XSingleton.singleton.XPlayerData.RoleID) ? (refreshTaskItemInfo.name + XStringDefineProxy.GetString("GuildScoreLogMe")) : refreshTaskItemInfo.name; + IXUILabel ixuilabel2 = itemTransform.Find("Info/Name").GetComponent("XUILabel") as IXUILabel; + ixuilabel2.SetText(text2); + IXUILabel ixuilabel3 = itemTransform.Find("Info/Times").GetComponent("XUILabel") as IXUILabel; + string format = (refreshTaskItemInfo.roleid == XSingleton.singleton.XPlayerData.RoleID) ? XStringDefineProxy.GetString("MyselfLeftRefreshTimes") : XStringDefineProxy.GetString("GuildLeftRefreshTimes"); + ixuilabel3.SetText(string.Format(format, refreshTaskItemInfo.refresh_num)); + IXUILabel ixuilabel4 = itemTransform.Find("Luck").GetComponent("XUILabel") as IXUILabel; + List stringList = XSingleton.singleton.GetStringList("LuckyLevel"); + int index2 = Mathf.Min((int)(refreshTaskItemInfo.luck - 1u), stringList.Count - 1); + ixuilabel4.SetText(stringList[index2]); + List stringList2 = XSingleton.singleton.GetStringList("LuckyLevelColor"); + Color color = XSingleton.singleton.ConvertRGBStringToColor(stringList2[index2]); + ixuilabel4.SetColor(color); + IXUISprite ixuisprite = itemTransform.Find("Info/AvatarBG/Avatar").GetComponent("XUISprite") as IXUISprite; + ixuisprite.SetSprite(XSingleton.singleton.GetProfHeadIcon2((int)refreshTaskItemInfo.profession)); + Transform transform3 = itemTransform.Find("Info/AvatarBG/Relation/Guild"); + transform3.gameObject.SetActive(refreshTaskItemInfo.roleid != XSingleton.singleton.XPlayerData.RoleID); + Transform transform4 = itemTransform.Find("Info/AvatarBG/Online"); + transform4.gameObject.SetActive(refreshTaskItemInfo.is_online); + } + } + + private void InitWrapContent(Transform itemTransform, int index) + { + IXUIButton ixuibutton = itemTransform.Find("BtnInvite").GetComponent("XUIButton") as IXUIButton; + ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnClickToRefreshTask)); + } + + private bool OnClickToRefreshTask(IXUIButton button) + { + ulong id = button.ID; + bool flag = XGuildDailyTaskDocument.Doc.Refresh_num > 0u; + if (flag) + { + bool flag2 = id == XSingleton.singleton.XPlayerData.RoleID; + if (flag2) + { + bool flag3 = XGuildDailyTaskDocument.Doc.CurScore == 4u; + if (flag3) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("DailyTaskGetToBestQuality"), "fece00"); + } + else + { + XGuildDailyTaskDocument.Doc.SendToRefreshTaskOp(DailyRefreshOperType.DROT_Refresh, id); + } + } + else + { + bool flag4 = XGuildDailyTaskDocument.Doc.CurScore == 4u; + if (flag4) + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("DailyTaskGetToBestQuality"), "fece00"); + } + else + { + XGuildDailyTaskDocument.Doc.SendToRefreshTaskOp(DailyRefreshOperType.DROT_AskHelp, id); + } + } + } + else + { + XSingleton.singleton.ShowSystemTip(XStringDefineProxy.GetString("NoRefreshTaskTimes"), "fece00"); + } + return true; + } + } +} -- cgit v1.1-26-g67d0