常规方法:通过委托联系宝石与门(观察者模式)
流程是:
- 在宝石脚本中创建委托,并在碰撞函数中调用(Invoke());
- 在门脚本中创建函数(Open())摧毁对象,并且订阅宝石中的委托。
- 当宝石碰撞,调用了委托,订阅委托的两个门就执行相应动作(摧毁)。
说明:红宝石和蓝宝石是一次性的,所以拾取后要摧毁音效对象,而黄宝石是需要重复利用的,不需要摧毁。
为了整体音效更好管理,新建一个SoundEffectsPlayer类,附加在SFX Player对象上,SFX Player对象上要有AudioSource组件。
public class SoundEffectsPlayer : MonoBehaviour |