63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
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; }
|
|
}
|
|
}
|