/*
Yarn Spinner is licensed to you under the terms found in the file LICENSE.md.
*/
using System.Collections.Generic;
#nullable enable
namespace Yarn.Unity
{
///
/// Contains methods for accessing assets of a given type stored within an
/// object.
///
public interface IAssetProvider
{
///
/// Attempts to fetch an asset of type from the
/// object.
///
/// The type of the assets.
/// On return, the fetched asset, or .
/// if an asset was fetched; otherwise.
public bool TryGetAsset([System.Diagnostics.CodeAnalysis.NotNullWhen(true)] out T? result) where T : UnityEngine.Object;
///
/// Gets a collection of assets of type from
/// the target.
///
/// The type of the asset.
/// A collection of assets. This collection may be
/// empty.
public IEnumerable GetAssetsOfType() where T : UnityEngine.Object;
}
}