239 lines
10 KiB
C#
239 lines
10 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using MEC;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x0200010E RID: 270
|
|
[Token(Token = "0x200010E")]
|
|
public sealed class GameAssetManager
|
|
{
|
|
// Token: 0x06000E84 RID: 3716 RVA: 0x00022E74 File Offset: 0x00021074
|
|
[Token(Token = "0x6000E84")]
|
|
[Address(RVA = "0x4FB8A0", Offset = "0x4FA0A0", VA = "0x1804FB8A0")]
|
|
public void Init()
|
|
{
|
|
AssetLoader assetLoader = new AssetLoader();
|
|
Action<AssetRequestBase, UnityEngine.Object[]> action = new Action(this.OnAssetLoaded);
|
|
assetLoader.<OnFinished>k__BackingField = action;
|
|
this.assetLoader = assetLoader;
|
|
Queue<AssetRequestBase> queue = new Queue();
|
|
this.handlingRequests = queue;
|
|
List<AssetRequestBase> list = new List();
|
|
this.pendingRequests = list;
|
|
Dictionary<string, UnityEngine.Object[]> dictionary = new Dictionary();
|
|
this.assetsCache = dictionary;
|
|
int num;
|
|
GameAssetManager.<Tick>d__20 <Tick>d__ = new GameAssetManager.<Tick>d__20(num);
|
|
num = 0;
|
|
<Tick>d__.<>4__this = this;
|
|
CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(<Tick>d__);
|
|
this.assetRequestProcessor = coroutineHandle;
|
|
}
|
|
|
|
// Token: 0x06000E85 RID: 3717 RVA: 0x00022EF8 File Offset: 0x000210F8
|
|
[Token(Token = "0x6000E85")]
|
|
[Address(RVA = "0x458A70", Offset = "0x457270", VA = "0x180458A70")]
|
|
public void BindAssetRequestUpdateHandler(Action<float> handler)
|
|
{
|
|
/*
|
|
An exception occurred when decompiling this method (06000E85)
|
|
|
|
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void GameAssetManager::BindAssetRequestUpdateHandler(System.Action`1<System.Single>)
|
|
|
|
---> System.Exception: Basic block has to end with unconditional control flow.
|
|
{; Block_0:; stfld:class [mscorlib]System.Action`1<float32>(GameAssetManager::updateHandler, ldloc:GameAssetManager(this), ldloc:class [mscorlib]System.Action`1<float32>(handler)); };
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
|
|
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
|
|
--- End of inner exception stack trace ---
|
|
at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
|
|
at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
|
|
*/;
|
|
}
|
|
|
|
// Token: 0x06000E86 RID: 3718 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E86")]
|
|
[Address(RVA = "0x4FBB90", Offset = "0x4FA390", VA = "0x1804FBB90")]
|
|
public void LoadAllPendingAssetAsync(Action handler)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E87 RID: 3719 RVA: 0x00022F0C File Offset: 0x0002110C
|
|
[Token(Token = "0x6000E87")]
|
|
[Address(RVA = "0x4FB610", Offset = "0x4F9E10", VA = "0x1804FB610")]
|
|
public void AddAssetRequest(AssetRequestBase req)
|
|
{
|
|
this.pendingRequests.Add(req);
|
|
}
|
|
|
|
// Token: 0x06000E88 RID: 3720 RVA: 0x00022F2C File Offset: 0x0002112C
|
|
[Token(Token = "0x6000E88")]
|
|
[Address(RVA = "0x4FBDC0", Offset = "0x4FA5C0", VA = "0x1804FBDC0")]
|
|
public void LoadAssetAsync(AssetRequestBase req)
|
|
{
|
|
this.handlingRequests.Enqueue(req);
|
|
}
|
|
|
|
// Token: 0x06000E89 RID: 3721 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E89")]
|
|
[Address(RVA = "0x4FBE20", Offset = "0x4FA620", VA = "0x1804FBE20")]
|
|
public void LoadAsset(AssetRequestBase req)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E8A RID: 3722 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E8A")]
|
|
[Address(RVA = "0x375D10", Offset = "0x374510", VA = "0x180375D10")]
|
|
public T GetAsset<T>(int assetType, string assetName) where T : UnityEngine.Object
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E8B RID: 3723 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E8B")]
|
|
[Address(RVA = "0x375E70", Offset = "0x374670", VA = "0x180375E70")]
|
|
public T GetSubAsset<T>(int assetType, string assetName, string subAssetName) where T : UnityEngine.Object
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E8C RID: 3724 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E8C")]
|
|
[Address(RVA = "0x375B00", Offset = "0x374300", VA = "0x180375B00")]
|
|
public T[] GetAllAssets<T>(int assetType, string assetName) where T : UnityEngine.Object
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E8D RID: 3725 RVA: 0x00022F4C File Offset: 0x0002114C
|
|
[Token(Token = "0x6000E8D")]
|
|
[Address(RVA = "0x4FC280", Offset = "0x4FAA80", VA = "0x1804FC280")]
|
|
public void UnloadUnusedAssets()
|
|
{
|
|
this.assetsCache.Clear();
|
|
AsyncOperation asyncOperation = Resources.UnloadUnusedAssets();
|
|
}
|
|
|
|
// Token: 0x06000E8E RID: 3726 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E8E")]
|
|
[Address(RVA = "0x4FC060", Offset = "0x4FA860", VA = "0x1804FC060")]
|
|
public void UnloadAssetsCache(string resType)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E8F RID: 3727 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E8F")]
|
|
[Address(RVA = "0x4FB670", Offset = "0x4F9E70", VA = "0x1804FB670")]
|
|
public void Dispose()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E90 RID: 3728 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E90")]
|
|
[Address(RVA = "0x4FBFF0", Offset = "0x4FA7F0", VA = "0x1804FBFF0")]
|
|
private IEnumerator<float> Tick()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E91 RID: 3729 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E91")]
|
|
[Address(RVA = "0x4FC2D0", Offset = "0x4FAAD0", VA = "0x1804FC2D0")]
|
|
private IEnumerator<float> WaitForAllHandlingRequest()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E92 RID: 3730 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E92")]
|
|
[Address(RVA = "0x4FB7F0", Offset = "0x4F9FF0", VA = "0x1804FB7F0")]
|
|
private void HandleRequests()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E93 RID: 3731 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E93")]
|
|
[Address(RVA = "0x4FB720", Offset = "0x4F9F20", VA = "0x1804FB720")]
|
|
private UnityEngine.Object[] GetAssetFromCache(string assetKey)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E94 RID: 3732 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E94")]
|
|
[Address(RVA = "0x4FBAA0", Offset = "0x4FA2A0", VA = "0x1804FBAA0")]
|
|
private bool IsRequestHandled(AssetRequestBase req)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E95 RID: 3733 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E95")]
|
|
[Address(RVA = "0x4FBF00", Offset = "0x4FA700", VA = "0x1804FBF00")]
|
|
private void OnAssetLoaded(AssetRequestBase req, UnityEngine.Object[] assetObjs)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E96 RID: 3734 RVA: 0x000020D3 File Offset: 0x000002D3
|
|
[Token(Token = "0x6000E96")]
|
|
[Address(RVA = "0x4FB7A0", Offset = "0x4F9FA0", VA = "0x1804FB7A0")]
|
|
private string GetCacheKey(int resType, string assetName)
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06000E97 RID: 3735 RVA: 0x00022F74 File Offset: 0x00021174
|
|
[Token(Token = "0x6000E97")]
|
|
[Address(RVA = "0x43A830", Offset = "0x439030", VA = "0x18043A830")]
|
|
public GameAssetManager()
|
|
{
|
|
}
|
|
|
|
// Token: 0x0400192C RID: 6444
|
|
[FieldOffset(Offset = "0x10")]
|
|
[Token(Token = "0x400192C")]
|
|
private AssetLoader assetLoader;
|
|
|
|
// Token: 0x0400192D RID: 6445
|
|
[FieldOffset(Offset = "0x18")]
|
|
[Token(Token = "0x400192D")]
|
|
private Queue<AssetRequestBase> handlingRequests;
|
|
|
|
// Token: 0x0400192E RID: 6446
|
|
[FieldOffset(Offset = "0x20")]
|
|
[Token(Token = "0x400192E")]
|
|
private List<AssetRequestBase> pendingRequests;
|
|
|
|
// Token: 0x0400192F RID: 6447
|
|
[FieldOffset(Offset = "0x28")]
|
|
[Token(Token = "0x400192F")]
|
|
private Dictionary<string, UnityEngine.Object[]> assetsCache;
|
|
|
|
// Token: 0x04001930 RID: 6448
|
|
[FieldOffset(Offset = "0x30")]
|
|
[Token(Token = "0x4001930")]
|
|
private CoroutineHandle assetRequestProcessor;
|
|
|
|
// Token: 0x04001931 RID: 6449
|
|
[FieldOffset(Offset = "0x38")]
|
|
[Token(Token = "0x4001931")]
|
|
private Action<float> updateHandler;
|
|
|
|
// Token: 0x04001932 RID: 6450
|
|
[FieldOffset(Offset = "0x40")]
|
|
[Token(Token = "0x4001932")]
|
|
private Action completeHandler;
|
|
|
|
// Token: 0x04001933 RID: 6451
|
|
[Token(Token = "0x4001933")]
|
|
private const int ASSET_REQUEST_HANDLING_RATE = 8;
|
|
}
|