mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-01-18 19:47: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
|
/// \return The LightObj itself
|
||||||
///
|
///
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
LightObj& operator=(LightObj&& so) {
|
LightObj& operator=(LightObj&& so) noexcept {
|
||||||
if (this != &so) {
|
if (this != &so) {
|
||||||
Release();
|
Release();
|
||||||
mObj = so.mObj;
|
mObj = so.mObj;
|
||||||
@ -354,6 +354,18 @@ struct LightObj {
|
|||||||
return sq_getrefcount(SqVM(), &mObj);
|
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)
|
/// Binds a Table or Class to the object (can be used to facilitate namespaces)
|
||||||
///
|
///
|
||||||
|
@ -368,6 +368,18 @@ public:
|
|||||||
return sq_getrefcount(SqVM(), &mObj);
|
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
|
/// Attempts to get the value of a slot from the object
|
||||||
///
|
///
|
||||||
|
Loading…
x
Reference in New Issue
Block a user