1.java.lang.reflect.InvocationTargetException
2.Unlua源码解析(附二) 源码中的源码重要类及核心函数逐行解释
java.lang.reflect.InvocationTargetException
æ好æ¯ç¨mainæ¹æ³å¼ä¸ªæµè¯ç±» å«æµè¯ä¸daoæ¹æ³ æ¯å¦å¥½ç¨ ç¶åå¨è¯è¯actionä¸çæ¹æ³ å¦ædaoæ¹æ³å¥½ç¨çè¯ å¼å¸¸å°±å¨actionä¸ ç¶åå¨é个æé¤é误
å ä¸ºä½ æ²¡åæºç è¿ä¹åå¼å¸¸çè¯ å¾é¾æ¾åå
Unlua源码解析(附二) 源码中的重要类及核心函数逐行解释
源码解析:重要类及核心函数逐行解释 1. FClassDesc 该类用于描述一个类,包含类名、详解类大小和继承关系等信息。源码 2. FFunctionDesc 对应UE中的详解UFunction,存储更详细信息,源码如参数、详解myeclipse 网站源码元数据,源码允许FFunctionDesc调用方法。详解 3. FProporityDesc 描述参数,源码并提供参数在Lua和C++间转换的详解辅助方法。 4. FFieldDesc 用于描述字段的源码类。 5. FReflectionRegistry 用于注册反射信息,详解借助UE反射接口加载类。源码 6. FLuaContext 全局类,详解负责绑定Lua对象和实现Lua与C++间的源码dnf源码大全交互。 7. LuaCore 包含很多关键方法,如注册类、注册方法,是Unlua的核心类。 8. UUnLuaManager 集成绑定Lua与C++的多种方法。FReflectionRegistry内重要方法
2.1 RegisterClass
-: 通过UE反射接口尝试加载指定类。 : 调用RegisterClass方法。游戏源码买卖2.2 RegisterClass
-: 若无参数,返回。 -: 获取并检查类的类型信息,仅当类型为Struct时继续。 -: 若已注册,使用注册信息;否则注册新信息,返回。绝地反击 源码2.3 RegisterClassInternal
存名称和Struct到FClassDesc字典,便于后续使用。 -: 创建FClassDesc并记录相关信息。 -: 遍历父类,记录父类名称和Struct。2.4 GetClassChain
获取类的继承链,OutChain表示类及其父类。serverless架构源码LuaCore内重要方法
3.1 Global_RegisterClass
读取类型信息,注册类。3.2 RegisterClass
记录反射信息,创建元表,便于Lua与C++交互。3.3 RegisterClassInternal
创建元表,设置元方法,记录全局表中。3.4 RegisterClassCore
创建元表,设置元方法,记录元表信息。3.5 SetTableForClass
将类元表放入全局表。3.6 Class_Index
处理类索引方法。3.7 GetField
获取字段或方法。3.8 GetFunctionList
获取模块内所有方法。3.9 PushObjectCore
创建并绑定Lua对象。3. NewLuaObject
创建Lua表表示UObject。FLuaContext内重要方法
4.1 FindExportedReflectedClass
通过名称查找导出的反射类。4.2 NotifyUObjectCreated
: 存储新创建的Object。 : 尝试绑定Lua到Object。4.3 TryToBindLua
绑定Lua模块到UObject。UUnLuaManager内重要方法
5.1 Bind
新UObject实例创建时,创建Lua对象并绑定。5.2 BindInternal
实现Lua绑定UObject的关键函数。 方法涵盖模块名与C++对象关联、覆盖C++函数、处理动画覆盖等。2024-11-30 13:21
2024-11-30 13:13
2024-11-30 13:06
2024-11-30 12:59
2024-11-30 12:54
2024-11-30 11:25