我正在为系统构建一个插件。系统偶尔会调用我的插件的update()
方法。
在我的插件update()
方法中,我正在修改系统状态,但是在系统有机会这样做之前系统状态不会更新(这发生在update
方法调用之间)。
所以每当我做一个系统更新的方法时,我都必须一路update()
返回,让它返回,然后重新进入,然后我必须尝试回到我原来的位置。我一直在考虑一种更聪明的方法来做到这一点,即通过保存调用框架等。然后在返回时加载该调用框架。
但是,我没有开始自己实现这一点,而是在考虑是否已经有办法做到这一点。我正在编写的插件是在 Lua 中,通过 C# 的 NLua 库。
如果需要,我可以访问 C# 环境!
我有一个想法,我需要像延续这样的东西?
我想拥有的例子;
update() --> ... --> helper_function() --> system_state_modifier()
// System state modifier changes system state, saves the current stack/registers,
// whatever else is needed, and returns directly to update()'s caller
// On the next call to update, the previous stack/registers and such
// is restored, and continued.