248 lines
6.4 KiB
C#
248 lines
6.4 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2022-03-21
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "QingMingWindow" company="Kunpo"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace G.UI
|
|
{
|
|
partial class QingMingWindow
|
|
{
|
|
class RechargeRewad : KUIWidget
|
|
{
|
|
#region Fide
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
[KUIFlag]
|
|
KUIList __listRewards;
|
|
[KUIFlag]
|
|
Button _btnReceive;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpPrice;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpLevel;
|
|
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
private bool _isShowBtn;
|
|
#endregion
|
|
|
|
#region Mothod
|
|
public override void Refresh()
|
|
{
|
|
if (this.data is ActivitySubInfo subInfo)
|
|
{
|
|
var mission = MissionProxy.Instance.GetMission(subInfo.item.typeArgs[0]);
|
|
|
|
if (mission.isRewarded)
|
|
{
|
|
_tmpPrice.text = "已领取";
|
|
_btnReceive.interactable = false;
|
|
}
|
|
else if(mission.isRewarding)
|
|
{
|
|
_tmpPrice.text = "领取";
|
|
_btnReceive.interactable = true;
|
|
}
|
|
else
|
|
{
|
|
if (_isShowBtn)
|
|
{
|
|
_tmpPrice.text = "去完成";
|
|
_btnReceive.interactable = _isShowBtn;
|
|
}
|
|
else
|
|
{
|
|
_tmpPrice.text = "未完成";
|
|
_btnReceive.interactable = _isShowBtn;
|
|
}
|
|
}
|
|
__listRewards.Clear();
|
|
foreach (var itemInfo in mission.rewards)
|
|
{
|
|
__listRewards.GetItem<PropWidget>().SetItem(itemInfo);
|
|
}
|
|
_tmpLevel.text = ((mission.id % 100) + 1).ToString();
|
|
}
|
|
}
|
|
|
|
public void ChangeBtnShow(bool isShow)
|
|
{
|
|
_isShowBtn = isShow;
|
|
}
|
|
private void OnReceiveBtnClick() //获得奖励
|
|
{
|
|
if (this.data is ActivitySubInfo subInfo)
|
|
{
|
|
QingMingActivity.Instance.RechargrReward(subInfo.id, (error, message) =>
|
|
{
|
|
if (error == 0)
|
|
{
|
|
GetWindow<QingMingWindow>().RefreshRechargePanle();
|
|
PostNotification(GlobalDefine.EVENT_MONEY_CHANGED, "Recharge", "QingMing_w_Btn");
|
|
KStatistics.Instance.ReportEvent_Activity("qingming", 4, subInfo.id, "", "", 1, "", 0, 0);//埋点
|
|
}
|
|
else
|
|
{
|
|
GetWindow<QingMingWindow>().OpenGetMoneyPathPanle();
|
|
}
|
|
});
|
|
}
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
private void OpenGetPetPanle()
|
|
{
|
|
var pet = PetProxy.Instance.GetPet(13020);
|
|
OpenWindow<UI.GetPetBox>(pet);
|
|
}
|
|
#endregion
|
|
|
|
#region Unity
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
_btnReceive.onClick.AddListener(this.OnReceiveBtnClick);
|
|
__listRewards.AddTemplate<PropWidget>(true);
|
|
}
|
|
#endregion
|
|
}
|
|
|
|
class RechargeRecord : KUIWidget
|
|
{
|
|
#region Field
|
|
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
Slider _slider;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpLevel;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpExp;
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
#endregion
|
|
|
|
#region Method
|
|
public override void Refresh()
|
|
{
|
|
if (this.data is Mission mission)
|
|
{
|
|
_tmpLevel.text = ((mission.id %100)+1).ToString();
|
|
_slider.value = mission.progress;
|
|
if (mission.curValue > mission.maxValue)
|
|
{
|
|
_tmpExp.text = $"{mission.maxValue}/{mission.maxValue}";
|
|
}
|
|
else
|
|
{
|
|
_tmpExp.text = $"{mission.curValue}/{mission.maxValue}";
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Unity
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
_slider = GetComponent<Slider>();
|
|
}
|
|
#endregion
|
|
}
|
|
class Recharge : KUIWidget
|
|
{
|
|
#region Field
|
|
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpPropNumber;
|
|
[KUIFlag]
|
|
KUIList __listRecharges;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpTime4;
|
|
[KUIFlag]
|
|
KUIList __listExp;
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
#endregion
|
|
|
|
#region Method
|
|
public void RefreshView()
|
|
{
|
|
var propCount = ItemProxy.Instance.GetPropCount(3001);
|
|
_tmpPropNumber.text = propCount.ToString();
|
|
_tmpTime4.text = QingMingActivity.Instance.sigeInSurplusTime;
|
|
__listRecharges.Clear();
|
|
var subInfos = QingMingActivity.Instance.rechargeActivityInfo.subInfos;
|
|
bool showFirstBtn = true;
|
|
for (int i = 0; i < subInfos.Length; i++)
|
|
{
|
|
var mission = MissionProxy.Instance.GetMission(subInfos[i].item.typeArgs[0]);
|
|
if (mission.isRewarding)
|
|
{
|
|
var recharge = __listRecharges.GetItem<RechargeRewad>();
|
|
recharge.SetData(subInfos[i]);
|
|
}
|
|
else if(!mission.isRewarded)
|
|
{
|
|
var recharge = __listRecharges.GetItem<RechargeRewad>();
|
|
recharge.ChangeBtnShow(showFirstBtn);
|
|
recharge.SetData(subInfos[i]);
|
|
showFirstBtn = false;
|
|
}
|
|
}
|
|
for (int i = 0; i < subInfos.Length; i++)
|
|
{
|
|
var mission = MissionProxy.Instance.GetMission(subInfos[i].item.typeArgs[0]);
|
|
if (mission.isRewarded)
|
|
{
|
|
var recharge = __listRecharges.GetItem<RechargeRewad>();
|
|
recharge.SetData(subInfos[i]);
|
|
}
|
|
}
|
|
__listExp.Clear();
|
|
for (int i = 0; i < subInfos.Length; i++)
|
|
{
|
|
var mission = MissionProxy.Instance.GetMission(subInfos[i].item.typeArgs[0]);
|
|
if (!mission.isRewarding && !mission.isRewarded)
|
|
{
|
|
__listExp.GetItem().SetData(mission);
|
|
break;
|
|
}
|
|
if (i == subInfos.Length-1)
|
|
{
|
|
__listExp.GetItem().SetData(mission);
|
|
}
|
|
}
|
|
}
|
|
public void RefreshTimer()//刷新时间
|
|
{
|
|
_tmpTime4.text = QingMingActivity.Instance.sigeInSurplusTime;
|
|
}
|
|
#endregion
|
|
|
|
#region Unity
|
|
private void Awake()
|
|
{
|
|
SetViewData();
|
|
__listRecharges.AddTemplate<RechargeRewad>(true);
|
|
__listExp.AddTemplate<RechargeRecord>(true);
|
|
}
|
|
private void OnEnable()
|
|
{
|
|
RefreshView();
|
|
}
|
|
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
} |