用枚举与switch...case...将事件的有序进行



public enum Banqianhui
{
    Default,
    ZhuoQian,
    DaiMaoZiRen, 
    KaiMen, 
}

public class BanQianHui : MonoBehaviour {

    public Banqianhui state;    //创建枚举
   
    public Animator animator_daimaozi;  //戴帽子动控制器
    public Animator animator_kaimen;    //开门控制器

    void Update()
    {
        switch (state)
        {
            case Banqianhui.ZhuoQian:
                {
                    //播放到桌前的音效
                    SoundController._instance.SetAudio(AudioClipType.zhuoqian);     

                    SetStateFauction(Banqianhui.Default);
                }
                break;
           
            case Banqianhui.DaiMaoZiRen:
                {
                    Debug.Log("整理着装内容(戴帽子动画)");

                    //!SoundController._instance.SetAudio(AudioClipType.duzuoyepiao).isPlaying
                    if (!SoundController._instance.audioSource.isPlaying)           
                    {
                        if (animator_daimaozi != null)
                        {
                            animator_daimaozi.SetBool("fumao", true);
                        }
                    }
                    SetStateFauction(Banqianhui.Default);
                }
                break;
            case Banqianhui.KaiMen:
                {
                    //播放签字然后开门进入场地语音
                    SoundController._instance.SetAudio(AudioClipType.qianzikaimen);

                    Debug.Log("开门动画");
                        if (animator_kaimen != null)
                        {
                            animator_kaimen.SetBool("kaimen", true);
                        }
                    
                    SetStateFauction(Banqianhui.Default);

                }
                break;
        }
    }
    public void SetStateFauction(Banqianhui banqianhui)
    {
        if (state == Banqianhui.Default)
        {
            state = banqianhui;
        }
        else
        {
            if (state == banqianhui)
            {
                return;
            }
            state = banqianhui;
        }
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_39562523/article/details/80243423