函数与事件的区别
- 函数无法使用 Delay(函数调用完后就销毁,Delay 的异步逻辑则无法被通知到),事件可以。
- 函数可以有返回值,事件没有。
- 函数有局部变量,事件没有。
- 事件可以被标记为网络同步,函数无法被标记网络同步。
- 事件可以被绑定到调度器上,函数不行。
- 事件只能是 Public 的,不能进行修饰。
- 事件不能构建成常事件,函数可以定义为常函数。
函数与宏的区别
- 宏本质是替换操作,但函数是逻辑单元。
- 宏支持多逻辑针脚输入,并支持多逻辑针脚输出(宏不会被编译为逻辑单元)。
- 过多使用宏将导致蓝图中节点膨胀,函数由于被编译诚逻辑单元,所有调用的地方均使用一个逻辑单元,因此不会膨胀。
- 宏支持通配符传入传出,使类型传递更加灵活。
- 在函数中调用宏,宏的 Local Variable 将变成函数的局部变量,在时间图表中调用宏, Local Variable 将变成成员变量。
- 宏无法被重写,函数可以被重写(宏是无形的,函数是有形的)。
- 类内部宏无法在外部通过成员对象调用,函数可以。
- 复杂逻辑在函数中编写,结组宏的特点(支持多执行针脚输入)编写灵活的分支流程控制。