429 lines
16 KiB
C#
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;
|
|
}
|