304 lines
11 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|