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