using System; using System.Collections; using System.Collections.Generic; using System.Linq; using Cpp2IlInjected; using RecRoom.Activities.Quest; using UnityEngine; namespace RecRoom.Core.Encounters { // Token: 0x02003092 RID: 12434 [Token(Token = "0x2003092")] public class OverlapVolumeEncounterStartTrigger : GameEncounterStartTrigger { // Token: 0x06015134 RID: 86324 RVA: 0x004E9AE4 File Offset: 0x004E7CE4 [Token(Token = "0x6015134")] [Address(RVA = "0x85CAC0", Offset = "0x85BAC0", VA = "0x18085CAC0", Slot = "6")] public override void OnCleanup() { base.StopListening(); } // Token: 0x17003A00 RID: 14848 // (get) Token: 0x06015135 RID: 86325 RVA: 0x004E9AF8 File Offset: 0x004E7CF8 [Token(Token = "0x17003A00")] public override string KODBEJPEFOJ { [Token(Token = "0x6015135")] [Address(RVA = "0x13A7AF0", Offset = "0x13A6AF0", VA = "0x1813A7AF0", Slot = "4")] get { return "Players teleport or walk in to volumes."; } } // Token: 0x06015136 RID: 86326 RVA: 0x004E9B0C File Offset: 0x004E7D0C [Token(Token = "0x6015136")] [Address(RVA = "0x13A77E0", Offset = "0x13A67E0", VA = "0x1813A77E0", Slot = "9")] public override void StartListening() { if (!string.IsNullOrEmpty(this.defaultNotYetTriggeredNotification)) { EncounterOverlapVolume[] array = this.volumes; int num = 0; if (num < array.Length) { int num2 = 0; EncounterOverlapVolume encounterOverlapVolume; if (encounterOverlapVolume != num2) { EncounterOverlapVolume[] array2 = this.volumes; Action action = new Action(this.LMPDBKLEKLF); EncounterOverlapVolume encounterOverlapVolume2; encounterOverlapVolume2.LocalPlayerVolumeEnterEvent += action; } EncounterOverlapVolume[] array3 = this.volumes; num++; } } } // Token: 0x06015137 RID: 86327 RVA: 0x004E9B78 File Offset: 0x004E7D78 [Token(Token = "0x6015137")] [Address(RVA = "0x13A7940", Offset = "0x13A6940", VA = "0x1813A7940", Slot = "11")] public override void StopListening() { Coroutine lpobimhhifa = this.LPOBIMHHIFA; int num = 0; if (lpobimhhifa != 0) { base.StopCoroutine(lpobimhhifa); this.LPOBIMHHIFA = num; } EncounterOverlapVolume[] array = this.volumes; if (num < array.Length) { int num2 = 0; EncounterOverlapVolume encounterOverlapVolume; if (encounterOverlapVolume != num2) { EncounterOverlapVolume[] array2 = this.volumes; Action action = new Action(this.LMPDBKLEKLF); EncounterOverlapVolume encounterOverlapVolume2; encounterOverlapVolume2.LocalPlayerVolumeEnterEvent -= action; } EncounterOverlapVolume[] array3 = this.volumes; num++; } } // Token: 0x06015138 RID: 86328 RVA: 0x004E9BF0 File Offset: 0x004E7DF0 [Token(Token = "0x6015138")] [Address(RVA = "0x13A74E0", Offset = "0x13A64E0", VA = "0x1813A74E0", Slot = "10")] public override bool IsTriggered() { GameManager k__BackingField = this.ADDBMBCNBKJ.k__BackingField; int num = 0; if (!(k__BackingField != num)) { AGAJMBPABDL[] array = KKPBCOOONNK.DFFEKFNFAKJ; AGAJMBPABDL[] array2 = KKPBCOOONNK.DFFEKFNFAKJ; } IEnumerable activePlayers = this.ADDBMBCNBKJ.k__BackingField.teamManager.GetActivePlayers(); int num2 = Enumerable.Count(activePlayers); EncounterOverlapVolume[] array3 = this.volumes; int num3 = BNLCFFMDFBD.NAPKPMPFNFL(activePlayers, array3); OverlapVolumeEncounterStartTrigger.FIIMJPMPJOD fiimjpmpjod = this.playerRequirement; bool flag; if (fiimjpmpjod != OverlapVolumeEncounterStartTrigger.FIIMJPMPJOD.ONE_PLAYER) { if (fiimjpmpjod != OverlapVolumeEncounterStartTrigger.FIIMJPMPJOD.ALL_PLAYERS) { } return flag; } return flag >= true; } // Token: 0x06015139 RID: 86329 RVA: 0x004E9C80 File Offset: 0x004E7E80 [Token(Token = "0x6015139")] [Address(RVA = "0x13A7630", Offset = "0x13A6630", VA = "0x1813A7630")] private void LMPDBKLEKLF(OverlapVolume DHPCKKKLNDN) { OverlapVolumeEncounterStartTrigger.StoryStateDependantNotification[] array = this.roomStoryStateNotifications; int num = 0; if (array != 0 && array.Length != num && QuestManager.FFNIFALJLDD) { QuestManager.OIHHCDMIMOG currentRoomStoryState = QuestManager.ONCPNMDGGKG.LFKGKLJOOFD; OverlapVolumeEncounterStartTrigger.StoryStateDependantNotification[] array2 = this.roomStoryStateNotifications; int num2 = 0; int num3 = 0; int length = array2.Length; if (num3 < length) { num2 += 2; num2 += num2; if ("{il2cpp array field local10->}" != currentRoomStoryState) { num2++; } } } string text; if (array != 0) { text = this.defaultNotYetTriggeredNotification; } if (array == 0) { Coroutine lpobimhhifa = this.LPOBIMHHIFA; if (lpobimhhifa != 0) { base.StopCoroutine(lpobimhhifa); this.LPOBIMHHIFA = (ulong)0L; } OverlapVolumeEncounterStartTrigger.OIGBOEIDGLN oigboeidgln; oigboeidgln.System.IDisposable.Dispose(); oigboeidgln.<>1__state = (int)((ulong)0L); oigboeidgln.<>4__this = this; oigboeidgln.notification = text; Coroutine coroutine = base.StartCoroutine(oigboeidgln); this.LPOBIMHHIFA = coroutine; } } // Token: 0x0601513A RID: 86330 RVA: 0x004E9D64 File Offset: 0x004E7F64 [Token(Token = "0x601513A")] [Address(RVA = "0x13A7320", Offset = "0x13A6320", VA = "0x1813A7320")] private void AEJPEFLFODG() { Coroutine lpobimhhifa = this.LPOBIMHHIFA; if (lpobimhhifa != 0) { base.StopCoroutine(lpobimhhifa); this.LPOBIMHHIFA = (ulong)0L; } } // Token: 0x0601513B RID: 86331 RVA: 0x004E9D8C File Offset: 0x004E7F8C [Token(Token = "0x601513B")] [Address(RVA = "0x13A7350", Offset = "0x13A6350", VA = "0x1813A7350")] private IEnumerator DDJHGKEBMKA(string NOEDFHOANIO) { /* An exception occurred when decompiling this method (0601513B) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator RecRoom.Core.Encounters.OverlapVolumeEncounterStartTrigger::DDJHGKEBMKA(System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: call:void(OIGBOEIDGLN::System.IDisposable.Dispose, ldloc:OIGBOEIDGLN(var_0)) stfld:OverlapVolumeEncounterStartTrigger(OIGBOEIDGLN::<>4__this, ldloc:OIGBOEIDGLN(var_0), ldloc:OverlapVolumeEncounterStartTrigger(this)) stfld:int32(OIGBOEIDGLN::<>1__state, ldloc:OIGBOEIDGLN(var_0), conv.u8:uint64[exp:int32](ldc.i8:int64[exp:uint64](0))) stfld:string(OIGBOEIDGLN::notification, ldloc:OIGBOEIDGLN(var_0), ldloc:string(NOEDFHOANIO)) } 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: 0x0601513C RID: 86332 RVA: 0x004E9DB8 File Offset: 0x004E7FB8 [Token(Token = "0x601513C")] [Address(RVA = "0x13A73C0", Offset = "0x13A63C0", VA = "0x1813A73C0")] private string EBEDLHPGPGE() { int num; do { OverlapVolumeEncounterStartTrigger.StoryStateDependantNotification[] array = this.roomStoryStateNotifications; num = 0; if (array != 0 && array.Length != num && QuestManager.FFNIFALJLDD) { QuestManager.OIHHCDMIMOG currentRoomStoryState = QuestManager.ONCPNMDGGKG.LFKGKLJOOFD; int length = this.roomStoryStateNotifications.Length; if (num < length) { num += 2; num += num; if ("{il2cpp array field local9->}" != currentRoomStoryState) { num++; } } } } while (!string.IsNullOrEmpty(num)); return this.defaultNotYetTriggeredNotification; } // Token: 0x0601513D RID: 86333 RVA: 0x004E9E30 File Offset: 0x004E8030 [Token(Token = "0x601513D")] [Address(RVA = "0x13A7AA0", Offset = "0x13A6AA0", VA = "0x1813A7AA0")] public OverlapVolumeEncounterStartTrigger() { this.MAMIAELEMJC = (int)((ulong)4294967295L); base..ctor(); } // Token: 0x0400DE66 RID: 56934 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400DE66")] [SerializeField] public EncounterOverlapVolume[] volumes; // Token: 0x0400DE67 RID: 56935 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400DE67")] [SerializeField] public OverlapVolumeEncounterStartTrigger.FIIMJPMPJOD playerRequirement; // Token: 0x0400DE68 RID: 56936 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400DE68")] [SerializeField] private string defaultNotYetTriggeredNotification = ""; // Token: 0x0400DE69 RID: 56937 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400DE69")] [SerializeField] private OverlapVolumeEncounterStartTrigger.StoryStateDependantNotification[] roomStoryStateNotifications; // Token: 0x0400DE6A RID: 56938 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400DE6A")] private Coroutine LPOBIMHHIFA; // Token: 0x02003093 RID: 12435 [Token(Token = "0x2003093")] public enum FIIMJPMPJOD { // Token: 0x0400DE6C RID: 56940 [Token(Token = "0x400DE6C")] ONE_PLAYER, // Token: 0x0400DE6D RID: 56941 [Token(Token = "0x400DE6D")] ALL_PLAYERS } // Token: 0x02003094 RID: 12436 [Token(Token = "0x2003094")] [Serializable] public struct StoryStateDependantNotification { // Token: 0x0400DE6E RID: 56942 [FieldOffset(Offset = "0x0")] [Token(Token = "0x400DE6E")] public QuestManager.OIHHCDMIMOG roomStoryState; // Token: 0x0400DE6F RID: 56943 [FieldOffset(Offset = "0x8")] [Token(Token = "0x400DE6F")] public string notYetTriggeredNotification; } } }