构建Unity3D信号槽机制 【ZObject.cs】

来源:互联网 发布:天刀成女脸型数据 编辑:程序博客网 时间:2024/04/30 03:18
首先我们的模块A,管理类B都继承自ZObject...

1,在模块A中定义一个信号

复制代码
//定义信号
public SIGNAL mouseClickSignal;
//鼠标点击物体A时发出信号
Void OnMouseDown(){
EMIT(mouseClickSignal, null);
}


2,在管理类B中定义一个接收信号用的槽 

复制代码
void SLOT_MouseClicked(Hashtable args){
//do something
}


3,在管理类B连接信号与相应的槽 

复制代码
public ClassA classA; //模块A 
void Awake () {
CONNECT(ref classA.mouseClickSignal, SLOT_MouseClicked);
}

Ver2.0中CONNECT 第一个参数要用ref指向其指针

怎么样,通过信号槽机制,只要三个步骤我们就可以实现delegate的功能。
如果对信号槽机制还是无法理解的话,可以搜索一下Qt + 信号槽,有不少相关文章,比本文解释的更加详尽。
ZObject具体使用方法可以参考附件中的工程文件。
0 0
原创粉丝点击