Files
27Aug2021-Cpp2IL-Dump/Assembly-CSharp/RecRoom/Core/Encounters/OverlapVolumeEncounterStartTrigger.cs
T
niko c12fbe3fc6 m
2026-04-12 16:51:38 +02:00

304 lines
11 KiB
C#

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<OverlapVolume> 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<OverlapVolume> 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 <PLMNHPJOIKH>k__BackingField = this.ADDBMBCNBKJ.<PLMNHPJOIKH>k__BackingField;
int num = 0;
if (!(<PLMNHPJOIKH>k__BackingField != num))
{
AGAJMBPABDL[] array = KKPBCOOONNK.DFFEKFNFAKJ;
AGAJMBPABDL[] array2 = KKPBCOOONNK.DFFEKFNFAKJ;
}
IEnumerable<AGAJMBPABDL> activePlayers = this.ADDBMBCNBKJ.<PLMNHPJOIKH>k__BackingField.teamManager.GetActivePlayers();
int num2 = Enumerable.Count<AGAJMBPABDL>(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;
}
}
}