CClientEntity* lua_toelement ( lua_State* luaVM, int iArgument ) { if ( lua_type ( luaVM, iArgument ) == LUA_TLIGHTUSERDATA ) { ElementID ID = TO_ELEMENTID ( lua_touserdata ( luaVM, iArgument ) ); CClientEntity* pEntity = CElementIDs::GetElement ( ID ); if ( !pEntity || pEntity->IsBeingDeleted () ) return NULL; return pEntity; } else if ( lua_type ( luaVM, iArgument ) == LUA_TUSERDATA ) { ElementID ID = TO_ELEMENTID ( * ( ( void ** ) lua_touserdata ( luaVM, iArgument ) ) ); CClientEntity* pEntity = CElementIDs::GetElement ( ID ); if ( !pEntity || pEntity->IsBeingDeleted () ) return NULL; return pEntity; } return NULL; }
// Lua push/pop macros for our datatypes CElement* lua_toelement ( lua_State* luaVM, int iArgument ) { if ( lua_type ( luaVM, iArgument ) == LUA_TLIGHTUSERDATA ) { ElementID ID = TO_ELEMENTID ( lua_touserdata ( luaVM, iArgument ) ); CElement* pElement = CElementIDs::GetElement ( ID ); if ( !pElement || pElement->IsBeingDeleted () ) return NULL; return pElement; } return NULL; }