// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2021-12-03 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** namespace G.UI { using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; /// /// /// partial class ShareWindow { public class RewardItemWidget : KUIWidget { [KUIFlag] Image _imgIcon; [KUIFlag] TextMeshProUGUI _tmpCount; [KUIFlag] GameObject _goSignined; [KUIFlag] GameObject _goComplete; [KUIFlag] Button _btnProp; public override void Refresh() { if (this.data is ActivitySubInfo activitySubInfo) { var reward = activitySubInfo.rewardInfos[0]; IconProxy.Instance.SetSprite(_imgIcon, reward.propItem.icon); _tmpCount.text = "x" + reward.count; _goSignined.SetActive(activitySubInfo.status == 2); _goComplete.SetActive(activitySubInfo.status == 1); } else if (this.data is ActivityInfo activityInfo) { activitySubInfo = activityInfo.subInfos[0]; var reward = activitySubInfo.rewardInfos[0]; IconProxy.Instance.SetSprite(_imgIcon, reward.propItem.icon); _tmpCount.text = "x" + reward.count; _goSignined.SetActive(activitySubInfo.status == 2); _goComplete.SetActive(activitySubInfo.status == 1); } } void OnClick() { if (this.data is ActivitySubInfo activitySubInfo) { InviteProxy.Instance.GetRewards(activitySubInfo, (error, message) => { if (error == 0) { Refresh(); PostNotification(GlobalDefine.EVENT_MONEY_CHANGED); ToastBox.ShowText("领取成功"); } else { ToastBox.ShowText(message); } }); } else if (this.data is ActivityInfo activityInfo) { activitySubInfo = activityInfo.subInfos[0]; if (activitySubInfo.status == 1 && TimeProxy.Instance.TryTimeKey(502)) { activitySubInfo.status = 2; RewardProxy.Instance.GetRewardsWithUI(activitySubInfo.rewardInfos, null); Refresh(); } else { ToastBox.ShowText("请明日再来"); } } } private void Awake() { SetViewData(); _btnProp.onClick.AddListener(this.OnClick); } } public class MemberCellWidget : KUIWidget { [KUIFlag] Image _imgHead; [KUIFlag] TextMeshProUGUI _tmpName; [KUIFlag] TextMeshProUGUI _tmpValue; public override void Refresh() { if (this.data is InviteProxy.FriendInfo friendInfo) { _tmpName.text = friendInfo.nickName; _tmpValue.text = F.Utils.Time.ToDataTime(friendInfo.inviteTimestamp).ToString("yyyy/MM/dd"); IconProxy.Instance.SetSpriteWithURL(_imgHead, friendInfo.avatarUrl); } } private void Awake() { SetViewData(); } } #region Auto Generate #pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null [KUIFlag] Button _btnShare; [KUIFlag] Button _btnClose; [KUIFlag] Slider _sldProgress; [KUIFlag] KUIList __listRewards; [KUIFlag] Button _btnEndReward; [KUIFlag] TextMeshProUGUI _tmpNext; [KUIFlag] GameObject __goDaily; [KUIFlag] Button _btnShowMember; [KUIFlag] GameObject _goMember; [KUIFlag] KUIList __listMember; #pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null #endregion #region Field private RewardItemWidget _dailyRewardItemWidget; #endregion #region Method /// /// /// public void InitView() { SetViewData(); _btnClose.onClick.AddListener(this.OnCloseBtnClick); _btnShare.onClick.AddListener(this.OnShareBtnClick); _btnEndReward.onClick.AddListener(this.OnEndRewardBtnClick); _btnShowMember.onClick.AddListener(this.OnShowMemberBtnClick); __listRewards.AddTemplate(true); __listMember.AddTemplate(true); _dailyRewardItemWidget = __goDaily.AddComponent(); } /// /// /// public void RefreshView() { var activity = InviteProxy.Instance.inviteActivty; _sldProgress.value = activity.curValue / (float)activity.maxValue; var subInfos = activity.subInfos; __listRewards.Clear(); bool showNext = false; foreach (var subInfo in subInfos) { __listRewards.GetItem().SetData(subInfo); if (!showNext && subInfo.status == 0) { showNext = true; _tmpNext.text = (subInfo.maxValue - subInfo.curValue).ToString(); } } var dailyRewardActivity = ActivityProxy.Instance.GetActivity(800); if (dailyRewardActivity != null) { if (TimeProxy.Instance.GetTimeKey(502)) { dailyRewardActivity.subInfos[0].status = 1; } else { dailyRewardActivity.subInfos[0].status = 2; } _dailyRewardItemWidget.SetData(dailyRewardActivity); } } void OnShareBtnClick() { InviteProxy.Instance.InviteShare((error, message) => { if (error == 0) ToastBox.ShowText("分享成功"); else ToastBox.ShowText(message); }); SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } void OnShowMemberBtnClick() { _goMember.SetActive(true); __listMember.Clear(); InviteProxy.Instance.GetInviteList((error, message) => { if (error == 0) { var friendInfos = InviteProxy.Instance.friendInfos; foreach (var item in friendInfos) { __listMember.GetItem().SetData(item); } } }); SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } void OnEndRewardBtnClick() { var activity = InviteProxy.Instance.inviteActivty; if (activity.curValue >= activity.maxValue) { InviteProxy.Instance.GetRewards(activity, (error, message) => { if (error == 0) { PostNotification(GlobalDefine.EVENT_MONEY_CHANGED); ToastBox.ShowText("领取成功"); } else { ToastBox.ShowText(message); } }); } else { ToastBox.ShowText("活动未完成"); } } void OnCloseBtnClick() { CloseWindow(this); SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } #endregion } }