using System; using UILib; using UnityEngine; using XMainClient.UI.UICommon; using XUtliPoolLib; namespace XMainClient.UI { internal class GuildFiexdRedPackageView : DlgBase { public override string fileName { get { return "Guild/GuildFiexdRedPacketDlg"; } } public override int sysid { get { return XFastEnumIntEqualityComparer.ToInt(XSysDefine.XSys_SevenActivity); } } public override int layer { get { return 1; } } public override bool pushstack { get { return false; } } public override bool autoload { get { return true; } } private XGuildRedPacketDocument _Doc; protected override void Init() { base.Init(); this._Doc = XDocuments.GetSpecificDocument(XGuildRedPacketDocument.uuID); base.uiBehaviour.m_WrapContent.RegisterItemUpdateEventHandler(new WrapItemUpdateEventHandler(this.OnWrapContentUpdate)); } public override void RegisterEvent() { base.RegisterEvent(); base.uiBehaviour.m_Close.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickClose)); base.uiBehaviour.m_HelpBtn.RegisterClickEventHandler(new ButtonClickEventHandler(this.ClickHelp)); } protected override void OnShow() { base.OnShow(); this._Doc.SendGuildBonusSendList(); } private bool ClickClose(IXUIButton btn) { this.SetVisibleWithAnimation(false, null); return false; } private bool OnSendClick(IXUIButton btn) { this._Doc.SendGuildBonusInSend((uint)btn.ID); return true; } private bool ClickHelp(IXUIButton btn) { DlgBase.singleton.ShowHelp(XSysDefine.XSys_GuildBoon_FixedRedPacket); return true; } public void Refresh() { int count = this._Doc.GuildBonusSendList.Count; base.uiBehaviour.m_WrapContent.SetContentCount(count, false); base.uiBehaviour.m_ScrollView.ResetPosition(); base.uiBehaviour.m_Empty.gameObject.SetActive(count == 0); } private void OnWrapContentUpdate(Transform t, int index) { bool flag = index >= this._Doc.GuildBonusSendList.Count; if (!flag) { IXUIButton ixuibutton = t.Find("Go").GetComponent("XUIButton") as IXUIButton; IXUILabel ixuilabel = t.Find("Name").GetComponent("XUILabel") as IXUILabel; IXUILabel ixuilabel2 = t.Find("Desc").GetComponent("XUILabel") as IXUILabel; IXUILabelSymbol ixuilabelSymbol = t.Find("Value").GetComponent("XUILabelSymbol") as IXUILabelSymbol; IXUISprite ixuisprite = t.Find("Icon").GetComponent("XUISprite") as IXUISprite; XGuildRedPackageSendBrief xguildRedPackageSendBrief = this._Doc.GuildBonusSendList[index]; ixuilabel.SetText(xguildRedPackageSendBrief.senderName); ItemEnum itemid = (ItemEnum)xguildRedPackageSendBrief.itemid; string sprite = string.Empty; bool flag2 = itemid == ItemEnum.GOLD; if (flag2) { sprite = "l_red_jinbi_01"; } else { bool flag3 = itemid == ItemEnum.DRAGON_COIN; if (flag3) { sprite = "l_red_longbi_01"; } else { sprite = "l_red_longbi_01"; } } ixuisprite.SetSprite(sprite); ixuisprite.MakePixelPerfect(); ixuibutton.RegisterClickEventHandler(new ButtonClickEventHandler(this.OnSendClick)); ixuibutton.ID = xguildRedPackageSendBrief.uid; ixuibutton.SetVisible(xguildRedPackageSendBrief.senderType == BonusSender.Bonus_Self); bool flag4 = xguildRedPackageSendBrief.bonusInfo != null; if (flag4) { ixuilabel2.SetText(xguildRedPackageSendBrief.bonusInfo.GuildBonusName); ixuilabelSymbol.InputText = XLabelSymbolHelper.FormatCostWithIcon((int)xguildRedPackageSendBrief.bonusInfo.GuildBonusReward[1], (ItemEnum)xguildRedPackageSendBrief.bonusInfo.GuildBonusReward[0]); } else { ixuilabel2.SetText(string.Empty); ixuilabelSymbol.InputText = string.Empty; } } } } }