Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/RecRoom/Core/Encounters/OverlapVolumeEncounterStartTrigger.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +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: 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<OverlapVolume> 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<OverlapVolume> 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 <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: 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;
}
}
}