-
Notifications
You must be signed in to change notification settings - Fork 594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Streaming Level 中的单位有时调用 Lua 实现时,self 是 userdata #380
Comments
StreamingLevel 的actor ReceiveBegin 也会出现调用时是 userdata 而不是已经初始的 table 目前我就暂时 然后给 Initialize 加了一个是否已经初始化的参数,然后对于已经初始化的Actor 与 Component, 由 Lua Initialize 主动来调用
虽然比较绕,但问题暂时是解决 userdata 调用与BeginPlay 的初始化问题了。把 userdata 作为 self 调用 lua 的功能还是改掉比较好,或者考虑调用带后缀的 ·ReceiveBeginPlayRaw· 不确定可行性如何。 |
和 #379 可能同一个问题,家里测试环境不全,麻烦帮忙验证一下上面这个修正? |
感谢修复,基于你的新修改,测试了十来次没有出现 self 是 userdata 的情况了。 |
版本是 2.1.3
之前 2.1.1 没这问题
升级到 2.1.3 后随机出现这个问题
比如 Streaming Level 加载的 actor 的 ReceiveTick 里面
有时会发现 type(self) 是 userdata ,是一个 ABP_xxx 对象,过几帧后, initialize 被调用后,才变回 table 对象。
我们不可能一直在 ReceiveBeginPlay 和 ReceiveTick 中加一个检查
type(self) == 'table'
吧?我觉得,要么分开,要么就在调用前创建对应的 lua table 并 initialize
The text was updated successfully, but these errors were encountered: