返回

观察者模式

观察者模式简介

观察者模式形象来说就是一个老板不停的询问员工任务是否完成,当任务完成后,老板再指派员工去做其他的事情。

简单代码例子

  • 这里用Unity里面的动画来举例,在播放一个动画时,观察者会不停的询问这个动画是否播放完成,当播放完成后,观察者再命令播放下一个动画。
public class TeacjPnserver : MonoBehaviour
{
    Animation player;
    //播放动画
    public void PlayAnimal()
    {
        timeCount = 0;
        player.Play();
    }
    //检验动画是否播放完成
    public bool IsFinish()
    {
        return player.isPlaying;
    }

    float timeCount = 0;
    void Update()
    {
        if (Input.GetKey(KeyCode.A))
        {
            PlayAnimal();
        }
        if (IsFinish())
        {
            timeCount += Time.deltaTime;
            if (timeCount > 0.5f)
            {
                Debug.Log("player particle");
            }
        }
    }
}
Licensed under CC BY-NC-SA 4.0
0