unity,观察者模式代码
时间: 2023-04-09 09:01:58 浏览: 99
我可以回答这个问题。观察者模式是一种设计模式,它允许对象之间建立一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会得到通知并自动更新。在Unity中,可以使用C#语言来实现观察者模式。以下是一个简单的示例代码:
```
using System.Collections.Generic;
using UnityEngine;
public class Subject : MonoBehaviour
{
private List<Observer> observers = new List<Observer>();
public void Attach(Observer observer)
{
observers.Add(observer);
}
public void Detach(Observer observer)
{
observers.Remove(observer);
}
public void Notify()
{
foreach (Observer observer in observers)
{
observer.Update();
}
}
}
public class Observer : MonoBehaviour
{
public void Update()
{
Debug.Log("Observer has been notified.");
}
}
```
在这个示例中,Subject类是被观察的对象,它维护了一个观察者列表,并提供了Attach、Detach和Notify方法来管理观察者。Observer类是观察者,它实现了Update方法来响应Subject的通知。当Subject的状态发生改变时,它会调用Notify方法来通知所有的观察者。