美文网首页
Unreal 委托Delegate

Unreal 委托Delegate

作者: Mr_约科 | 来源:发表于2019-12-26 22:43 被阅读0次

1. 核心关键词

Declare DECLARE 声明

Delegate DELEGATE 委托

Multicast MULTICAST 多播

Dynamic DYNAMIC 动态

OneParams 参数数量

RetVal 返回值

C# Delegate 委托 与 C/C++的函数指针

2. 委托的使用理念

见下参考文章的"委托的使用理念"。降低耦合度。

参考文章
https://docs.unrealengine.com/zh-CN/Programming/UnrealArchitecture/Delegates/index.html
https://blog.csdn.net/qq_29523119/article/details/84893503
https://blog.csdn.net/zzk1995/article/details/48224465
https://blog.csdn.net/y1196645376/article/details/51408114

3. Unreal 委托实战

所有的注册都仅 注册一次,除非 Remove掉,否则一直在。因为,每注册一次都生成一个对象,多次注册,多个对象。

(1)委托中嵌套委托

(2)仅在引擎第一次启动调用

这次引擎的启动 在某些 设置上依赖上一次引擎启动,是通过 .ini配置文件 将彼此之间进行的联系。 .ini文件可为 引擎配置文件 也可为 项目配置文件。引擎配置插件大家都统一,项目配置文件因项目的不同而存在差异。

① 对当前关卡名字进行判断,是否为 “Untitled_1”,名字来自于项目设置下的编辑器开始地图。

(3)引擎第一帧

(4)新建关卡的hook

FEditorDelegates::MapChange

此委托在 Map_Load的时候被广播,即广播的时间节点有两个:
(1)引擎启动加载地图的时;
(2)新建关卡的时;
所以将此事件hook到,第一帧委托下,就保证了 第二个时间节点生效。
(3)在内容浏览器里打开 已存在的关卡,也会被广播。

(5)注册函数 的 Add 与 Remove

  • 委托函数指针的Add 是一种基于 栈结构 数据,遵循 先进后出原则,先注册后调用
  • Remove(this) 有两方面的指标,①哪个对象 ②哪个委托 。 总的来讲,也就是移除 此对象在这个委托上的所有 函数指针。

相关文章

  • Unreal 委托Delegate

    1. 核心关键词 Declare DECLARE 声明 Delegate DELEGATE 委托 Multica...

  • 52个有效方法(23) - 通过委托与数据协议进行对象间的通信

    委托模式(Delegate pattern) 委托模式(Delegate pattern):用来实现对象间的通信 ...

  • C# 高级语言总结

    后续 1 C# 委托 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 ...

  • C#委托Delegate和事件Event实战应用

    一、委托的概念 C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate)是...

  • delegate

    什么是 delegate delegate是委托模式.委托模式是将一件属于委托者做的事情,交给另外一个被委托者来处...

  • iOS 逆向传值

    代理(delegate)、通知(NSNotification),block等等。 1、委托代理delegate只能...

  • Delegate(委托)

    上一个章节走了一遍 ViewController 和 TableView 的流程,这章节开始走一遍 Delegat...

  • C# 委托

    C#委托 C#中的委托(Delegate)类似于C或C++中函数的指针。委托(Delegate)是存有对某个方法的...

  • 委托

    委托的声明 delegate void IntMethodinvoker(int x);delegate 返回值类...

  • C# 委托(Delegate)

    C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针。委托(Delegate) 是存有对某个方法...

网友评论

      本文标题:Unreal 委托Delegate

      本文链接:https://www.haomeiwen.com/subject/fjaloctx.html