Files
Jan2021-Cpp2Il-Dump/Assembly-CSharp/RRUI/Data/Router.cs
T
2026-04-08 23:40:05 +02:00

518 lines
18 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Async;
using RecRoom.Core;
using RRUI.Navigation;
using UnityEngine;
using UnityEngine.AddressableAssets;
namespace RRUI.Data
{
// Token: 0x02000C3A RID: 3130
[Token(Token = "0x2000C3A")]
[DisallowMultipleComponent]
[StructLayout(3)]
public class Router : MonoBehaviour
{
// Token: 0x06004B73 RID: 19315 RVA: 0x0011A408 File Offset: 0x00118608
[Token(Token = "0x6004B73")]
[Address(RVA = "0x1AFF170", Offset = "0x1AFDB70", VA = "0x181AFF170")]
private void Awake()
{
DialogListModel dialogListModel = this.dialogListModel;
int num = 0;
if (dialogListModel == num)
{
DialogListModel dialogListModel2 = DialogListModel.TryFindDialogListModel(base.gameObject);
this.dialogListModel = dialogListModel2;
}
string name = base.gameObject.name;
if (this.limitRouteCache)
{
}
HMPFJLIECAA hmpfjliecaa = new HMPFJLIECAA(name, -1);
this.DBABMGIAHPH = hmpfjliecaa;
}
// Token: 0x06004B74 RID: 19316 RVA: 0x0011A468 File Offset: 0x00118668
[Token(Token = "0x6004B74")]
[Address(RVA = "0x1AFF2A0", Offset = "0x1AFDCA0", VA = "0x181AFF2A0")]
private void OnDestroy()
{
HMPFJLIECAA dbabmgiahph = this.DBABMGIAHPH;
if (dbabmgiahph != 0)
{
dbabmgiahph.Dispose();
}
Router.MJKBFNONJJK ckcmdedjkdc = this.CKCMDEDJKDC;
if (ckcmdedjkdc != 0)
{
ckcmdedjkdc.Dispose();
}
Router.MJKBFNONJJK ompegjdifef = this.OMPEGJDIFEF;
this.CKCMDEDJKDC = (ulong)0L;
if (ompegjdifef != 0)
{
ompegjdifef.Dispose();
}
this.OMPEGJDIFEF = (ulong)0L;
}
// Token: 0x06004B75 RID: 19317 RVA: 0x0011A4BC File Offset: 0x001186BC
[Token(Token = "0x6004B75")]
[Address(RVA = "0x1AFF2F0", Offset = "0x1AFDCF0", VA = "0x181AFF2F0")]
public ICancelablePromise TryGoTo(CECAKDDNHLN PACGLAIGOMF)
{
Router.MJKBFNONJJK ompegjdifef = this.OMPEGJDIFEF;
if (ompegjdifef == 0)
{
Router.MJKBFNONJJK ckcmdedjkdc = this.CKCMDEDJKDC;
if (ckcmdedjkdc == 0 || !ckcmdedjkdc.PACGLAIGOMF.Equals(PACGLAIGOMF))
{
goto IL_40;
}
CancelablePromise ikopgaljoal = this.CKCMDEDJKDC.IKOPGALJOAL;
}
if (ompegjdifef.PACGLAIGOMF.Equals(PACGLAIGOMF))
{
goto IL_B9;
}
IL_40:
if (PACGLAIGOMF.<GIAMNOCCOHD>k__BackingField != (ulong)0L)
{
Router.MJKBFNONJJK ompegjdifef2 = this.OMPEGJDIFEF;
if (ompegjdifef2 != 0)
{
ompegjdifef2.Dispose();
}
bool jfibnagmmgb = this.JFIBNAGMMGB;
Router.MJKBFNONJJK mjkbfnonjjk = new Router.MJKBFNONJJK(PACGLAIGOMF, this, jfibnagmmgb);
this.OMPEGJDIFEF = mjkbfnonjjk;
CancelablePromise ikopgaljoal2 = mjkbfnonjjk.IKOPGALJOAL;
Action action = new Action(this.BCIDNCAJEJD);
Action action2 = new Action(this.AFPAIIMCLGP);
Action<string> action3 = new Action(this.DEPPHLBJHKL);
}
new CancelablePromise().Error("Uri Route cannot be null");
IL_B9:
throw new NullReferenceException();
}
// Token: 0x06004B76 RID: 19318 RVA: 0x0011A588 File Offset: 0x00118788
[Token(Token = "0x6004B76")]
[Address(RVA = "0x1AFF290", Offset = "0x1AFDC90", VA = "0x181AFF290")]
private void IOCJFCELDNK(FBJILIENCFN.OKLBFMCPIFM MEBGENAJCDN)
{
DialogListModel dialogListModel = this.dialogListModel;
int num = 0;
FBJILIENCFN.BLCCMPJBHKH(dialogListModel, MEBGENAJCDN, num);
}
// Token: 0x06004B77 RID: 19319 RVA: 0x0011A5A8 File Offset: 0x001187A8
[Token(Token = "0x6004B77")]
[Address(RVA = "0x1AFF520", Offset = "0x1AFDF20", VA = "0x181AFF520")]
public Router()
{
}
// Token: 0x06004B78 RID: 19320 RVA: 0x0011A5C4 File Offset: 0x001187C4
[Token(Token = "0x6004B78")]
[Address(RVA = "0x1AFF260", Offset = "0x1AFDC60", VA = "0x181AFF260")]
[CompilerGenerated]
private void BCIDNCAJEJD()
{
Router.MJKBFNONJJK ompegjdifef = this.OMPEGJDIFEF;
if (ompegjdifef != 0)
{
ompegjdifef.Dispose();
}
this.OMPEGJDIFEF = (ulong)0L;
}
// Token: 0x06004B79 RID: 19321 RVA: 0x0011A5EC File Offset: 0x001187EC
[Token(Token = "0x6004B79")]
[Address(RVA = "0x1AFF130", Offset = "0x1AFDB30", VA = "0x181AFF130")]
[CompilerGenerated]
private void AFPAIIMCLGP()
{
Router.MJKBFNONJJK ckcmdedjkdc = this.CKCMDEDJKDC;
if (ckcmdedjkdc != 0)
{
ckcmdedjkdc.Dispose();
}
Router.MJKBFNONJJK ompegjdifef = this.OMPEGJDIFEF;
this.CKCMDEDJKDC = ompegjdifef;
this.OMPEGJDIFEF = (ulong)0L;
this.JFIBNAGMMGB = true;
}
// Token: 0x06004B7A RID: 19322 RVA: 0x0011A628 File Offset: 0x00118828
[Token(Token = "0x6004B7A")]
[Address(RVA = "0x1AFF260", Offset = "0x1AFDC60", VA = "0x181AFF260")]
[CompilerGenerated]
private void DEPPHLBJHKL(string CHKKEHOKPJP)
{
Router.MJKBFNONJJK ompegjdifef = this.OMPEGJDIFEF;
if (ompegjdifef != 0)
{
ompegjdifef.Dispose();
}
this.OMPEGJDIFEF = (ulong)0L;
}
// Token: 0x04003806 RID: 14342
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003806")]
[SerializeField]
[OCIDFHDICIP(JIBDPHMGEGO.Parent, false, false)]
private DialogListModel dialogListModel;
// Token: 0x04003807 RID: 14343
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003807")]
[SerializeField]
[Tooltip("If true, we will unload the oldest inactive route prefabs as new routes are loaded.")]
private bool limitRouteCache;
// Token: 0x04003808 RID: 14344
[global::Cpp2IlInjected.FieldOffset(Offset = "0x24")]
[Token(Token = "0x4003808")]
[SerializeField]
[OMAIFIIBMNL("limitRouteCache")]
private int routeCacheSize = (int)((ulong)5L);
// Token: 0x04003809 RID: 14345
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003809")]
private Router.MJKBFNONJJK CKCMDEDJKDC;
// Token: 0x0400380A RID: 14346
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x400380A")]
private Router.MJKBFNONJJK OMPEGJDIFEF;
// Token: 0x0400380B RID: 14347
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x400380B")]
private HMPFJLIECAA DBABMGIAHPH;
// Token: 0x0400380C RID: 14348
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x400380C")]
private bool JFIBNAGMMGB;
// Token: 0x02000C3B RID: 3131
[Token(Token = "0x2000C3B")]
private class MJKBFNONJJK : IDisposable
{
// Token: 0x17000D25 RID: 3365
// (get) Token: 0x06004B7B RID: 19323 RVA: 0x0011A650 File Offset: 0x00118850
[Token(Token = "0x17000D25")]
public CECAKDDNHLN NJIBHKPHKFF
{
[Token(Token = "0x6004B7B")]
[Address(RVA = "0x3C39A0", Offset = "0x3C23A0", VA = "0x1803C39A0")]
get
{
return this.PACGLAIGOMF;
}
}
// Token: 0x17000D26 RID: 3366
// (get) Token: 0x06004B7C RID: 19324 RVA: 0x0011A664 File Offset: 0x00118864
[Token(Token = "0x17000D26")]
public ICancelablePromise JHOIMDCPKIL
{
[Token(Token = "0x6004B7C")]
[Address(RVA = "0x3C1240", Offset = "0x3BFC40", VA = "0x1803C1240")]
get
{
/*
An exception occurred when decompiling this method (06004B7C)
ICSharpCode.Decompiler.DecompilerException: Error decompiling RecRoom.Async.ICancelablePromise RRUI.Data.Router/MJKBFNONJJK::IMNEJEAFGGP()
---> System.Exception: Basic block has to end with unconditional control flow.
{
Block_0:
stloc:CancelablePromise(var_0_06, ldfld:CancelablePromise(MJKBFNONJJK::IKOPGALJOAL, ldloc:MJKBFNONJJK(this)))
}
at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
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 355
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 1663
*/;
}
}
// Token: 0x06004B7D RID: 19325 RVA: 0x0011A678 File Offset: 0x00118878
[Token(Token = "0x6004B7D")]
[Address(RVA = "0x1AF5FC0", Offset = "0x1AF49C0", VA = "0x181AF5FC0")]
public MJKBFNONJJK(CECAKDDNHLN uri, Router router, bool showLoadingSpinner = true)
{
List<ICancelablePromise> list = new List();
this.OFHGDCAOLCI = list;
base..ctor();
CECAKDDNHLN uri2 = uri;
Router.MJKBFNONJJK <>4__this = this;
this.PACGLAIGOMF = uri2;
CancelablePromise cancelablePromise = new CancelablePromise();
this.IKOPGALJOAL = cancelablePromise;
AssetReference assetReference = uri.<GIAMNOCCOHD>k__BackingField.POPMDGAJDCA();
if (assetReference != 0)
{
Router router2 = router;
HMPFJLIECAA hmpfjliecaa;
HMPFJLIECAA.KGAGNDKHGCK<Transform> kgagndkhgck = hmpfjliecaa.OBCMOHDGJNN<Transform>(assetReference);
this.EGIPICLIPPB = kgagndkhgck;
if (showLoadingSpinner)
{
Router router3 = router;
Action action = delegate
{
};
ISchedulerPromise schedulerPromise = router3.InvokeNextUpdate(action);
}
BOHAAHKCJLL<Transform> egipiclippb = this.EGIPICLIPPB;
Action<Transform> action2 = delegate(Transform instance)
{
};
int num = 0;
num += num;
num++;
return;
}
CECAKDDNHLN uri3 = uri;
CancelablePromise ikopgaljoal = this.IKOPGALJOAL;
Route <GIAMNOCCOHD>k__BackingField = uri3.<GIAMNOCCOHD>k__BackingField;
string text = string.Format("Failed to get prefab reference for route {0}", <GIAMNOCCOHD>k__BackingField);
ikopgaljoal.Error(text);
throw new NullReferenceException();
}
// Token: 0x06004B7E RID: 19326 RVA: 0x0011A79C File Offset: 0x0011899C
[Token(Token = "0x6004B7E")]
[Address(RVA = "0x1AF5D70", Offset = "0x1AF4770", VA = "0x181AF5D70", Slot = "4")]
public void Dispose()
{
int num;
int num2;
do
{
num = 0;
this.DMFLCCPMLIE = num;
List<ICancelablePromise> ofhgdcaolci = this.OFHGDCAOLCI;
List.Enumerator enumerator;
if (enumerator != 0)
{
num += num;
num++;
while (enumerator == 0)
{
}
}
num2 = 0;
if (num != -1)
{
}
}
while (num != 0);
this.OFHGDCAOLCI.Clear();
if (this.EGIPICLIPPB != 0)
{
}
this.EGIPICLIPPB = num2;
CancelablePromise ikopgaljoal = this.IKOPGALJOAL;
if (ikopgaljoal != 0 && ikopgaljoal.IsPending)
{
this.IKOPGALJOAL.Cancel();
}
}
// Token: 0x0400380D RID: 14349
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400380D")]
private readonly CECAKDDNHLN PACGLAIGOMF;
// Token: 0x0400380E RID: 14350
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400380E")]
private readonly CancelablePromise IKOPGALJOAL;
// Token: 0x0400380F RID: 14351
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x400380F")]
private readonly List<ICancelablePromise> OFHGDCAOLCI;
// Token: 0x04003810 RID: 14352
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003810")]
private GameObject DMFLCCPMLIE;
// Token: 0x04003811 RID: 14353
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003811")]
private BOHAAHKCJLL<Transform> EGIPICLIPPB;
// Token: 0x02000C3C RID: 3132
[Token(Token = "0x2000C3C")]
[CompilerGenerated]
private sealed class NCFNJNNBAEA
{
// Token: 0x06004B7F RID: 19327 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B7F")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public NCFNJNNBAEA()
{
}
// Token: 0x06004B80 RID: 19328 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B80")]
[Address(RVA = "0x1AF6750", Offset = "0x1AF5150", VA = "0x181AF6750")]
internal void <.ctor>b__0()
{
}
// Token: 0x06004B81 RID: 19329 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B81")]
[Address(RVA = "0x1AF6AA0", Offset = "0x1AF54A0", VA = "0x181AF6AA0")]
internal void <.ctor>b__2(IDisposable loadingDialogToken)
{
}
// Token: 0x06004B82 RID: 19330 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B82")]
[Address(RVA = "0x1AF6810", Offset = "0x1AF5210", VA = "0x181AF6810")]
internal void <.ctor>b__1(Transform instance)
{
}
// Token: 0x06004B83 RID: 19331 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B83")]
[Address(RVA = "0x1AF6F30", Offset = "0x1AF5930", VA = "0x181AF6F30")]
internal void <.ctor>g__OnSuccess|3()
{
}
// Token: 0x06004B84 RID: 19332 RVA: 0x00062DDE File Offset: 0x00060FDE
[Token(Token = "0x6004B84")]
[Address(RVA = "0x1AF6B40", Offset = "0x1AF5540", VA = "0x181AF6B40")]
internal ICancelablePromise <.ctor>b__4(OOKGPDCMKFC preFetchModel)
{
return null;
}
// Token: 0x06004B85 RID: 19333 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B85")]
[Address(RVA = "0x1AF6D50", Offset = "0x1AF5750", VA = "0x181AF6D50")]
internal void <.ctor>g__CreatePreFetchPromise|5(IDisposable loadingDialogToken)
{
}
// Token: 0x06004B86 RID: 19334 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B86")]
[Address(RVA = "0x1AF6C00", Offset = "0x1AF5600", VA = "0x181AF6C00")]
internal void <.ctor>b__6()
{
}
// Token: 0x06004B87 RID: 19335 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B87")]
[Address(RVA = "0x1AF6C30", Offset = "0x1AF5630", VA = "0x181AF6C30")]
internal void <.ctor>b__7()
{
}
// Token: 0x06004B88 RID: 19336 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B88")]
[Address(RVA = "0x1AF6C40", Offset = "0x1AF5640", VA = "0x181AF6C40")]
internal void <.ctor>b__8(string error)
{
}
// Token: 0x04003812 RID: 14354
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x4003812")]
public Router.MJKBFNONJJK <>4__this;
// Token: 0x04003813 RID: 14355
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x4003813")]
public Router router;
// Token: 0x04003814 RID: 14356
[global::Cpp2IlInjected.FieldOffset(Offset = "0x20")]
[Token(Token = "0x4003814")]
public CECAKDDNHLN uri;
// Token: 0x04003815 RID: 14357
[global::Cpp2IlInjected.FieldOffset(Offset = "0x28")]
[Token(Token = "0x4003815")]
public bool showLoadingSpinner;
// Token: 0x04003816 RID: 14358
[global::Cpp2IlInjected.FieldOffset(Offset = "0x30")]
[Token(Token = "0x4003816")]
public FBJILIENCFN.OKLBFMCPIFM <>9__2;
// Token: 0x04003817 RID: 14359
[global::Cpp2IlInjected.FieldOffset(Offset = "0x38")]
[Token(Token = "0x4003817")]
public Func<OOKGPDCMKFC, ICancelablePromise> <>9__4;
// Token: 0x04003818 RID: 14360
[global::Cpp2IlInjected.FieldOffset(Offset = "0x40")]
[Token(Token = "0x4003818")]
public Action <>9__6;
// Token: 0x04003819 RID: 14361
[global::Cpp2IlInjected.FieldOffset(Offset = "0x48")]
[Token(Token = "0x4003819")]
public Action <>9__7;
// Token: 0x0400381A RID: 14362
[global::Cpp2IlInjected.FieldOffset(Offset = "0x50")]
[Token(Token = "0x400381A")]
public Action<string> <>9__8;
}
// Token: 0x02000C3D RID: 3133
[Token(Token = "0x2000C3D")]
[CompilerGenerated]
private sealed class MGOJGGONOCO
{
// Token: 0x06004B89 RID: 19337 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B89")]
[Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")]
public MGOJGGONOCO()
{
}
// Token: 0x06004B8A RID: 19338 RVA: 0x0003C3EA File Offset: 0x0003A5EA
[Token(Token = "0x6004B8A")]
[Address(RVA = "0x1AF5C60", Offset = "0x1AF4660", VA = "0x181AF5C60")]
internal void <.ctor>b__9()
{
}
// Token: 0x0400381B RID: 14363
[global::Cpp2IlInjected.FieldOffset(Offset = "0x10")]
[Token(Token = "0x400381B")]
public IDisposable loadingDialogToken;
// Token: 0x0400381C RID: 14364
[global::Cpp2IlInjected.FieldOffset(Offset = "0x18")]
[Token(Token = "0x400381C")]
public Router.MJKBFNONJJK.NCFNJNNBAEA CS$<>8__locals1;
}
}
}
}