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
}