函数声明
UE4中有两种函数, 一种是传统的C++函数, 一种是UFunction. UFunction通过加入一些描述符来支持一些特殊功能
UFUNCTION([specifier, specifier, ...], [meta(key=value, key=value, ...)])
ReturnType FunctionName([Parameter, Parameter, ...])
主要有几种应用:
- 在Blueprint中调用
- 做为delegate, 如与按键消息进行绑定
- 网络回调和数据同步
- 做为命令行的指令执行, 同UE3的exec关键字
函数说明符
- Blueprint相关
-
- BlueprintAuthorithOnly: 没有网格授权的话不会在blueprint中执行
- BlueprintCallable: 可以在blueprint中执行
- BlueprintCosmetic: 表现函数, 不会在服务器执行
- BlueprintImplementableEvent: 可以在blueprint中重写
- BlueprintNativeEvent: 设计为被blueprint重写, 但是仍然包含native的实现
- BlueprintPure: 不会影响自身对象
- Network相关
-
- Client: 只在客户端执行
- Server: 只在服务端执行
- NetMulticast: 会在服务器和所有客户端执行
- Reliable: 函数执行通过网络进行复制, 并且是可靠的
- Unreliable: 函数在复制执行时可能失败
- Editor相关
-
- Category
- 其它
-
- CustomThunk: 提供自定义的execFoo, 而不是生成的
- Exec: 可以在命令行中被执行
元数据说明符
- BlueprintInternalUseOnly
- BlueprintProtected: 只在blueprint中调用
- DeprecatedFunction
- DeprecationMessage
- UnsafeDuringActorConstru