Files
NobetaSource/Cpp2IL/Assembly-CSharp/SoundEffect.cs
2023-09-06 22:19:13 +02:00

429 lines
16 KiB
C#

using System;
using Cpp2IlInjected;
using UnityEngine;
using UnityEngine.Audio;
// Token: 0x0200001E RID: 30
[Token(Token = "0x200001E")]
public class SoundEffect : MonoBehaviour
{
// Token: 0x17000010 RID: 16
// (get) Token: 0x060000BE RID: 190 RVA: 0x00003E68 File Offset: 0x00002068
[Token(Token = "0x17000010")]
private VolumeSettings volumeSettings
{
[Token(Token = "0x60000BE")]
[Address(RVA = "0x1468900", Offset = "0x1467900", VA = "0x181468900")]
get
{
return Game.Config.volumeSettings;
}
}
// Token: 0x060000BF RID: 191 RVA: 0x00003E88 File Offset: 0x00002088
[Token(Token = "0x60000BF")]
[Address(RVA = "0x1466DC0", Offset = "0x1465DC0", VA = "0x181466DC0")]
public void InitData(string type)
{
while (!this.isInitialized)
{
this.isInitialized = true;
this.soundEffectType = type;
int audioSourceNum = this.AudioSourceNum;
if (audioSourceNum > 0)
{
AudioSource[] array = new AudioSource[audioSourceNum];
this.g_AS = array;
int num = 0;
if (this.AudioSourceNum > num)
{
AudioSource[] array2 = this.g_AS;
AudioSource audioSource = base.gameObject.AddComponent<AudioSource>();
if (audioSource != 0 && audioSource == 0)
{
continue;
}
array2[0] = audioSource;
string text = this.soundEffectType;
if (text != 0)
{
if (!string.Equals(text, "SoundEffect") && !string.Equals(text, "AreaAffectPlayer"))
{
if (!string.Equals(text, "Voice"))
{
goto IL_CF;
}
AudioSource[] array3 = this.g_AS;
float voiceVolume = this.volumeSettings.GetVoiceVolume();
}
AudioSource[] array4 = this.g_AS;
float soundEffectVolume = this.volumeSettings.GetSoundEffectVolume();
}
IL_CF:
AudioSource audioSource2 = this.g_AS[num];
float wholeVolume = this.volumeSettings.GetWholeVolume();
audioSource2.volume = wholeVolume;
AudioSource audioSource3 = this.g_AS[num];
AudioMixerGroup amg = this.AMG;
audioSource3.outputAudioMixerGroup = amg;
AudioSource audioSource4 = this.g_AS[num];
float pitch = this.Pitch;
audioSource4.pitch = pitch;
AudioSource audioSource5 = this.g_AS[num];
bool playOnAwake = this.PlayOnAwake;
audioSource5.playOnAwake = playOnAwake;
AudioSource audioSource6 = this.g_AS[num];
float spatialBlend = this.SpatialBlend;
audioSource6.spatialBlend = spatialBlend;
AudioSource audioSource7 = this.g_AS[num];
float distanceMin = this.DistanceMin;
audioSource7.minDistance = distanceMin;
AudioSource audioSource8 = this.g_AS[num];
float distanceMax = this.DistanceMax;
audioSource8.maxDistance = distanceMax;
AudioSource audioSource9 = this.g_AS[num];
int priority = this.Priority;
audioSource9.priority = priority;
AudioSource audioSource10 = this.g_AS[num];
AudioRolloffMode rolloff = this.Rolloff;
audioSource10.rolloffMode = rolloff;
num++;
}
this.g_iASIndex = (int)((ulong)0L);
this.g_fVolumeSet = 1f;
this.g_fPitchSet = 1f;
this.g_fTimeScale = 1f;
break;
}
break;
}
}
// Token: 0x060000C0 RID: 192 RVA: 0x000040B4 File Offset: 0x000022B4
[Token(Token = "0x60000C0")]
[Address(RVA = "0x1466D80", Offset = "0x1465D80", VA = "0x181466D80")]
public void InitData()
{
string tag = base.gameObject.tag;
this.InitData(tag);
}
// Token: 0x060000C1 RID: 193 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60000C1")]
[Address(RVA = "0x1467840", Offset = "0x1466840", VA = "0x181467840")]
public void Play(int iIndex, float fVolume = 1f, float fPitch = 1f)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060000C2 RID: 194 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60000C2")]
[Address(RVA = "0x1467350", Offset = "0x1466350", VA = "0x181467350")]
public void PlayRandom(float fVolume = 1f, float fPitch = 1f)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060000C3 RID: 195 RVA: 0x000040DC File Offset: 0x000022DC
[Token(Token = "0x60000C3")]
[Address(RVA = "0x1468760", Offset = "0x1467760", VA = "0x181468760")]
public void Stop()
{
AudioSource[] array = this.g_AS;
if (array != 0)
{
int num = 0;
int num2 = 0;
if (num2 < array.Length)
{
AudioSource audioSource = array[num];
int num3 = 0;
if (audioSource != num3 && this.g_AS[num].isPlaying)
{
this.g_AS[num].Stop();
}
AudioSource[] array2 = this.g_AS;
num++;
}
this.g_iASIndex = (int)((ulong)0L);
}
}
// Token: 0x060000C4 RID: 196 RVA: 0x0000415C File Offset: 0x0000235C
[Token(Token = "0x60000C4")]
[Address(RVA = "0x14672C0", Offset = "0x14662C0", VA = "0x1814672C0")]
public void Pause()
{
AudioSource[] array = this.g_AS;
if (array != 0)
{
int num = this.g_iASIndex;
if (array[num].isPlaying)
{
AudioSource[] array2 = this.g_AS;
int num2 = this.g_iASIndex;
array2[num2].Pause();
return;
}
}
}
// Token: 0x060000C5 RID: 197 RVA: 0x000041AC File Offset: 0x000023AC
[Token(Token = "0x60000C5")]
[Address(RVA = "0x1466C50", Offset = "0x1465C50", VA = "0x181466C50")]
public void Continue()
{
AudioSource[] array = this.g_AS;
if (array != 0)
{
int num = this.g_iASIndex;
if (!array[num].isPlaying)
{
AudioSource[] array2 = this.g_AS;
int num2 = this.g_iASIndex;
array2[num2].Play();
return;
}
}
}
// Token: 0x060000C6 RID: 198 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60000C6")]
[Address(RVA = "0x1468200", Offset = "0x1467200", VA = "0x181468200")]
public void SetVolume(float fVolume)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060000C7 RID: 199 RVA: 0x000041FC File Offset: 0x000023FC
[Token(Token = "0x60000C7")]
[Address(RVA = "0x1466D30", Offset = "0x1465D30", VA = "0x181466D30")]
public float GetVolume()
{
AudioSource[] array = this.g_AS;
int num = this.g_iASIndex;
return array[num].volume;
}
// Token: 0x060000C8 RID: 200 RVA: 0x0000422C File Offset: 0x0000242C
[Token(Token = "0x60000C8")]
[Address(RVA = "0x1467FD0", Offset = "0x1466FD0", VA = "0x181467FD0")]
public void SetPith(float fPitch)
{
/*
An exception occurred when decompiling this method (060000C8)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void SoundEffect::SetPith(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: 0x060000C9 RID: 201 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60000C9")]
[Address(RVA = "0x1468460", Offset = "0x1467460", VA = "0x181468460")]
public void Set(float fVolume, float fPitch)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060000CA RID: 202 RVA: 0x000020D3 File Offset: 0x000002D3
[Token(Token = "0x60000CA")]
[Address(RVA = "0x1466CE0", Offset = "0x1465CE0", VA = "0x181466CE0")]
public bool GetIsPlaying()
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x060000CB RID: 203 RVA: 0x000042B0 File Offset: 0x000024B0
[Token(Token = "0x60000CB")]
[Address(RVA = "0x14680F0", Offset = "0x14670F0", VA = "0x1814680F0")]
public void SetTimeScale(float fScale)
{
/*
An exception occurred when decompiling this method (060000CB)
ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void SoundEffect::SetTimeScale(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: 0x060000CC RID: 204 RVA: 0x0000433C File Offset: 0x0000253C
[Token(Token = "0x60000CC")]
[Address(RVA = "0x1467D70", Offset = "0x1466D70", VA = "0x181467D70")]
public void ResetVolume()
{
AudioSource[] array = this.g_AS;
if (array != 0)
{
int num = 0;
if (num < array.Length)
{
if (array[num].isPlaying)
{
string text = this.soundEffectType;
if (text != 0)
{
if (!string.Equals(text, "SoundEffect") && !string.Equals(text, "AreaAffectPlayer"))
{
if (!string.Equals(text, "Voice"))
{
goto IL_8C;
}
AudioSource[] array2 = this.g_AS;
float voiceVolume = this.volumeSettings.GetVoiceVolume();
}
AudioSource[] array3 = this.g_AS;
float soundEffectVolume = this.volumeSettings.GetSoundEffectVolume();
}
IL_8C:
AudioSource audioSource = this.g_AS[num];
float num2 = this.g_fVolumeSet;
float wholeVolume = this.volumeSettings.GetWholeVolume();
audioSource.volume = num2;
}
AudioSource[] array4 = this.g_AS;
num++;
}
}
}
// Token: 0x060000CD RID: 205 RVA: 0x00004414 File Offset: 0x00002614
[Token(Token = "0x60000CD")]
[Address(RVA = "0x14688B0", Offset = "0x14678B0", VA = "0x1814688B0")]
public SoundEffect()
{
}
// Token: 0x04000115 RID: 277
[FieldOffset(Offset = "0x18")]
[Token(Token = "0x4000115")]
public AudioClip[] Sound;
// Token: 0x04000116 RID: 278
[FieldOffset(Offset = "0x20")]
[Token(Token = "0x4000116")]
public int AudioSourceNum = (int)((ulong)1L);
// Token: 0x04000117 RID: 279
[FieldOffset(Offset = "0x28")]
[Token(Token = "0x4000117")]
public AudioMixerGroup AMG;
// Token: 0x04000118 RID: 280
[FieldOffset(Offset = "0x30")]
[Token(Token = "0x4000118")]
public float Volume = 1f;
// Token: 0x04000119 RID: 281
[FieldOffset(Offset = "0x34")]
[Token(Token = "0x4000119")]
public float Pitch = 1f;
// Token: 0x0400011A RID: 282
[FieldOffset(Offset = "0x38")]
[Token(Token = "0x400011A")]
public bool PitchRandom;
// Token: 0x0400011B RID: 283
[FieldOffset(Offset = "0x3C")]
[Token(Token = "0x400011B")]
public float PitchRandomRange;
// Token: 0x0400011C RID: 284
[FieldOffset(Offset = "0x40")]
[Token(Token = "0x400011C")]
public bool Loop;
// Token: 0x0400011D RID: 285
[FieldOffset(Offset = "0x44")]
[Token(Token = "0x400011D")]
public float SpatialBlend;
// Token: 0x0400011E RID: 286
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400011E")]
public float DistanceMin = 1f;
// Token: 0x0400011F RID: 287
[FieldOffset(Offset = "0x4C")]
[Token(Token = "0x400011F")]
public float DistanceMax = 500f;
// Token: 0x04000120 RID: 288
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x4000120")]
public bool PlayOnAwake;
// Token: 0x04000121 RID: 289
[FieldOffset(Offset = "0x54")]
[Token(Token = "0x4000121")]
public AudioRolloffMode Rolloff;
// Token: 0x04000122 RID: 290
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x4000122")]
public int Priority = (int)((ulong)128L);
// Token: 0x04000123 RID: 291
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x4000123")]
private AudioSource[] g_AS;
// Token: 0x04000124 RID: 292
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x4000124")]
private int g_iASIndex;
// Token: 0x04000125 RID: 293
[FieldOffset(Offset = "0x6C")]
[Token(Token = "0x4000125")]
private float g_fVolumeSet = 1f;
// Token: 0x04000126 RID: 294
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x4000126")]
private float g_fPitchRandom;
// Token: 0x04000127 RID: 295
[FieldOffset(Offset = "0x74")]
[Token(Token = "0x4000127")]
private float g_fPitchSet = 1f;
// Token: 0x04000128 RID: 296
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x4000128")]
private float g_fTimeScale = 1f;
// Token: 0x04000129 RID: 297
[FieldOffset(Offset = "0x7C")]
[Token(Token = "0x4000129")]
private bool isInitialized;
// Token: 0x0400012A RID: 298
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x400012A")]
private string soundEffectType;
}