Unity3D delegate 用法

delegate:委托机制,不做一一说明;

功能需求1:

音量,为一事件为B;

改变音量如为0,为事件A。也触发事件B;

音量变,所有音乐,如场景,特效,角色,打斗。其所有音量都得变。为C;

思路:

B事件:

PublicDelegate.cs

public  delegate  void  VolumeDelegate(string str,float  time,bool isbool);

public  static  event  VolumeDelegate volumeDelegate;

 

internal  static  void volumeDelegate(){

if(volumeDelegate!=null)

volumeDelegate();

}

A事件:

设置音量为1,触发事件B:

PublicDelegate.volumeDelegate();

 

C事件:根据策划需求做相关处理;

LevelAudio.cs

PublicDelegate.volumeDelegate += volumeDelegate

 

posted @ 2013-08-09 15:39  韦斯利yx  阅读(1323)  评论(0编辑  收藏  举报