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: 0x02002FA9 RID: 12201 [Token(Token = "0x2002FA9")] public class OverlapVolumeEncounterStartTrigger : GameEncounterStartTrigger { // Token: 0x06014CE9 RID: 85225 RVA: 0x004DFA04 File Offset: 0x004DDC04 [Token(Token = "0x6014CE9")] [Address(RVA = "0x4994E0", Offset = "0x4982E0", VA = "0x1804994E0", Slot = "6")] public override void OnCleanup() { bool isCompleted = ((IAsyncResult)this).IsCompleted; } // Token: 0x17003947 RID: 14663 // (get) Token: 0x06014CEA RID: 85226 RVA: 0x004DFA18 File Offset: 0x004DDC18 [Token(Token = "0x17003947")] public override string KODBEJPEFOJ { [Token(Token = "0x6014CEA")] [Address(RVA = "0x8AF030", Offset = "0x8ADE30", VA = "0x1808AF030", Slot = "4")] get { return "Players teleport or walk in to volumes."; } } // Token: 0x06014CEB RID: 85227 RVA: 0x004DFA2C File Offset: 0x004DDC2C [Token(Token = "0x6014CEB")] [Address(RVA = "0x8AED20", Offset = "0x8ADB20", VA = "0x1808AED20", 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: 0x06014CEC RID: 85228 RVA: 0x004DFA98 File Offset: 0x004DDC98 [Token(Token = "0x6014CEC")] [Address(RVA = "0x8AEE80", Offset = "0x8ADC80", VA = "0x1808AEE80", 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: 0x06014CED RID: 85229 RVA: 0x004DFB10 File Offset: 0x004DDD10 [Token(Token = "0x6014CED")] [Address(RVA = "0x8AEA20", Offset = "0x8AD820", VA = "0x1808AEA20", 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: 0x06014CEE RID: 85230 RVA: 0x004DFBA0 File Offset: 0x004DDDA0 [Token(Token = "0x6014CEE")] [Address(RVA = "0x8AEB70", Offset = "0x8AD970", VA = "0x1808AEB70")] 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: 0x06014CEF RID: 85231 RVA: 0x004DFC84 File Offset: 0x004DDE84 [Token(Token = "0x6014CEF")] [Address(RVA = "0x8AE860", Offset = "0x8AD660", VA = "0x1808AE860")] private void AEJPEFLFODG() { Coroutine lpobimhhifa = this.LPOBIMHHIFA; if (lpobimhhifa != 0) { base.StopCoroutine(lpobimhhifa); this.LPOBIMHHIFA = (ulong)0L; } } // Token: 0x06014CF0 RID: 85232 RVA: 0x004DFCAC File Offset: 0x004DDEAC [Token(Token = "0x6014CF0")] [Address(RVA = "0x8AE890", Offset = "0x8AD690", VA = "0x1808AE890")] private IEnumerator DDJHGKEBMKA(string NOEDFHOANIO) { /* An exception occurred when decompiling this method (06014CF0) 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 1660 */; } // Token: 0x06014CF1 RID: 85233 RVA: 0x004DFCD8 File Offset: 0x004DDED8 [Token(Token = "0x6014CF1")] [Address(RVA = "0x8AE900", Offset = "0x8AD700", VA = "0x1808AE900")] 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: 0x06014CF2 RID: 85234 RVA: 0x004DFD50 File Offset: 0x004DDF50 [Token(Token = "0x6014CF2")] [Address(RVA = "0x8AEFE0", Offset = "0x8ADDE0", VA = "0x1808AEFE0")] public OverlapVolumeEncounterStartTrigger() { this.MAMIAELEMJC = (int)((ulong)4294967295L); base..ctor(); } // Token: 0x0400DC37 RID: 56375 [FieldOffset(Offset = "0x28")] [Token(Token = "0x400DC37")] [SerializeField] public EncounterOverlapVolume[] volumes; // Token: 0x0400DC38 RID: 56376 [FieldOffset(Offset = "0x30")] [Token(Token = "0x400DC38")] [SerializeField] public OverlapVolumeEncounterStartTrigger.FIIMJPMPJOD playerRequirement; // Token: 0x0400DC39 RID: 56377 [FieldOffset(Offset = "0x38")] [Token(Token = "0x400DC39")] [SerializeField] private string defaultNotYetTriggeredNotification = ""; // Token: 0x0400DC3A RID: 56378 [FieldOffset(Offset = "0x40")] [Token(Token = "0x400DC3A")] [SerializeField] private OverlapVolumeEncounterStartTrigger.StoryStateDependantNotification[] roomStoryStateNotifications; // Token: 0x0400DC3B RID: 56379 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400DC3B")] private Coroutine LPOBIMHHIFA; // Token: 0x02002FAA RID: 12202 [Token(Token = "0x2002FAA")] public enum FIIMJPMPJOD { // Token: 0x0400DC3D RID: 56381 [Token(Token = "0x400DC3D")] ONE_PLAYER, // Token: 0x0400DC3E RID: 56382 [Token(Token = "0x400DC3E")] ALL_PLAYERS } // Token: 0x02002FAB RID: 12203 [Token(Token = "0x2002FAB")] [Serializable] public struct StoryStateDependantNotification { // Token: 0x0400DC3F RID: 56383 [FieldOffset(Offset = "0x0")] [Token(Token = "0x400DC3F")] public QuestManager.OIHHCDMIMOG roomStoryState; // Token: 0x0400DC40 RID: 56384 [FieldOffset(Offset = "0x8")] [Token(Token = "0x400DC40")] public string notYetTriggeredNotification; } } }