public static void LoadScene(IKeyEvaluator scene, Action callBack = null) { Addressables.LoadSceneAsync(scene).Completed += (loadComplete) => { callBack?.Invoke(); }; }
private static void OpenAddressableMenu <T>(IKeyEvaluator menuReference) where T : IUserInterface { AssetReferenceLoader.LoadAssetReferenceAsynchronously <GameObject>(menuReference, (returnVariable) => { var menu = Instantiate(returnVariable).GetComponent <T>(); AssetReferenceLoader.DestroyOrUnload(returnVariable); menu.Enable(); }); }
public static void LoadAssetReferenceAsynchronously <T>(IKeyEvaluator assetReference, Action <T> callBack) { //if (!assetReference.RuntimeKeyIsValid()) return; //TODO var operationHandler = Addressables.LoadAssetAsync <T>(assetReference); operationHandler.Completed += (operation) => { callBack(operation.Result); Addressables.Release(operationHandler); }; }