Proxy class for calling AI action handlers defined in Lua. More...
#include <core.hpp>
Public Member Functions | |
~lua_ai_action_handler () | |
void | handle (const config &cfg, const config &filter_own, bool read_only, lua_object_ptr l_obj) |
Private Member Functions | |
lua_ai_action_handler (lua_State *l, lua_ai_context &context, int num) | |
Static Private Member Functions | |
static lua_ai_action_handler * | create (lua_State *L, char const *code, lua_ai_context &context) |
Private Attributes | |
lua_State * | L |
lua_ai_context & | context_ |
int | num_ |
Friends | |
class | ::game_lua_kernel |
|
inlineprivate |
Definition at line 74 of file core.hpp.
References ai::lua_ai_context::create().
ai::lua_ai_action_handler::~lua_ai_action_handler | ( | ) |
Definition at line 1138 of file core.cpp.
References aisKey, lua_getfield(), lua_pop, lua_pushnil(), lua_rawseti(), and LUA_REGISTRYINDEX.
|
staticprivate |
Definition at line 1025 of file core.cpp.
References aisKey, ERR_LUA, lua_getfield(), lua_pop, lua_pushvalue(), lua_rawlen(), lua_rawseti(), LUA_REGISTRYINDEX, lua_remove, lua_tostring, luaL_loadbufferx(), and ai::lua_ai_load::refcount.
Referenced by game_lua_kernel::create_lua_ai_action_handler().
void ai::lua_ai_action_handler::handle | ( | const config & | cfg, |
const config & | filter_own, | ||
bool | read_only, | ||
lua_object_ptr | l_obj | ||
) |
Definition at line 1105 of file core.cpp.
References aisKey, config::empty(), lua_absindex(), lua_getfield(), lua_gettop(), lua_rawgeti(), LUA_REGISTRYINDEX, lua_remove, lua_settop(), luaW_pcall(), and luaW_pushconfig().
|
friend |
|
private |