From 0d3675c8cdfe357b94c103cb2161ea823007ae51 Mon Sep 17 00:00:00 2001 From: Jadis0x <49281043+jadis0x@users.noreply.github.com> Date: Fri, 7 Jun 2024 14:57:19 +0300 Subject: [PATCH] helper functions added Camera,Behaviour and Input constructor defined --- lib/UnityEngine.cpp | 9 +++++++++ lib/UnityEngine.h | 25 +++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/lib/UnityEngine.cpp b/lib/UnityEngine.cpp index dc0cca8..4de7cf2 100644 --- a/lib/UnityEngine.cpp +++ b/lib/UnityEngine.cpp @@ -54,6 +54,10 @@ app::Vector3 UnityEngine::Transform::Position(app::Transform* transform) return app::Transform_get_position(transform, nullptr); } +app::Camera* UnityEngine::Camera::GetMainCamera() { + return app::Camera_get_main(nullptr) ? app::Camera_get_main(nullptr) : nullptr; +} + const char* UnityEngine::Object::GetObjectName(app::Object_1* obj) { static std::string name = il2cppi_to_string(app::Object_1_GetName(obj, nullptr)); @@ -70,3 +74,8 @@ app::GameObject__Array* UnityEngine::Object::FindGameObjectsWithTag(const char* void UnityEngine::Object::FindObjectFromInstanceID(int32_t instanceID) { } + +float UnityEngine::Input::GetAxis(const char* axisName) +{ + return app::Input_1_GetAxis(ConvertToSystemString(axisName), nullptr); +} diff --git a/lib/UnityEngine.h b/lib/UnityEngine.h index 497dbd2..9bebf03 100644 --- a/lib/UnityEngine.h +++ b/lib/UnityEngine.h @@ -22,6 +22,26 @@ namespace UnityEngine { app::Vector3 Position(app::Transform* transform); } + struct Input { + static float GetAxis(const char* axisName); + }; + + struct Behaviour { + template + static inline bool Enabled(T* behaviour) { + return app::Behaviour_get_enabled((app::Behaviour*)behaviour, nullptr); + } + + template + static inline void Enabled(T* behaviour, bool value) { + app::Behaviour_set_enabled((app::Behaviour*)behaviour, value, nullptr); + } + }; + + struct Camera { + static app::Camera* GetMainCamera(); + }; + struct Object { static const char* GetObjectName(app::Object_1* obj); @@ -32,7 +52,7 @@ namespace UnityEngine { static void FindObjectFromInstanceID(int32_t instanceID); template - static T* FindObjectOfType(const char* className, const char* classNamespace = "", const char* assemblyName = "Assembly-CSharp.dll") { + static inline T* FindObjectOfType(const char* className, const char* classNamespace = "", const char* assemblyName = "Assembly-CSharp.dll") { Wrapper obj(assemblyName); @@ -48,4 +68,5 @@ namespace UnityEngine { } }; -} + +} \ No newline at end of file