using System.Collections; using System.Collections.Generic; using UnityEngine; public class FunctionSync_Audio : OneValueSyncObject { private AudioSource audioSource; public bool 重进房间是否播放; public void Init() { if (!hasInit) { audioSource = GetComponent(); InitDynamic("audio_" + gameObject.name, CallBack, ValueType.Int); } } /// /// 操作同步声音 /// /// public void SetAudio(AudioControlEnum audioControlEnum) { myint = (int)audioControlEnum; switch (audioControlEnum) { case AudioControlEnum.Play: audioSource.Play(); break; case AudioControlEnum.Pause: audioSource.Pause(); break; case AudioControlEnum.Stop: audioSource.Stop(); break; } SendSync(); } private void CallBack(string callback,bool isjoinRoom) { if(isjoinRoom && !重进房间是否播放) { return; } switch ((AudioControlEnum)myint) { case AudioControlEnum.Play: audioSource.Play(); break; case AudioControlEnum.Pause: audioSource.Pause(); break; case AudioControlEnum.Stop: audioSource.Stop(); break; } } } /// /// 声音操作枚举 /// public enum AudioControlEnum { NULL, Play, Pause, Stop }