mirror of
https://github.com/thunderbrewhq/thunderbrew
synced 2025-10-25 21:36:05 +03:00
chore(ui): clean up script handlers for CScriptObject
This commit is contained in:
parent
bc1ce52f7d
commit
884e491b25
@ -13,6 +13,14 @@ void CScriptObject::RegisterScriptMethods(lua_State* L) {
|
||||
FrameScript_Object::FillScriptMethodTable(L, ScriptObjectMethods, NUM_SCRIPT_OBJECT_SCRIPT_METHODS);
|
||||
}
|
||||
|
||||
int32_t CScriptObject::GetObjectType() {
|
||||
if (!CScriptObject::s_objectType) {
|
||||
CScriptObject::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
return CScriptObject::s_objectType;
|
||||
}
|
||||
|
||||
CScriptObject* CScriptObject::GetScriptObjectByName(const char* name, int32_t type) {
|
||||
lua_State* L = FrameScript_GetContext();
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ class CScriptObject : public FrameScript_Object {
|
||||
static const char* s_objectTypeName;
|
||||
|
||||
// Static functions
|
||||
static int32_t GetObjectType();
|
||||
static void RegisterScriptMethods(lua_State* L);
|
||||
static CScriptObject* GetScriptObjectByName(const char* name, int32_t type);
|
||||
|
||||
|
||||
@ -4,13 +4,8 @@
|
||||
#include <cstdint>
|
||||
|
||||
int32_t CScriptObject_GetObjectType(lua_State* L) {
|
||||
if (!CScriptObject::s_objectType) {
|
||||
CScriptObject::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
CScriptObject* object = (CScriptObject*)FrameScript_GetObjectThis(L, CScriptObject::s_objectType);
|
||||
|
||||
const char* type = object->GetObjectTypeName();
|
||||
auto object = static_cast<CScriptObject*>(FrameScript_GetObjectThis(L, CScriptObject::GetObjectType()));
|
||||
auto type = object->GetObjectTypeName();
|
||||
|
||||
lua_pushstring(L, type);
|
||||
|
||||
@ -18,24 +13,14 @@ int32_t CScriptObject_GetObjectType(lua_State* L) {
|
||||
}
|
||||
|
||||
int32_t CScriptObject_IsObjectType(lua_State* L) {
|
||||
if (!CScriptObject::s_objectType) {
|
||||
CScriptObject::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
CScriptObject* object = (CScriptObject*)FrameScript_GetObjectThis(L, CScriptObject::s_objectType);
|
||||
auto object = static_cast<CScriptObject*>(FrameScript_GetObjectThis(L, CScriptObject::GetObjectType()));
|
||||
|
||||
if (!lua_isstring(L, 2)) {
|
||||
const char* name = object->GetName();
|
||||
|
||||
if (!name) {
|
||||
name = "<unnamed>";
|
||||
}
|
||||
|
||||
luaL_error(L, "Usage: %s:IsObjectType(\"type\")", name);
|
||||
return 0;
|
||||
auto name = object->GetDisplayName();
|
||||
return luaL_error(L, "Usage: %s:IsObjectType(\"type\")", name);
|
||||
}
|
||||
|
||||
const char* type = lua_tolstring(L, 2, 0);
|
||||
auto type = lua_tolstring(L, 2, nullptr);
|
||||
|
||||
if (object->IsA(type)) {
|
||||
lua_pushnumber(L, 1.0);
|
||||
@ -47,13 +32,8 @@ int32_t CScriptObject_IsObjectType(lua_State* L) {
|
||||
}
|
||||
|
||||
int32_t CScriptObject_GetName(lua_State* L) {
|
||||
if (!CScriptObject::s_objectType) {
|
||||
CScriptObject::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
CScriptObject* object = (CScriptObject*)FrameScript_GetObjectThis(L, CScriptObject::s_objectType);
|
||||
|
||||
char* name = object->GetName();
|
||||
auto object = static_cast<CScriptObject*>(FrameScript_GetObjectThis(L, CScriptObject::GetObjectType()));
|
||||
auto name = object->GetName();
|
||||
|
||||
if (name && *name) {
|
||||
lua_pushstring(L, name);
|
||||
@ -65,17 +45,12 @@ int32_t CScriptObject_GetName(lua_State* L) {
|
||||
}
|
||||
|
||||
int32_t CScriptObject_GetParent(lua_State* L) {
|
||||
if (!CScriptObject::s_objectType) {
|
||||
CScriptObject::s_objectType = ++FrameScript_Object::s_objectTypes;
|
||||
}
|
||||
|
||||
CScriptObject* object = (CScriptObject*)FrameScript_GetObjectThis(L, CScriptObject::s_objectType);
|
||||
|
||||
auto object = static_cast<CScriptObject*>(FrameScript_GetObjectThis(L, CScriptObject::GetObjectType()));
|
||||
CScriptObject* parent = object->GetScriptObjectParent();
|
||||
|
||||
if (parent) {
|
||||
if (!parent->lua_registered) {
|
||||
parent->RegisterScriptObject(0);
|
||||
parent->RegisterScriptObject(nullptr);
|
||||
}
|
||||
|
||||
lua_rawgeti(L, LUA_REGISTRYINDEX, parent->lua_objectRef);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user