using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using UnityEngine; // Token: 0x02000200 RID: 512 [Token(Token = "0x2000200")] public class Soul : MonoBehaviour { // Token: 0x170000BE RID: 190 // (get) Token: 0x06001432 RID: 5170 RVA: 0x0002E378 File Offset: 0x0002C578 [Token(Token = "0x170000BE")] public int CollisionEffectId { [Token(Token = "0x6001432")] [Address(RVA = "0x765D40", Offset = "0x764540", VA = "0x180765D40")] get { return this.collisionEffectId; } } // Token: 0x06001433 RID: 5171 RVA: 0x0002E38C File Offset: 0x0002C58C [Token(Token = "0x6001433")] [Address(RVA = "0x11CA3E0", Offset = "0x11C8BE0", VA = "0x1811CA3E0")] 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: 0x06001434 RID: 5172 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001434")] [Address(RVA = "0x11C9ED0", Offset = "0x11C86D0", VA = "0x1811C9ED0")] public void InitData(int collisionEffectId, Action collisionHandler, float fCloseTime = 2f) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001435 RID: 5173 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001435")] [Address(RVA = "0x11CA220", Offset = "0x11C8A20", VA = "0x1811CA220")] 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: 0x06001436 RID: 5174 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6001436")] [Address(RVA = "0x11CA050", Offset = "0x11C8850", VA = "0x1811CA050")] 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: 0x06001437 RID: 5175 RVA: 0x0002E404 File Offset: 0x0002C604 [Token(Token = "0x6001437")] [Address(RVA = "0x558E70", Offset = "0x557670", VA = "0x180558E70")] public void BindReturnHandlerEvent(Action returnHandler) { /* An exception occurred when decompiling this method (06001437) 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: 0x06001438 RID: 5176 RVA: 0x0002E418 File Offset: 0x0002C618 [Token(Token = "0x6001438")] [Address(RVA = "0x11CA6F0", Offset = "0x11C8EF0", VA = "0x1811CA6F0")] public void UpdateTimeScale(float timeScale) { /* An exception occurred when decompiling this method (06001438) 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: 0x06001439 RID: 5177 RVA: 0x0002E4E8 File Offset: 0x0002C6E8 [Token(Token = "0x6001439")] [Address(RVA = "0x4AB670", Offset = "0x4A9E70", VA = "0x1804AB670")] public bool GetIsColliding() { return this.isColliding; } // Token: 0x0600143A RID: 5178 RVA: 0x0002E4FC File Offset: 0x0002C6FC [Token(Token = "0x600143A")] [Address(RVA = "0x11CA500", Offset = "0x11C8D00", VA = "0x1811CA500")] 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: 0x0600143B RID: 5179 RVA: 0x0002E588 File Offset: 0x0002C788 [Token(Token = "0x600143B")] [Address(RVA = "0x11CA6D0", Offset = "0x11C8ED0", VA = "0x1811CA6D0")] public void SetAliveTime(float visibleTime, float aliveTime) { this.visibleTime = visibleTime; this.aliveTime = visibleTime; } // Token: 0x0600143C RID: 5180 RVA: 0x0002E5A4 File Offset: 0x0002C7A4 [Token(Token = "0x600143C")] [Address(RVA = "0x11C9DA0", Offset = "0x11C85A0", VA = "0x1811C9DA0")] private void CheckLifeTime() { float num = this.aliveTime; if (0 < (int)num) { this.aliveTime = num; if (this.soulSoundEffect) { this.soulSoundEffect.Stop(); } this.ReturnItem(); return; } } // Token: 0x0600143D RID: 5181 RVA: 0x0002E5EC File Offset: 0x0002C7EC [Token(Token = "0x600143D")] [Address(RVA = "0x11C9E60", Offset = "0x11C8660", VA = "0x1811C9E60")] 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: 0x0600143E RID: 5182 RVA: 0x0002E62C File Offset: 0x0002C82C [Token(Token = "0x600143E")] [Address(RVA = "0x11CA650", Offset = "0x11C8E50", VA = "0x1811CA650")] 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: 0x0600143F RID: 5183 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600143F")] [Address(RVA = "0x11CA8E0", Offset = "0x11C90E0", VA = "0x1811CA8E0")] private void Update() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06001440 RID: 5184 RVA: 0x0002E678 File Offset: 0x0002C878 [Token(Token = "0x6001440")] [Address(RVA = "0x11CB590", Offset = "0x11C9D90", VA = "0x1811CB590")] public Soul() { } // Token: 0x04001F6B RID: 8043 [Cpp2IlInjected.FieldOffset(Offset = "0x18")] [Token(Token = "0x4001F6B")] public SoulSystem.SoulType SoulType; // Token: 0x04001F6C RID: 8044 [Cpp2IlInjected.FieldOffset(Offset = "0x1C")] [Token(Token = "0x4001F6C")] public float Quality = 1f; // Token: 0x04001F6D RID: 8045 [Cpp2IlInjected.FieldOffset(Offset = "0x20")] [Token(Token = "0x4001F6D")] private float g_fPiX; // Token: 0x04001F6E RID: 8046 [Cpp2IlInjected.FieldOffset(Offset = "0x24")] [Token(Token = "0x4001F6E")] private float g_fPiY; // Token: 0x04001F6F RID: 8047 [Cpp2IlInjected.FieldOffset(Offset = "0x28")] [Token(Token = "0x4001F6F")] private float g_fPiZ; // Token: 0x04001F70 RID: 8048 [Cpp2IlInjected.FieldOffset(Offset = "0x2C")] [Token(Token = "0x4001F70")] private float g_fSpeedX; // Token: 0x04001F71 RID: 8049 [Cpp2IlInjected.FieldOffset(Offset = "0x30")] [Token(Token = "0x4001F71")] private float g_fSpeedY; // Token: 0x04001F72 RID: 8050 [Cpp2IlInjected.FieldOffset(Offset = "0x34")] [Token(Token = "0x4001F72")] private float g_fSpeedZ; // Token: 0x04001F73 RID: 8051 [Cpp2IlInjected.FieldOffset(Offset = "0x38")] [Token(Token = "0x4001F73")] private Vector3 g_v3CreateMoveDir; // Token: 0x04001F74 RID: 8052 [Cpp2IlInjected.FieldOffset(Offset = "0x44")] [Token(Token = "0x4001F74")] private float g_fCreateMoveSpeedVal; // Token: 0x04001F75 RID: 8053 [Token(Token = "0x4001F75")] private const float g_fCreateMoveSpeed = 2f; // Token: 0x04001F76 RID: 8054 [Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x4001F76")] private float g_fFollowSpeed; // Token: 0x04001F77 RID: 8055 [Token(Token = "0x4001F77")] private const float g_fFollowSpeedMax = 50f; // Token: 0x04001F78 RID: 8056 [Cpp2IlInjected.FieldOffset(Offset = "0x4C")] [Token(Token = "0x4001F78")] private float g_fFreeTimeVal; // Token: 0x04001F79 RID: 8057 [Token(Token = "0x4001F79")] private const float g_fFreeTime = 2f; // Token: 0x04001F7A RID: 8058 [Token(Token = "0x4001F7A")] private const float g_fPI2 = 6.2831855f; // Token: 0x04001F7B RID: 8059 [Token(Token = "0x4001F7B")] private const float g_fSpeedMin = 0.5f; // Token: 0x04001F7C RID: 8060 [Token(Token = "0x4001F7C")] private const float g_fSpeedMax = 2f; // Token: 0x04001F7D RID: 8061 [Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x4001F7D")] private Vector3 g_PrePosition; // Token: 0x04001F7E RID: 8062 [Cpp2IlInjected.FieldOffset(Offset = "0x5C")] [Token(Token = "0x4001F7E")] private bool isColliding; // Token: 0x04001F7F RID: 8063 [Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4001F7F")] private int collisionEffectId; // Token: 0x04001F80 RID: 8064 [Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4001F80")] private Action collisionHandler; // Token: 0x04001F81 RID: 8065 [Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x4001F81")] private Action returnHandler; // Token: 0x04001F82 RID: 8066 [Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x4001F82")] private float g_fCloseTime; // Token: 0x04001F83 RID: 8067 [Cpp2IlInjected.FieldOffset(Offset = "0x7C")] [Token(Token = "0x4001F83")] private float visibleTime; // Token: 0x04001F84 RID: 8068 [Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x4001F84")] private float aliveTime; // Token: 0x04001F85 RID: 8069 [Cpp2IlInjected.FieldOffset(Offset = "0x84")] [Token(Token = "0x4001F85")] private Vector3 g_v3Target; // Token: 0x04001F86 RID: 8070 [Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x4001F86")] private SwitchDevice g_SD; // Token: 0x04001F87 RID: 8071 [Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x4001F87")] private SceneEvent g_OpenSceneEvent; // Token: 0x04001F88 RID: 8072 [Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x4001F88")] private Transform g_OpenSceneEventPos; // Token: 0x04001F89 RID: 8073 [Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x4001F89")] private Transform g_LeadObject; // Token: 0x04001F8A RID: 8074 [Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x4001F8A")] private float deltaTime; // Token: 0x04001F8B RID: 8075 [Cpp2IlInjected.FieldOffset(Offset = "0xB4")] [Token(Token = "0x4001F8B")] private bool tracePlayer; // Token: 0x04001F8C RID: 8076 [Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x4001F8C")] private ParticleSystem[] soulParticleEffects; // Token: 0x04001F8D RID: 8077 [Cpp2IlInjected.FieldOffset(Offset = "0xC0")] [Token(Token = "0x4001F8D")] private SoundEffect soulSoundEffect; }