73 lines
1.6 KiB
C#
73 lines
1.6 KiB
C#
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<AudioSource>();
|
|
InitDynamic("audio_" + gameObject.name, CallBack, ValueType.Int);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 操作同步声音
|
|
/// </summary>
|
|
/// <param name="audioControlEnum"></param>
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 声音操作枚举
|
|
/// </summary>
|
|
public enum AudioControlEnum
|
|
{
|
|
NULL,
|
|
Play,
|
|
Pause,
|
|
Stop
|
|
}
|