278 lines
6.4 KiB
C#
278 lines
6.4 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2021-12-03
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "ShareWindow.View" company="Kunpo"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
namespace G.UI
|
|
{
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
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
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
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<RewardItemWidget>(true);
|
|
__listMember.AddTemplate<MemberCellWidget>(true);
|
|
|
|
_dailyRewardItemWidget = __goDaily.AddComponent<RewardItemWidget>();
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
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
|
|
}
|
|
}
|