// *********************************************************************** // Assembly : Game // Author : Kimch // Created : 2022-03-21 // Description : // Last Modified By : // Last Modified On : // *********************************************************************** // // // *********************************************************************** 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().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().RefreshRechargePanle(); PostNotification(GlobalDefine.EVENT_MONEY_CHANGED, "Recharge", "QingMing_w_Btn"); KStatistics.Instance.ReportEvent_Activity("qingming", 4, subInfo.id, "", "", 1, "", 0, 0);//埋点 } else { GetWindow().OpenGetMoneyPathPanle(); } }); } SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND); } private void OpenGetPetPanle() { var pet = PetProxy.Instance.GetPet(13020); OpenWindow(pet); } #endregion #region Unity private void Awake() { SetViewData(); _btnReceive.onClick.AddListener(this.OnReceiveBtnClick); __listRewards.AddTemplate(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(); } #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(); recharge.SetData(subInfos[i]); } else if(!mission.isRewarded) { var recharge = __listRecharges.GetItem(); 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(); 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(true); __listExp.AddTemplate(true); } private void OnEnable() { RefreshView(); } #endregion } } }