WuhuIslandTesting/Library/PackageCache/com.unity.addressables@1.21.12/Runtime/ResourceManager/ResourceLocations/IResourceLocation.cs

64 lines
1.9 KiB
C#
Raw Permalink Normal View History

2025-01-07 02:06:59 +01:00
using System;
using System.Collections.Generic;
namespace UnityEngine.ResourceManagement.ResourceLocations
{
/// <summary>
/// Contains enough information to load an asset (what/where/how/dependencies)
/// </summary>
public interface IResourceLocation
{
/// <summary>
/// Internal name used by the provider to load this location
/// </summary>
/// <value>The identifier.</value>
string InternalId { get; }
/// <summary>
/// Matches the provider used to provide/load this location
/// </summary>
/// <value>The provider id.</value>
string ProviderId { get; }
/// <summary>
/// Gets the dependencies to other IResourceLocations
/// </summary>
/// <value>The dependencies.</value>
IList<IResourceLocation> Dependencies { get; }
/// <summary>
/// The hash of this location combined with the specified type.
/// </summary>
/// <param name="resultType">The type of the result.</param>
/// <returns>The combined hash of the location and the type.</returns>
int Hash(Type resultType);
/// <summary>
/// The precomputed hash code of the dependencies.
/// </summary>
int DependencyHashCode { get; }
/// <summary>
/// Gets the dependencies to other IResourceLocations
/// </summary>
/// <value>The dependencies.</value>
bool HasDependencies { get; }
/// <summary>
/// Gets any data object associated with this locations
/// </summary>
/// <value>The object.</value>
object Data { get; }
/// <summary>
/// Primary address for this location.
/// </summary>
string PrimaryKey { get; }
/// <summary>
/// The type of the resource for th location.
/// </summary>
Type ResourceType { get; }
}
}