using System.Collections; using System.Collections.Generic; using UnityEngine; namespace TFramework { public class LoadResHandle : IReference { /// /// 资源加载模式 /// public ResLoadMode LoadMode; /// /// Resource资源路径 /// public string ResourcePath; /// /// AssetBundle包名 /// public string AssetBundleName; /// /// 资源相对路径(用于AB包及Editor模式) /// public string AssetPath; /// /// 加载中事件 /// public TAction OnLoading; /// /// 加载完成事件 /// public TAction OnLoadOver; public LoadResHandle() { } public LoadResHandle(ResLoadMode resLoadMode, string resourePath, string assetbundleName, string assetPath, TAction onLoading = null, TAction onLoadOver = null) { LoadMode = resLoadMode; ResourcePath = resourePath; AssetBundleName = assetbundleName; AssetPath = assetPath; OnLoading = onLoading; OnLoadOver = onLoadOver; } /// /// Resource模式加载 /// /// /// /// public LoadResHandle(string resourePath, TAction onLoading = null, TAction onLoadOver = null) { LoadMode = ResLoadMode.Resourece; ResourcePath = resourePath; AssetPath = resourePath; OnLoading = onLoading; OnLoadOver = onLoadOver; } /// /// AB包模式加载 /// /// /// /// /// public LoadResHandle(string assetbundleName, string assetPath, TAction onLoading = null, TAction onLoadOver = null) { LoadMode = ResLoadMode.AssetBundle; AssetBundleName = assetbundleName; AssetPath = assetPath; OnLoading = onLoading; OnLoadOver = onLoadOver; } public LoadResHandle(UIResourceAttribute attribute, TAction onLoading = null, TAction onLoadOver = null) { LoadMode = attribute.LoadMode; ResourcePath = attribute.ResourcePath; AssetBundleName = attribute.AssetBundleName; AssetPath = attribute.AssetPath; OnLoading = onLoading; OnLoadOver = onLoadOver; } public void Reset() { OnLoading = null; OnLoadOver = null; ResourcePath = string.Empty; AssetBundleName = string.Empty; AssetPath = string.Empty; } } }