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(); private void Awake() { finalRewards = this.gameObject.GetComponentsInChildren(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().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; } } }