added IsNull function

IsNull(app::Object_1*): detects whether objects are null, works more efficiently than a nullptr check.
This commit is contained in:
Jadis0x
2024-05-31 23:24:48 +03:00
parent 75b119170e
commit 58e36f2eb9
4 changed files with 45 additions and 22 deletions

View File

@@ -73,6 +73,14 @@ bool IsInGame()
return false;
}
bool IsNull(app::Object_1* obj)
{
if (obj == nullptr)
return true;
return !app::Object_1_op_Implicit(obj, nullptr);
}
app::GameObject* GetAzazel(app::Survival* survival)
{
app::GameObject* ai = app::Survival_GetAzazel(survival, nullptr);

View File

@@ -8,6 +8,7 @@ bool IsLocalPlayer(app::NolanBehaviour* player);
bool IsPlayerCrawling();
bool IsPlayerCrawling(app::GameObject* go);
bool IsInGame();
bool IsNull(app::Object_1* obj);
app::GameObject* GetAzazel(app::Survival* survival);

View File

@@ -3,6 +3,7 @@
#include "Wrapper.h"
#include <vector>
#include <iostream>
#include "ClientHelper.h"
namespace Unity {
namespace GameObject {
@@ -10,14 +11,14 @@ namespace Unity {
app::Component* GetComponentByName(app::GameObject* go, const char* type);
}
namespace Math{
namespace Math {
namespace Vector3 {
std::string ToString(app::Vector3* v);
std::string ToString(app::Vector3 v);
}
}
namespace Transform{
namespace Transform {
app::Transform* Get(app::GameObject* go);
app::Vector3 Position(app::Transform* transform);
}
@@ -44,11 +45,12 @@ namespace UnityCore {
app::Object_1* obj_1 = app::Object_1_FindObjectOfType(reinterpret_cast<app::Type*>(object), nullptr);
if (obj_1) {
T* foundObject = reinterpret_cast<T*>(obj_1);
if (foundObject) {
return foundObject;
}
if (IsNull(obj_1) || obj_1 == nullptr) return nullptr;
T* foundObject = reinterpret_cast<T*>(obj_1);
if (foundObject) {
return foundObject;
}
}