using System; using System.Collections.Generic; using Cpp2IlInjected; using MEC; using UnityEngine; // Token: 0x02000019 RID: 25 [Token(Token = "0x2000019")] public class BGM : MonoBehaviour { // Token: 0x06000095 RID: 149 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6000095")] [Address(RVA = "0x79EA50", Offset = "0x79DA50", VA = "0x18079EA50")] public void Init() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06000096 RID: 150 RVA: 0x0000395C File Offset: 0x00001B5C [Token(Token = "0x6000096")] [Address(RVA = "0x79EC30", Offset = "0x79DC30", VA = "0x18079EC30")] public void PlayBGM(float playingTime = 0f) { if (!this.isPlaying) { float length = this.Begin.length; Debug.LogError("BGM播放長度錯誤"); this.Prepare(); bool flag = this.audioSource.isPlaying; AudioSource audioSource = this.audioSource; if (flag) { AudioClip clip = audioSource.clip; AudioClip begin = this.Begin; if (!(clip == begin)) { goto IL_B9; } AudioClip loop = this.Loop; int num = 0; bool flag2 = loop != num; } AudioClip begin2 = this.Begin; audioSource.clip = begin2; this.audioSource.time = playingTime; this.audioSource.Play(); if (this.Loop) { CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(this.WaitForLoop()); this.playProcessor = coroutineHandle; } IL_B9: this.VerifyFadeInProcessor(); } } // Token: 0x06000097 RID: 151 RVA: 0x00003A30 File Offset: 0x00001C30 [Token(Token = "0x6000097")] [Address(RVA = "0x79EFB0", Offset = "0x79DFB0", VA = "0x18079EFB0")] public void SwitchBGM(float playingTime) { if (!this.isPlaying) { this.Prepare(); if (this.CheckLength.length <= playingTime) { AudioClip checkLength = this.CheckLength; AudioClip loop = this.Loop; float length = checkLength.length; this.audioSource.clip = loop; this.audioSource.time = playingTime; this.audioSource.Play(); } AudioSource audioSource = this.audioSource; AudioClip begin = this.Begin; audioSource.clip = begin; this.audioSource.time = playingTime; this.audioSource.Play(); if (this.Loop) { CoroutineHandle coroutineHandle = MECExtensionMethods1.RunCoroutine(this.WaitForLoop()); this.playProcessor = coroutineHandle; } this.VerifyFadeInProcessor(); } } // Token: 0x06000098 RID: 152 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x6000098")] [Address(RVA = "0x79EE20", Offset = "0x79DE20", VA = "0x18079EE20")] private void Prepare() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06000099 RID: 153 RVA: 0x00003AF4 File Offset: 0x00001CF4 [Token(Token = "0x6000099")] [Address(RVA = "0x79EBD0", Offset = "0x79DBD0", VA = "0x18079EBD0")] private void PlayAudio(AudioClip clip, float playingTime = 0f) { this.audioSource.clip = clip; this.audioSource.time = playingTime; this.audioSource.Play(); } // Token: 0x0600009A RID: 154 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600009A")] [Address(RVA = "0x79F310", Offset = "0x79E310", VA = "0x18079F310")] private IEnumerator WaitForLoop() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600009B RID: 155 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600009B")] [Address(RVA = "0x79F210", Offset = "0x79E210", VA = "0x18079F210")] private void VerifyFadeInProcessor() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600009C RID: 156 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600009C")] [Address(RVA = "0x79E820", Offset = "0x79D820", VA = "0x18079E820")] private IEnumerator FadeIn() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600009D RID: 157 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600009D")] [Address(RVA = "0x79E900", Offset = "0x79D900", VA = "0x18079E900")] public float GetPlayingTime() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600009E RID: 158 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600009E")] [Address(RVA = "0x79EE90", Offset = "0x79DE90", VA = "0x18079EE90")] public void StopBGM() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x0600009F RID: 159 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x600009F")] [Address(RVA = "0x79E890", Offset = "0x79D890", VA = "0x18079E890")] private IEnumerator FadeOut() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060000A0 RID: 160 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60000A0")] [Address(RVA = "0x79F130", Offset = "0x79E130", VA = "0x18079F130")] public void UpdateVolume(VolumeSettings settings) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060000A1 RID: 161 RVA: 0x00003B2C File Offset: 0x00001D2C [Token(Token = "0x60000A1")] [Address(RVA = "0x79F160", Offset = "0x79E160", VA = "0x18079F160")] public void UpdateVolume() { /* An exception occurred when decompiling this method (060000A1) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void BGM::UpdateVolume() ---> 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: 0x060000A2 RID: 162 RVA: 0x000020D3 File Offset: 0x000002D3 [Token(Token = "0x60000A2")] [Address(RVA = "0x79E770", Offset = "0x79D770", VA = "0x18079E770")] public void Dispose() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060000A3 RID: 163 RVA: 0x00003B68 File Offset: 0x00001D68 [Token(Token = "0x60000A3")] [Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")] public BGM() { } // Token: 0x040000FC RID: 252 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40000FC")] public AudioClip Begin; // Token: 0x040000FD RID: 253 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40000FD")] public AudioClip Loop; // Token: 0x040000FE RID: 254 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40000FE")] public AudioClip CheckLength; // Token: 0x040000FF RID: 255 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40000FF")] public float g_fPlayFadeIn; // Token: 0x04000100 RID: 256 [FieldOffset(Offset = "0x34")] [Token(Token = "0x4000100")] [SerializeField] private float originalVolume; // Token: 0x04000101 RID: 257 [FieldOffset(Offset = "0x38")] [Token(Token = "0x4000101")] [SerializeField] private float volumeFactor; // Token: 0x04000102 RID: 258 [FieldOffset(Offset = "0x3C")] [Token(Token = "0x4000102")] [SerializeField] private bool isPlaying; // Token: 0x04000103 RID: 259 [FieldOffset(Offset = "0x40")] [Token(Token = "0x4000103")] private AudioSource audioSource; // Token: 0x04000104 RID: 260 [Token(Token = "0x4000104")] private const float STOP_FADE_OUT_DURATION = 4f; // Token: 0x04000105 RID: 261 [FieldOffset(Offset = "0x48")] [Token(Token = "0x4000105")] private CoroutineHandle playProcessor; // Token: 0x04000106 RID: 262 [FieldOffset(Offset = "0x4C")] [Token(Token = "0x4000106")] private CoroutineHandle fadingProcessor; }