using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.AddressableAssets; using UnityEngine.AddressableAssets.ResourceLocators; using UnityEngine.ResourceManagement.AsyncOperations; namespace UnityRoyale { public class DeckLoader : MonoBehaviour { private DeckData targetDeck; public UnityAction OnDeckLoaded; public void LoadDeck(DeckData deckToLoad) { targetDeck = deckToLoad; Addressables.LoadAssetsAsync(targetDeck.labelsToInclude[0].labelString, null).Completed += OnResourcesRetrieved; } private void OnResourcesRetrieved(AsyncOperationHandle> obj) { targetDeck.CardsRetrieved((List)obj.Result); if(OnDeckLoaded != null) OnDeckLoaded(); Destroy(this); } } }