using System; using UnityEngine; // Token: 0x0200018B RID: 395 public class SoundStream : MonoBehaviour { // Token: 0x17000179 RID: 377 // (get) Token: 0x06000B3E RID: 2878 RVA: 0x0003055C File Offset: 0x0002E75C public SoundVoice Current { get { return this.voice[this.current]; } } // Token: 0x1700017A RID: 378 // (get) Token: 0x06000B3F RID: 2879 RVA: 0x0003056C File Offset: 0x0002E76C public bool IsPlay { get { return this.Current.IsPlay; } } // Token: 0x06000B40 RID: 2880 RVA: 0x0003057C File Offset: 0x0002E77C public static SoundStream CreateObject(GameObject parent, string name) { return new GameObject("SoundStream." + name) { transform = { parent = parent.transform } }.gameObject.AddComponent(); } // Token: 0x06000B41 RID: 2881 RVA: 0x000305B8 File Offset: 0x0002E7B8 private void Awake() { for (int i = 0; i < this.voice.Length; i++) { this.voice[i] = base.gameObject.AddComponent(); } } // Token: 0x06000B42 RID: 2882 RVA: 0x000305F4 File Offset: 0x0002E7F4 private void Update() { } // Token: 0x06000B43 RID: 2883 RVA: 0x000305F8 File Offset: 0x0002E7F8 public void Play(string category, string name_, bool isLoop = true, float volume = 1f, int timeIn = 1000, int timeOut = 1000) { bool flag = true; if (category == "bgm" || (category == "se" && isLoop)) { flag = (!this.Current.IsPlay || this.Current.Name != name_); } if (flag) { this.Stop(timeOut); this.Change(); this.Current.SetSource(category, name_); this.Current.FadeInTime = timeIn; this.Current.Loop = isLoop; this.Current.Volume = volume; this.Current.Play(); } else { this.Current.FadeInTime = timeIn; this.Current.Loop = isLoop; this.Current.Volume = volume; } } // Token: 0x06000B44 RID: 2884 RVA: 0x000306D0 File Offset: 0x0002E8D0 public void Stop(int timeOut = 1000) { if (this.Current.IsPlay) { this.Current.FadeOutTime = timeOut; this.Current.Stop(); } } // Token: 0x06000B45 RID: 2885 RVA: 0x00030704 File Offset: 0x0002E904 public void Pause(bool bPause) { this.Current.Pause(bPause); } // Token: 0x06000B46 RID: 2886 RVA: 0x00030714 File Offset: 0x0002E914 private void Change() { this.current++; if (this.current >= this.voice.Length) { this.current = 0; } } // Token: 0x040008E9 RID: 2281 private const int SOUND_STREAM_NUM = 2; // Token: 0x040008EA RID: 2282 private SoundVoice[] voice = new SoundVoice[2]; // Token: 0x040008EB RID: 2283 private int current; }