diff options
| author | chai <215380520@qq.com> | 2024-05-19 17:03:57 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 17:03:57 +0800 |
| commit | cf58771365b5953c6eac548b172aae880d1f0acd (patch) | |
| tree | a49757a4b5c447cbf877584d482367a6bfe33b10 /Thronefall_1_57/Decompile/I2.Loc/ResourceManager.cs | |
| parent | eed315deae356ddfb17f28305e7cde6cdfc43313 (diff) | |
* rename
Diffstat (limited to 'Thronefall_1_57/Decompile/I2.Loc/ResourceManager.cs')
| -rw-r--r-- | Thronefall_1_57/Decompile/I2.Loc/ResourceManager.cs | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/Thronefall_1_57/Decompile/I2.Loc/ResourceManager.cs b/Thronefall_1_57/Decompile/I2.Loc/ResourceManager.cs deleted file mode 100644 index 793bb21..0000000 --- a/Thronefall_1_57/Decompile/I2.Loc/ResourceManager.cs +++ /dev/null @@ -1,160 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; -using UnityEngine.SceneManagement; - -namespace I2.Loc; - -public class ResourceManager : MonoBehaviour -{ - private static ResourceManager mInstance; - - public List<IResourceManager_Bundles> mBundleManagers = new List<IResourceManager_Bundles>(); - - public UnityEngine.Object[] Assets; - - private readonly Dictionary<string, UnityEngine.Object> mResourcesCache = new Dictionary<string, UnityEngine.Object>(StringComparer.Ordinal); - - public static ResourceManager pInstance - { - get - { - bool flag = mInstance == null; - if (mInstance == null) - { - mInstance = (ResourceManager)UnityEngine.Object.FindObjectOfType(typeof(ResourceManager)); - } - if (mInstance == null) - { - GameObject obj = new GameObject("I2ResourceManager", typeof(ResourceManager)); - obj.hideFlags |= HideFlags.HideAndDontSave; - mInstance = obj.GetComponent<ResourceManager>(); - SceneManager.sceneLoaded += MyOnLevelWasLoaded; - } - if (flag && Application.isPlaying) - { - UnityEngine.Object.DontDestroyOnLoad(mInstance.gameObject); - } - return mInstance; - } - } - - public static void MyOnLevelWasLoaded(Scene scene, LoadSceneMode mode) - { - pInstance.CleanResourceCache(); - LocalizationManager.UpdateSources(); - } - - public T GetAsset<T>(string Name) where T : UnityEngine.Object - { - T val = FindAsset(Name) as T; - if ((UnityEngine.Object)val != (UnityEngine.Object)null) - { - return val; - } - return LoadFromResources<T>(Name); - } - - private UnityEngine.Object FindAsset(string Name) - { - if (Assets != null) - { - int i = 0; - for (int num = Assets.Length; i < num; i++) - { - if (Assets[i] != null && Assets[i].name == Name) - { - return Assets[i]; - } - } - } - return null; - } - - public bool HasAsset(UnityEngine.Object Obj) - { - if (Assets == null) - { - return false; - } - return Array.IndexOf(Assets, Obj) >= 0; - } - - public T LoadFromResources<T>(string Path) where T : UnityEngine.Object - { - try - { - if (string.IsNullOrEmpty(Path)) - { - return null; - } - if (mResourcesCache.TryGetValue(Path, out var value) && value != null) - { - return value as T; - } - T val = null; - if (Path.EndsWith("]", StringComparison.OrdinalIgnoreCase)) - { - int num = Path.LastIndexOf("[", StringComparison.OrdinalIgnoreCase); - int length = Path.Length - num - 2; - string value2 = Path.Substring(num + 1, length); - Path = Path.Substring(0, num); - T[] array = Resources.LoadAll<T>(Path); - int i = 0; - for (int num2 = array.Length; i < num2; i++) - { - if (array[i].name.Equals(value2)) - { - val = array[i]; - break; - } - } - } - else - { - val = Resources.Load(Path, typeof(T)) as T; - } - if ((UnityEngine.Object)val == (UnityEngine.Object)null) - { - val = LoadFromBundle<T>(Path); - } - if ((UnityEngine.Object)val != (UnityEngine.Object)null) - { - mResourcesCache[Path] = val; - } - return val; - } - catch (Exception ex) - { - Debug.LogErrorFormat("Unable to load {0} '{1}'\nERROR: {2}", typeof(T), Path, ex.ToString()); - return null; - } - } - - public T LoadFromBundle<T>(string path) where T : UnityEngine.Object - { - int i = 0; - for (int count = mBundleManagers.Count; i < count; i++) - { - if (mBundleManagers[i] != null) - { - T val = mBundleManagers[i].LoadFromBundle(path, typeof(T)) as T; - if ((UnityEngine.Object)val != (UnityEngine.Object)null) - { - return val; - } - } - } - return null; - } - - public void CleanResourceCache(bool unloadResources = false) - { - mResourcesCache.Clear(); - if (unloadResources) - { - Resources.UnloadUnusedAssets(); - } - CancelInvoke(); - } -} |
