LuaState: Pushing a cEntity pushes the correct class name.
This makes Lua scripts easier, as they don't need to cast values from cEntity to the specific descendant.
This commit is contained in:
parent
fe153cc763
commit
ebd31ff132
@ -16,6 +16,8 @@ extern "C"
|
||||
#include "Bindings.h"
|
||||
#include "ManualBindings.h"
|
||||
#include "DeprecatedBindings.h"
|
||||
#include "../Entities/Entity.h"
|
||||
#include "../BlockEntities/BlockEntity.h"
|
||||
|
||||
// fwd: SQLite/lsqlite3.c
|
||||
extern "C"
|
||||
@ -556,7 +558,7 @@ void cLuaState::Push(cEntity * a_Entity)
|
||||
{
|
||||
ASSERT(IsValid());
|
||||
|
||||
tolua_pushusertype(m_LuaState, a_Entity, "cEntity");
|
||||
tolua_pushusertype(m_LuaState, a_Entity, (a_Entity == nullptr) ? "cEntity" : a_Entity->GetClass());
|
||||
m_NumCurrentFunctionArgs += 1;
|
||||
}
|
||||
|
||||
|
@ -172,13 +172,13 @@ public:
|
||||
/// Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true)
|
||||
virtual bool IsA(const char * a_ClassName) const;
|
||||
|
||||
/// Returns the topmost class name for the object
|
||||
virtual const char * GetClass(void) const;
|
||||
|
||||
// Returns the class name of this class
|
||||
/** Returns the class name of this class */
|
||||
static const char * GetClassStatic(void);
|
||||
|
||||
/// Returns the topmost class's parent class name for the object. cEntity returns an empty string (no parent).
|
||||
/** Returns the topmost class name for the object */
|
||||
virtual const char * GetClass(void) const;
|
||||
|
||||
/** Returns the topmost class's parent class name for the object. cEntity returns an empty string (no parent). */
|
||||
virtual const char * GetParentClass(void) const;
|
||||
|
||||
cWorld * GetWorld(void) const { return m_World; }
|
||||
|
Loading…
Reference in New Issue
Block a user