mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 00:37:15 +01:00
Add type-tag retrieval to object wrappers.
This commit is contained in:
parent
bb991181de
commit
4e1b3cd369
@ -251,7 +251,7 @@ struct LightObj {
|
||||
/// \return The LightObj itself
|
||||
///
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
LightObj& operator=(LightObj&& so) {
|
||||
LightObj& operator=(LightObj&& so) noexcept {
|
||||
if (this != &so) {
|
||||
Release();
|
||||
mObj = so.mObj;
|
||||
@ -354,6 +354,18 @@ struct LightObj {
|
||||
return sq_getrefcount(SqVM(), &mObj);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// Retrieves type-tag of the managed object
|
||||
///
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
AbstractStaticClassData * GetTypeTag() const {
|
||||
AbstractStaticClassData* typeTag;
|
||||
sq_pushobject(SqVM(), GetObj());
|
||||
sq_gettypetag(SqVM(), -1, (SQUserPointer*)&typeTag);
|
||||
sq_pop(SqVM(), 1);
|
||||
return typeTag;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// Binds a Table or Class to the object (can be used to facilitate namespaces)
|
||||
///
|
||||
|
@ -368,6 +368,18 @@ public:
|
||||
return sq_getrefcount(SqVM(), &mObj);
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// Retrieves the type-tag of the managed object
|
||||
///
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
AbstractStaticClassData * GetTypeTag() const {
|
||||
AbstractStaticClassData* typeTag;
|
||||
sq_pushobject(SqVM(), GetObj());
|
||||
sq_gettypetag(SqVM(), -1, (SQUserPointer*)&typeTag);
|
||||
sq_pop(SqVM(), 1);
|
||||
return typeTag;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/// Attempts to get the value of a slot from the object
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user