using FairyGUI; using TEngine.UI; using TEngine.Redux; using FaBao.ExportedConfigs; using FaBao.TEvent; using System; using FaBao.TAction; using FaBao.TAction.TGuild; using TD.NetProto; namespace FaBao.UI.GuildUI { public partial class GuildDonateDialog { public override IArchitecture GetArchitecture() { return App.Instance; } protected override void OnCreate() { base.OnCreate(); } protected override void OnShow(object param) { this.RegisterEvent(OnMyGuildInfoChange); var configs = GuildDonationTable.Configs; if (configs == null || configs.Count == 0) { Close(); return; } var freeConfig = configs[0]; var paidConfig = configs[1]; var playerConfig = this.GetModel().MyGuildInfo; if (playerConfig == null) { Close(); return; } string[] freeRewardsInfo = freeConfig.Rewards.Split('|'); string[] paidRewardsInfo = paidConfig.Rewards.Split('|'); var freeItemId = freeRewardsInfo[0]; var freeValue = freeRewardsInfo[1]; var paidItemId = paidRewardsInfo[0]; var paidValue = paidRewardsInfo[1]; var freeItemConfig = ItemTable.GetConfigById(int.Parse(freeItemId)); var paidItemConfig = ItemTable.GetConfigById(int.Parse(paidItemId)); //免费捐献 m_icon_freeDonateReward.url = FUISys.Instance.GetIconUrl(freeItemConfig?.Icon); m_text_freeDonateVal.text = $"+[color=#2F823C]{freeValue}[/color]"; m_text_remainFreeCount.text = $"剩余次数:[color=#2F823C]{playerConfig.TodayFreeContributionCount}[/color]"; if (freeConfig.TitleIcon != "") { m_freeIcon_holder.url = freeConfig.TitleIcon; } if (freeConfig.CardDes != "") { m_btn_free.text = freeConfig.CardDes; } if (playerConfig.TodayFreeContributionCount == 0) { m_btn_free.text = "已捐献"; m_btn_free.enabled = false; m_redDot.visible = false; } else { m_btn_free.enabled = true; m_redDot.visible = true; } //付费捐献 m_icon_paidDonateReward.url = FUISys.Instance.GetIconUrl(paidItemConfig?.Icon); m_text_paidDonateVal.text = $"+[color=#2F823C]{paidValue}[/color]"; m_btn_paid.text = $"{paidConfig.Quantity}"; m_text_remainPaidCount.text = $"剩余次数:[color=#2F823C]{playerConfig.TodayPayContributionCount}[/color]"; if (paidConfig.TitleIcon != "") { m_paidIcon_holder.url = paidConfig.TitleIcon; } if (paidConfig.CardDes != "") { m_btn_paid.text = paidConfig.CardDes; } if (playerConfig.TodayPayContributionCount < 1) { m_btn_paid.text = "已捐献"; } if (playerConfig.TodayPayContributionCount == 0) { m_btn_paid.grayed = true; } else { m_btn_paid.grayed = false; } } protected override void OnClose() { this.UnRegisterEvent(OnMyGuildInfoChange); } private void OnMyGuildInfoChange(MyGuildInfoChangeEvent obj) { if (obj == null || obj.MyGuildInfo == null) return; var guildInfo = obj.MyGuildInfo; m_text_remainFreeCount.text = $"剩余次数:[color=#2F823C]{guildInfo.TodayFreeContributionCount}[/color]"; m_text_remainPaidCount.text = $"剩余次数:[color=#2F823C]{guildInfo.TodayPayContributionCount}[/color]"; if (guildInfo.TodayFreeContributionCount == 0) { m_btn_free.enabled = false; m_btn_free.text = "已捐献"; m_redDot.visible = false; } else { m_btn_free.enabled = true; m_redDot.visible = true; } if (guildInfo.TodayPayContributionCount < 1) { m_btn_paid.grayed = true; m_btn_paid.text = "已捐献"; } else { m_btn_paid.grayed = false; } } #region 按钮点击事件 private void OnBtnClose() { Close(); } private async void OnBtnFree() { var userGuild = this.GetModel().MyGuildInfo; if (userGuild == null) return; if (userGuild.TodayFreeContributionCount < 1) { Toast.Info("本日已捐献,请明天再来"); return; } var result = await this.GetModel().DispatchAction(new Guild_Action_GuildDonate(ContributionType.ContributionFree)); if (!result) { Toast.Info("免费捐献失败"); } } private async void OnBtnPaid() { var userGuild = this.GetModel().MyGuildInfo; if (userGuild == null) return; if (userGuild.TodayPayContributionCount < 1) { Toast.Info("本日已捐献,请明天再来"); return; } if (!await this.GetModel().DispatchAction(new Guild_Action_GuildDonate(ContributionType.ContributionPay))) { Toast.Info("付费捐献失败"); } } #endregion } }