Files
2025-07-03 15:06:34 +08:00

152 lines
3.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using UnityEngine;
using System.IO;
using UnityEditor;
using UnityEngine.SceneManagement;
using Object = UnityEngine.Object;
namespace XPlugin.Update
{
public static class UResources
{
/// <summary>
/// 请求一个文件
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public static FileInfo ReqFile(string path)
{
if (ResManager.Ins.DownloadedFiles.ContainsKey(path)) {
return ResManager.Ins.DownloadedFiles[path];
}
return null;
}
/// <summary>
/// 请求场景
/// </summary>
/// <param name="path"></param>
/// <param name="mode"></param>
/// <returns></returns>
public static bool ReqScene(string path)
{
return ResManager.Ins.ReqScene(path);
}
/// <summary>
/// 异步请求场景
/// </summary>
/// <param name="path"></param>
/// <param name="mode"></param>
/// <param name="onDone"></param>
public static void ReqSceneAsync(string path, Action<bool> onDone)
{
ResManager.Ins.ReqSceneAsync(path, onDone);
}
/// <summary>
/// 加载物体
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public static Object Load(string path)
{
return UResources.Load(path, typeof(Object));
}
public static T Load<T>(string path) where T : Object
{
return (T)((object)UResources.Load(path, typeof(T)));
}
public static Object Load(string path, Type type)
{
return ResManager.Ins.Load(path, type);
}
/// <summary>
/// 异步加载物体
/// </summary>
/// <param name="path"></param>
/// <param name="onDone"></param>
public static void LoadAsync(string path, Action<Object> onDone)
{
LoadAsync(path, typeof(Object), onDone);
}
public static void LoadAsync<T>(string path, Action<Object> onDone) where T : Object
{
LoadAsync(path, typeof(T), onDone);
}
public static void LoadAsync(string path, Type type, Action<Object> onDone)
{
ResManager.Ins.LoadAsync(path, type, onDone);
}
/// <summary>
/// 加载StreamingAssets物体可更新
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public static WWW LoadStreamingAsset(string path)
{
return ResManager.Ins.LoadStreamingAsset(path);
}
/// <summary>
/// 异步加载StreamingAssets物体可更新
/// </summary>
/// <param name="path"></param>
/// <param name="onDone"></param>
public static void LoadStreamingAssetAsync(string path, Action<WWW> onDone)
{
ResManager.Ins.LoadStreamingAssetAsync(path, onDone);
}
/// <summary>
/// 加载资源
/// </summary>
/// <returns>The asset.</returns>
/// <param name="dir">Dir.</param>
/// <param name="url">URL.</param>
public static WWW LoadAsset(string dir, string url)
{
return ResManager.Ins.LoadAsset(dir, url);
}
/// <summary>
/// 异步加载资源
/// </summary>
/// <returns>The asset.</returns>
/// <param name="dir">Dir.</param>
/// <param name="url">URL.</param>
/// <param name="onDone"></param>
public static void LoadAssetAsync(string dir, string url, Action<WWW> onDone)
{
ResManager.Ins.LoadAssetAsync(dir, url, onDone);
}
/// <summary>
/// 保存资源
/// </summary>
/// <returns><c>true</c>, if image asset was saved, <c>false</c> otherwise.</returns>
/// <param name="dir">Dir.</param>
/// <param name="url">URL.</param>
/// <param name="img">Image.</param>
public static bool SaveAsset(string dir, string url, WWW www)
{
return ResManager.Ins.SaveAsset(dir, url, www);
}
/// <summary>
/// 移除资源
/// </summary>
/// <returns><c>true</c>, if asset was removed, <c>false</c> otherwise.</returns>
/// <param name="dir">Dir.</param>
/// <param name="url">URL.</param>
public static bool RemoveAsset(string dir, string url)
{
return ResManager.Ins.RemoveAsset(dir, url);
}
}
}