using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; // Token: 0x020001F8 RID: 504 [Token(Token = "0x20001F8")] public class Soul : MonoBehaviour { // Token: 0x170000C8 RID: 200 // (get) Token: 0x06001413 RID: 5139 RVA: 0x0002DC14 File Offset: 0x0002BE14 [Token(Token = "0x170000C8")] public int CollisionEffectId { [Token(Token = "0x6001413")] [Address(RVA = "0x6EB330", Offset = "0x6EA130", VA = "0x1806EB330")] get { return this.collisionEffectId; } } // Token: 0x06001414 RID: 5140 RVA: 0x0002DC28 File Offset: 0x0002BE28 [Token(Token = "0x6001414")] [Address(RVA = "0x11F7160", Offset = "0x11F5F60", VA = "0x1811F7160")] public void Init() { ParticleSystem[] componentsInChildren = base.GetComponentsInChildren(true); this.soulParticleEffects = componentsInChildren; SoundEffect component = base.GetComponent(); this.soulSoundEffect = component; ParticleSystem[] array = this.soulParticleEffects; if (array != 0 && array.Length > 0) { array[0].Stop(true); } SoundEffect soundEffect = this.soulSoundEffect; int num = 0; if (soundEffect != num) { this.soulSoundEffect.InitData("SoundEffect"); } } // Token: 0x06001415 RID: 5141 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001415")] [Address(RVA = "0x11F6C50", Offset = "0x11F5A50", VA = "0x1811F6C50")] public void InitData(int collisionEffectId, Action collisionHandler, float fCloseTime = 2f) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001416 RID: 5142 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001416")] [Address(RVA = "0x11F6FA0", Offset = "0x11F5DA0", VA = "0x1811F6FA0")] public void InitEventData(Vector3 v3Target, int collisionEffectId, Action collisionHandler, SwitchDevice SD, [Optional] Transform LeadObject, float fCloseTime = 2f) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001417 RID: 5143 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001417")] [Address(RVA = "0x11F6DD0", Offset = "0x11F5BD0", VA = "0x1811F6DD0")] public void InitEventData(Vector3 v3Target, int collisionEffectId, Action collisionHandler, SceneEvent SE, Transform SEPos, [Optional] Transform LeadObject, float fCloseTime = 2f) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001418 RID: 5144 RVA: 0x0002DCA0 File Offset: 0x0002BEA0 [Token(Token = "0x6001418")] [Address(RVA = "0x5296E0", Offset = "0x5284E0", VA = "0x1805296E0")] public void BindReturnHandlerEvent(Action returnHandler) { /* An exception occurred when decompiling this method (06001418) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Soul::BindReturnHandlerEvent(System.Action) ---> System.Exception: Basic block has to end with unconditional control flow. {; Block_0:; stfld:Action(Soul::returnHandler, ldloc:Soul(this), ldloc:Action(returnHandler)); }; at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810 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 344 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 1618 */; } // Token: 0x06001419 RID: 5145 RVA: 0x0002DCB4 File Offset: 0x0002BEB4 [Token(Token = "0x6001419")] [Address(RVA = "0x11F7470", Offset = "0x11F6270", VA = "0x1811F7470")] public void UpdateTimeScale(float timeScale) { /* An exception occurred when decompiling this method (06001419) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void Soul::UpdateTimeScale(System.Single) ---> System.ArgumentOutOfRangeException: Non-negative number required. (Parameter 'length') at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable) at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length) at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 51 at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDef methodDef) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 401 at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDef methodDef, Boolean optimize, DecompilerContext context) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstBuilder.cs:line 276 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 112 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 1618 */; } // Token: 0x0600141A RID: 5146 RVA: 0x0002DD84 File Offset: 0x0002BF84 [Token(Token = "0x600141A")] [Address(RVA = "0x4681B0", Offset = "0x466FB0", VA = "0x1804681B0")] public bool GetIsColliding() { return this.isColliding; } // Token: 0x0600141B RID: 5147 RVA: 0x0002DD98 File Offset: 0x0002BF98 [Token(Token = "0x600141B")] [Address(RVA = "0x11F7280", Offset = "0x11F6080", VA = "0x1811F7280")] public void PlaySoulEffect(float timeScale, bool playSoundOnCreated) { SoundEffect soundEffect = this.soulSoundEffect; int num = 0; bool flag = soundEffect != num; if (playSoundOnCreated != flag) { this.soulSoundEffect.PlayRandom(1f, 1f); } ParticleSystem[] array = this.soulParticleEffects; if (array != 0 && array.Length > 0) { if (array[0].isPlaying) { this.soulParticleEffects[0].Stop(true); } this.soulParticleEffects[0].Play(true); } this.UpdateTimeScale(timeScale); } // Token: 0x0600141C RID: 5148 RVA: 0x0002DE24 File Offset: 0x0002C024 [Token(Token = "0x600141C")] [Address(RVA = "0x11F7450", Offset = "0x11F6250", VA = "0x1811F7450")] public void SetAliveTime(float visibleTime, float aliveTime) { this.visibleTime = visibleTime; this.aliveTime = visibleTime; } // Token: 0x0600141D RID: 5149 RVA: 0x0002DE40 File Offset: 0x0002C040 [Token(Token = "0x600141D")] [Address(RVA = "0x11F6B20", Offset = "0x11F5920", VA = "0x1811F6B20")] private void CheckLifeTime() { float num = this.aliveTime; if (0 < (int)num) { this.aliveTime = num; if (this.soulSoundEffect) { this.soulSoundEffect.Stop(); } this.ReturnItem(); return; } } // Token: 0x0600141E RID: 5150 RVA: 0x0002DE88 File Offset: 0x0002C088 [Token(Token = "0x600141E")] [Address(RVA = "0x11F6BE0", Offset = "0x11F59E0", VA = "0x1811F6BE0")] private void CheckVisibleTime() { float num = this.visibleTime; if (0 < (int)num) { this.visibleTime = num; ParticleSystem[] array = this.soulParticleEffects; if (array != 0) { array[0].Stop(true); return; } } } // Token: 0x0600141F RID: 5151 RVA: 0x0002DEC8 File Offset: 0x0002C0C8 [Token(Token = "0x600141F")] [Address(RVA = "0x11F73D0", Offset = "0x11F61D0", VA = "0x1811F73D0")] private void ReturnItem() { ParticleSystem[] array = this.soulParticleEffects; if (array != 0) { array[0].Stop(); } GameObject gameObject = base.gameObject; int num = 0; gameObject.SetActive(num != 0); Action action = this.returnHandler; if (action != 0) { action(); return; } } // Token: 0x06001420 RID: 5152 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001420")] [Address(RVA = "0x11F7660", Offset = "0x11F6460", VA = "0x1811F7660")] private void Update() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001421 RID: 5153 RVA: 0x0002DF14 File Offset: 0x0002C114 [Token(Token = "0x6001421")] [Address(RVA = "0x11F8310", Offset = "0x11F7110", VA = "0x1811F8310")] public Soul() { } // Token: 0x04001F36 RID: 7990 [Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4001F36")] public SoulSystem.SoulType SoulType; // Token: 0x04001F37 RID: 7991 [Cpp2IlInjected.FieldOffset(Offset = "0x1C")] [Token(Token = "0x4001F37")] public float Quality = 1f; // Token: 0x04001F38 RID: 7992 [Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4001F38")] private float g_fPiX; // Token: 0x04001F39 RID: 7993 [Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x4001F39")] private float g_fPiY; // Token: 0x04001F3A RID: 7994 [Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4001F3A")] private float g_fPiZ; // Token: 0x04001F3B RID: 7995 [Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x4001F3B")] private float g_fSpeedX; // Token: 0x04001F3C RID: 7996 [Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4001F3C")] private float g_fSpeedY; // Token: 0x04001F3D RID: 7997 [Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4001F3D")] private float g_fSpeedZ; // Token: 0x04001F3E RID: 7998 [Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4001F3E")] private Vector3 g_v3CreateMoveDir; // Token: 0x04001F3F RID: 7999 [Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x4001F3F")] private float g_fCreateMoveSpeedVal; // Token: 0x04001F40 RID: 8000 [Token(Token = "0x4001F40")] private const float g_fCreateMoveSpeed = 2f; // Token: 0x04001F41 RID: 8001 [Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4001F41")] private float g_fFollowSpeed; // Token: 0x04001F42 RID: 8002 [Token(Token = "0x4001F42")] private const float g_fFollowSpeedMax = 50f; // Token: 0x04001F43 RID: 8003 [Cpp2IlInjected.FieldOffset(Offset = "0x4C")] [Token(Token = "0x4001F43")] private float g_fFreeTimeVal; // Token: 0x04001F44 RID: 8004 [Token(Token = "0x4001F44")] private const float g_fFreeTime = 2f; // Token: 0x04001F45 RID: 8005 [Token(Token = "0x4001F45")] private const float g_fPI2 = 6.2831855f; // Token: 0x04001F46 RID: 8006 [Token(Token = "0x4001F46")] private const float g_fSpeedMin = 0.5f; // Token: 0x04001F47 RID: 8007 [Token(Token = "0x4001F47")] private const float g_fSpeedMax = 2f; // Token: 0x04001F48 RID: 8008 [Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4001F48")] private Vector3 g_PrePosition; // Token: 0x04001F49 RID: 8009 [Cpp2IlInjected.FieldOffset(Offset = "0x5C")] [Token(Token = "0x4001F49")] private bool isColliding; // Token: 0x04001F4A RID: 8010 [Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4001F4A")] private int collisionEffectId; // Token: 0x04001F4B RID: 8011 [Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4001F4B")] private Action collisionHandler; // Token: 0x04001F4C RID: 8012 [Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4001F4C")] private Action returnHandler; // Token: 0x04001F4D RID: 8013 [Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x4001F4D")] private float g_fCloseTime; // Token: 0x04001F4E RID: 8014 [Cpp2IlInjected.FieldOffset(Offset = "0x7C")] [Token(Token = "0x4001F4E")] private float visibleTime; // Token: 0x04001F4F RID: 8015 [Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x4001F4F")] private float aliveTime; // Token: 0x04001F50 RID: 8016 [Cpp2IlInjected.FieldOffset(Offset = "0x84")] [Token(Token = "0x4001F50")] private Vector3 g_v3Target; // Token: 0x04001F51 RID: 8017 [Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x4001F51")] private SwitchDevice g_SD; // Token: 0x04001F52 RID: 8018 [Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x4001F52")] private SceneEvent g_OpenSceneEvent; // Token: 0x04001F53 RID: 8019 [Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x4001F53")] private Transform g_OpenSceneEventPos; // Token: 0x04001F54 RID: 8020 [Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x4001F54")] private Transform g_LeadObject; // Token: 0x04001F55 RID: 8021 [Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x4001F55")] private float deltaTime; // Token: 0x04001F56 RID: 8022 [Cpp2IlInjected.FieldOffset(Offset = "0xB4")] [Token(Token = "0x4001F56")] private bool tracePlayer; // Token: 0x04001F57 RID: 8023 [Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x4001F57")] private ParticleSystem[] soulParticleEffects; // Token: 0x04001F58 RID: 8024 [Cpp2IlInjected.FieldOffset(Offset = "0xC0")] [Token(Token = "0x4001F58")] private SoundEffect soulSoundEffect; }