1
This commit is contained in:
48
Src/Unity/Scripts/Assets/YooAssetUtils.cs
Normal file
48
Src/Unity/Scripts/Assets/YooAssetUtils.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using YooAsset;
|
||||
|
||||
namespace BITKit.IO
|
||||
{
|
||||
public class YooAssetUtils
|
||||
{
|
||||
[RuntimeInitializeOnLoadMethod]
|
||||
private static void Reload()
|
||||
{
|
||||
OnPackageRegistered = null;
|
||||
OnPackageUnregistered = null;
|
||||
_registeredPackages.Clear();
|
||||
_registeredResourcePackages.Clear();
|
||||
}
|
||||
public static event Action<string> OnPackageRegistered;
|
||||
public static event Action<string> OnPackageUnregistered;
|
||||
public static IEnumerable<string> RegisteredPackages => _registeredPackages.ToArray();
|
||||
public static IEnumerable<ResourcePackage> RegisteredResourcePackages => _registeredResourcePackages.ToArray();
|
||||
private static readonly List<ResourcePackage> _registeredResourcePackages = new();
|
||||
private static readonly List<string> _registeredPackages = new();
|
||||
|
||||
public static void RegisterPackage(string packageName)
|
||||
{
|
||||
if (_registeredPackages.Contains(packageName))
|
||||
{
|
||||
return;
|
||||
}
|
||||
_registeredPackages.Add(packageName);
|
||||
OnPackageRegistered?.Invoke(packageName);
|
||||
}
|
||||
public static void UnregisterPackage(string packageName)
|
||||
{
|
||||
if (!_registeredPackages.Contains(packageName))
|
||||
{
|
||||
return;
|
||||
}
|
||||
_registeredPackages.Remove(packageName);
|
||||
OnPackageUnregistered?.Invoke(packageName);
|
||||
}
|
||||
public static void RegisterResourcePackage(ResourcePackage package)=>_registeredResourcePackages.Add(package);
|
||||
public static void UnregisterResourcePackage(ResourcePackage package)=>_registeredResourcePackages.Remove(package);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user