43 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
} |