Files
back_cantanBuilding/Assets/Scripts/UI/Challenge/EventChallengeRewardPopupPanel.cs
2026-05-26 16:15:54 +08:00

131 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using asap.core;
using game;
using GameCore;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 最终结算界面
/// </summary>
public class EventChallengeRewardPopupPanel : MonoBehaviour
{
// 成功
private Transform _rewardSuccess;
private Transform _successTextNum;
private Transform _successTextInfo;
private Transform _successRewardReceiveBtnPlay;
private Transform _successHead;
private Transform _successTextTitle;
//失败
private Transform _rewardEnd;
private Transform _endTextTitle;
private Transform _endRankTextNum;
private Transform _endHead;
private Transform _endTextInfo;
private Transform _endReceiveBtnPlay;
//
private FishingChallengeManager _fishingChallengeManager;
// private ChallangReward challangRewardSuccess;
private RewardItemNew _rewardItem;
private List<ItemData> _itemDataList;
private void Awake()
{
// 成功
_rewardSuccess = transform.Find("reward_success");
_successTextNum = _rewardSuccess.Find("rank/text_num");
_successTextInfo = _rewardSuccess.Find("text_info");
// _successRewardIcon = _rewardSuccess.Find("reward_layout/reward/icon");
// _successRewardTextNum = _rewardSuccess.Find("reward_layout/reward/text_num");
_successRewardReceiveBtnPlay = _rewardSuccess.Find("receive/btn_play/btn_green");
_successTextTitle = _rewardSuccess.Find("bg_title/text_title");
_successHead = _rewardSuccess.Find("head");
_rewardItem = _rewardSuccess.Find("reward_layout/reward").GetComponent<RewardItemNew>();
// 失败
_rewardEnd = transform.Find("reward_end");
_endTextTitle = _rewardEnd.Find("bg_title/text_title");
_endRankTextNum = _rewardEnd.Find("rank/text_num");
_endHead = _rewardEnd.Find("head");
_endTextInfo = _rewardEnd.Find("text_info");
_endReceiveBtnPlay = _rewardEnd.Find("receive/btn_play/btn_green");
//OnEvent()
_successRewardReceiveBtnPlay.GetComponent<Button>().onClick.AddListener(OnClickSuccessGo);
_endReceiveBtnPlay.GetComponent<Button>().onClick.AddListener(OnClickFailedGo);
//
_fishingChallengeManager = GContext.container.Resolve<FishingChallengeManager>();
}
public void OnSuccess()
{
_rewardSuccess.gameObject.SetActive(true);
_rewardEnd.gameObject.SetActive(false);
_itemDataList = _fishingChallengeManager.itemDataList;
if (_itemDataList != null)
{
_rewardItem.SetData(_itemDataList[0],false,false, true);
}
var uiService = GContext.container.Resolve<IUIService>();
// var robots = GContext.container.Resolve<cfg.Tables>().TbRobot.DataMap;
uiService.SetHeadImage(_successHead.GetComponent<Head>().icon_head, GContext.container.Resolve<IUserService>().AvatarUrl);
var M = _fishingChallengeManager.fishingChallengeData.eliminateNumber[^1] - 1;
// _successTextTitle.GetComponent<TMP_Text>().text = LocalizationMgr.GetFormatTextValue("UI_EventChallengeCrocodilePanel_9");
_successTextInfo.GetComponent<TMP_Text>().text = LocalizationMgr.GetFormatTextValue("UI_EventChallengeCrocodilePanel_10", M);
_successTextNum.GetComponent<TMP_Text>().text = LocalizationMgr.GetFormatTextValue("UI_EventChallengeCrocodilePanel_9", _fishingChallengeManager.Rank);
}
public void OnFailed()
{
_rewardSuccess.gameObject.SetActive(false);
_rewardEnd.gameObject.SetActive(true);
// 失败了没有奖品
// _itemDataList = _fishingChallengeManager.itemDataList;
var uiService = GContext.container.Resolve<IUIService>();
uiService.SetHeadImage(_endHead.GetComponent<Head>().icon_head, GContext.container.Resolve<IUserService>().AvatarUrl);
var step = _fishingChallengeManager.fishingChallengeData.step;
// _endTextTitle.GetComponent<TMP_Text>().text = LocalizationMgr.GetFormatTextValue("UI_EventChallangePanel_13");
_endTextInfo.GetComponent<TMP_Text>().text = LocalizationMgr.GetFormatTextValue("UI_EventChallengeCrocodilePanel_11", step);
_endRankTextNum.GetComponent<TMP_Text>().text = LocalizationMgr.GetFormatTextValue("UI_EventChallengeCrocodilePanel_9", _fishingChallengeManager.Rank);
}
private void Start()
{
}
// Event
private void OnClickSuccessGo()
{
if (_itemDataList != null)
{
GContext.Publish(new ShowData(_itemDataList));
}
_successRewardReceiveBtnPlay.GetComponent<Button>().onClick.RemoveAllListeners();
_endReceiveBtnPlay.GetComponent<Button>().onClick.RemoveAllListeners();
UIManager.Instance.DestroyUI(UITypes.EventChallengeRewardPopupPanel);
// GContext.container.Resolve<PlayerData>().currentMapId = _fishingChallengeManager.challengeMapData.ID;
GContext.Publish(new UnloadActToNextAct());
}
private void OnClickFailedGo()
{
// if (_itemDataList != null)
// {
// GContext.Publish(new ShowData(_itemDataList));
// }
_successRewardReceiveBtnPlay.GetComponent<Button>().onClick.RemoveAllListeners();
_endReceiveBtnPlay.GetComponent<Button>().onClick.RemoveAllListeners();
UIManager.Instance.DestroyUI(UITypes.EventChallengeRewardPopupPanel);
GContext.Publish(new UnloadActToNextAct());
}
}