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.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 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 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.k__BackingField.POPMDGAJDCA(); if (assetReference != 0) { Router router2 = router; HMPFJLIECAA hmpfjliecaa; HMPFJLIECAA.KGAGNDKHGCK kgagndkhgck = hmpfjliecaa.OBCMOHDGJNN(assetReference); this.EGIPICLIPPB = kgagndkhgck; if (showLoadingSpinner) { Router router3 = router; Action action = delegate { }; ISchedulerPromise schedulerPromise = router3.InvokeNextUpdate(action); } BOHAAHKCJLL egipiclippb = this.EGIPICLIPPB; Action action2 = delegate(Transform instance) { }; int num = 0; num += num; num++; return; } CECAKDDNHLN uri3 = uri; CancelablePromise ikopgaljoal = this.IKOPGALJOAL; Route k__BackingField = uri3.k__BackingField; string text = string.Format("Failed to get prefab reference for route {0}", 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 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 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 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 <>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 <>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; } } } }