基本原理
将类的成员函数、变量按类型 存放在字符码表中。通过反射代码(注册使用)读取到的变量类型、函数读取字符码表中的具体值。
函数处理栈
代码执行上是一个鸡生蛋,蛋生鸡的过程:
1.执行函数(执行脚本)时它会调用反射代码中的C++
2.反射代码又回到Fame/脚本中执行
3.如此反复
分类
函数:纯函数、普通函数、Event(蓝图事件和C++事件)
映射面板
反射注册:变量的泛化,将信息注册在封装的类中(变量地址、元素大小、元素个数)
链表储存:每个类中的属性以链表的方式储存
变量的反射
面板的值指向变量地址,直接在地址上操作
特别注意:STD的string的首地址并非.c_str()得到。
蓝图资源
蓝图中注册反射类
1.不属于全局对象(构造时不加入)
2.类管理器
3.资产打包工具