using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using System;
|
using Cysharp.Threading.Tasks;
|
using System.Threading;
|
using System.IO;
|
using UnityEngine.U2D;
|
|
|
public class UILoader
|
{
|
[System.Obsolete("US2: Use LoadWindowAsync instead.")]
|
public static GameObject LoadWindow(string name)
|
{
|
#pragma warning disable CS0618
|
return ResManager.Instance.LoadAsset<GameObject>(ResourcesPath.UI_WINDOW_SUFFIX, name);
|
#pragma warning restore CS0618
|
}
|
|
[System.Obsolete("US2: Use LoadPrefabAsync instead.")]
|
public static GameObject LoadPrefab(string _name)
|
{
|
#pragma warning disable CS0618
|
return ResManager.Instance.LoadAsset<GameObject>(ResourcesPath.UI_PREFAB_SUFFIX, _name);
|
#pragma warning restore CS0618
|
}
|
|
[System.Obsolete("US2: Use YooAssetService.ReleaseHandle or UnloadUnusedAssetsAsync instead.")]
|
public static void UnLoadPrefab(string _assetName)
|
{
|
#pragma warning disable CS0618
|
ResManager.Instance.UnloadAsset(ResourcesPath.UI_PREFAB_SUFFIX, _assetName);
|
#pragma warning restore CS0618
|
}
|
|
//通过ICON表加载
|
[System.Obsolete("US2: Use LoadSpriteAsync instead.")]
|
public static Sprite LoadSprite(string _iconKey)
|
{
|
var iconConfig = IconConfig.Get(_iconKey);
|
if (iconConfig == null)
|
{
|
return null;
|
}
|
|
return LoadSprite(iconConfig.folder, iconConfig.sprite);
|
}
|
|
[System.Obsolete("US2: Use LoadSpriteAsync instead.")]
|
public static Sprite LoadSprite(string _folder, string _file)
|
{
|
#pragma warning disable CS0618
|
return ResManager.Instance.LoadAsset<Sprite>(StringUtility.Concat(ResourcesPath.UI_SPRITE_SUFFIX, "/", _folder), _file);
|
#pragma warning restore CS0618
|
}
|
|
[System.Obsolete("US2: Use YooAssetService.ReleaseHandle instead.")]
|
public static void UnLoadSprite(string _iconKey)
|
{
|
var iconConfig = IconConfig.Get(_iconKey);
|
if (iconConfig != null)
|
{
|
var bundleName = StringUtility.Concat(ResourcesPath.UI_SPRITE_SUFFIX, "/", iconConfig.folder);
|
#pragma warning disable CS0618
|
ResManager.Instance.UnloadAsset(bundleName, iconConfig.sprite);
|
#pragma warning restore CS0618
|
}
|
}
|
|
[System.Obsolete("US2: Use LoadFontAsync instead.")]
|
public static Font LoadFont(string _fontName)
|
{
|
#pragma warning disable CS0618
|
return ResManager.Instance.LoadAsset<Font>(ResourcesPath.UI_FONT_SUFFIX, _fontName);
|
#pragma warning restore CS0618
|
}
|
|
[System.Obsolete("US2: Use YooAssetService.ReleaseHandle instead.")]
|
public static void UnLoadFont(string _fontName)
|
{
|
#pragma warning disable CS0618
|
ResManager.Instance.UnloadAsset(ResourcesPath.UI_FONT_SUFFIX, _fontName);
|
#pragma warning restore CS0618
|
}
|
|
[System.Obsolete("US2: Use LoadTexture2DAsync instead.")]
|
public static Texture2D LoadTexture2D(string _iconKey)
|
{
|
var iconConfig = IconConfig.Get(_iconKey);
|
if (iconConfig == null)
|
{
|
return null;
|
}
|
#pragma warning disable CS0618
|
return ResManager.Instance.LoadAsset<Texture2D>(StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/" + iconConfig.folder), iconConfig.sprite);
|
#pragma warning restore CS0618
|
}
|
|
[System.Obsolete("US2: Use LoadTexture2DPNGAsync instead.")]
|
public static Texture2D LoadTexture2DPNG(string name)
|
{
|
#pragma warning disable CS0618
|
return ResManager.Instance.LoadAsset<Texture2D>(StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/FullScreenBg"), name + ".png", false);
|
#pragma warning restore CS0618
|
}
|
|
// ====================================================================
|
// US2: Async UniTask variants
|
// ====================================================================
|
|
public static UniTask<GameObject> LoadWindowAsync(string name, CancellationToken ct = default)
|
{
|
return ResManager.Instance.LoadAssetAsync<GameObject>(ResourcesPath.UI_WINDOW_SUFFIX, name, ct: ct);
|
}
|
|
public static UniTask<GameObject> LoadPrefabAsync(string _name, CancellationToken ct = default)
|
{
|
return ResManager.Instance.LoadAssetAsync<GameObject>(ResourcesPath.UI_PREFAB_SUFFIX, _name, ct: ct);
|
}
|
|
public static async UniTask<Sprite> LoadSpriteAsync(string _iconKey, CancellationToken ct = default)
|
{
|
var iconConfig = IconConfig.Get(_iconKey);
|
if (iconConfig == null) return null;
|
return await LoadSpriteAsync(iconConfig.folder, iconConfig.sprite, ct);
|
}
|
|
public static UniTask<Sprite> LoadSpriteAsync(string _folder, string _file, CancellationToken ct = default)
|
{
|
return ResManager.Instance.LoadAssetAsync<Sprite>(
|
StringUtility.Concat(ResourcesPath.UI_SPRITE_SUFFIX, "/", _folder), _file, ct: ct);
|
}
|
|
public static UniTask<Font> LoadFontAsync(string _fontName, CancellationToken ct = default)
|
{
|
return ResManager.Instance.LoadAssetAsync<Font>(ResourcesPath.UI_FONT_SUFFIX, _fontName, ct: ct);
|
}
|
|
public static async UniTask<Texture2D> LoadTexture2DAsync(string _iconKey, CancellationToken ct = default)
|
{
|
var iconConfig = IconConfig.Get(_iconKey);
|
if (iconConfig == null) return null;
|
return await ResManager.Instance.LoadAssetAsync<Texture2D>(
|
StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/" + iconConfig.folder), iconConfig.sprite, ct: ct);
|
}
|
|
public static UniTask<Texture2D> LoadTexture2DPNGAsync(string name, CancellationToken ct = default)
|
{
|
return ResManager.Instance.LoadAssetAsync<Texture2D>(
|
StringUtility.Concat(ResourcesPath.UI_TEXTURE_SUFFIX, "/FullScreenBg"), name + ".png", false, ct);
|
}
|
}
|