Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
ESoundSource.cs
Go to the documentation of this file.
1using UnityEngine;
2
3public class ESoundSource : EMono
4{
5 public TC owner;
6
7 public AudioSource source;
8
9 public SoundData data;
10
11 public float maxDistance;
12
13 private void OnEnable()
14 {
15 Play();
16 InvokeRepeating("Refresh", 0f, 0.1f);
17 }
18
19 private void OnDisable()
20 {
21 CancelInvoke();
22 }
23
24 public void Play()
25 {
26 source.clip = data.clip;
27 source.loop = data.loop != 0;
28 source.volume = data.volume;
29 source.pitch = data.pitch * (1f + ((data.randomPitch == 0f) ? 0f : Rand.Range(0f - data.randomPitch, data.randomPitch)));
30 source.time = data.startAt;
31 source.name = data.name;
32 source.spatialBlend = 0f;
33 source.Play();
34 }
35
36 public void Refresh()
37 {
38 Vector3 vector = base.transform.position - EMono.scene.transAudio.position;
39 vector.z = 0f;
40 float magnitude = vector.magnitude;
41 float num = Mathf.Clamp01(1f - magnitude / maxDistance);
42 source.volume = data.volume * num * data.spatial + data.volume * (1f - data.spatial);
43 }
44}
Definition: EMono.cs:4
static Scene scene
Definition: EMono.cs:27
SoundData data
Definition: ESoundSource.cs:9
void Refresh()
Definition: ESoundSource.cs:36
void OnEnable()
Definition: ESoundSource.cs:13
AudioSource source
Definition: ESoundSource.cs:7
void OnDisable()
Definition: ESoundSource.cs:19
float maxDistance
Definition: ESoundSource.cs:11
Definition: Rand.cs:4
static int Range(int min, int max)
Definition: Rand.cs:42
Transform transAudio
Definition: Scene.cs:31
Definition: TC.cs:4