Files
ft/Client/Assets/Scripts/UI/JigsawPuzzle/JigsawPuzzleFinalRewardComponent.cs
2026-06-29 21:18:33 +08:00

43 lines
1.5 KiB
C#

using asap.core;
using GameCore;
using UnityEngine;
namespace Assets.Scripts.UI.JigsawPuzzle
{
public class JigsawPuzzleFinalRewardComponent : MonoBehaviour
{
private RewardItemNew[] finalRewards;
private JigsawPuzzleManager _jigsawPuzzleManager;
private JigsawPuzzleManager JigsawPuzzleManager => _jigsawPuzzleManager ??= GContext.container.Resolve<JigsawPuzzleManager>();
private void Awake()
{
finalRewards = this.gameObject.GetComponentsInChildren<RewardItemNew>(false);
foreach (RewardItemNew item in finalRewards)
{
item?.gameObject.SetActive(false);
}
}
private void Start()
{
if (JigsawPuzzleManager == null || JigsawPuzzleManager.Data == null) return;
var data = JigsawPuzzleManager.Data;
if (data == null) return;
var itemDatas = GContext.container.Resolve<PlayerItemData>().GetItemDataByDropIdLureInflation(data.InflationRate, data.FinalReward);
if (itemDatas == null) return;
for (int i = 0; i < itemDatas.Count && i < finalRewards.Length; i++)
{
if (itemDatas[i] == null) continue;
finalRewards[i].SetData(itemDatas[i]);
finalRewards[i].gameObject.SetActive(true);
}
}
public RewardItemNew[] GetAllRewardItemNews()
{
return finalRewards;
}
}
}