22#include < Helpers/String.hpp>
33#include < LuaType/LuaFSoftObjectPath.hpp>
44#include < LuaType/LuaFWeakObjectPtr.hpp>
5- #include < LuaType/LuaTSoftClassPtr .hpp>
5+ #include < LuaType/LuaTSoftObjectPtr .hpp>
66
77namespace RC ::LuaType
88{
9- TSoftClassPtr::TSoftClassPtr (Unreal::FSoftObjectPtr object) : LocalObjectBase<Unreal::FSoftObjectPtr, TSoftClassPtrName >(std::move(object))
9+ TSoftObjectPtr::TSoftObjectPtr (Unreal::FSoftObjectPtr object) : LocalObjectBase<Unreal::FSoftObjectPtr, TSoftObjectPtrName >(std::move(object))
1010 {
1111 }
1212
13- auto TSoftClassPtr ::construct (const LuaMadeSimple::Lua& lua, Unreal::FSoftObjectPtr& unreal_object) -> const LuaMadeSimple::Lua::Table
13+ auto TSoftObjectPtr ::construct (const LuaMadeSimple::Lua& lua, Unreal::FSoftObjectPtr& unreal_object) -> const LuaMadeSimple::Lua::Table
1414 {
15- LuaType::TSoftClassPtr lua_object{unreal_object};
15+ LuaType::TSoftObjectPtr lua_object{unreal_object};
1616
17- auto metatable_name = " TSoftClassPtrUserdata " ;
17+ auto metatable_name = " TSoftObjectPtrUserdata " ;
1818
1919 LuaMadeSimple::Lua::Table table = lua.get_metatable (metatable_name);
2020 if (lua.is_nil (-1 ))
@@ -23,7 +23,7 @@ namespace RC::LuaType
2323 lua.prepare_new_table ();
2424 setup_metamethods (lua_object);
2525 setup_member_functions<LuaMadeSimple::Type::IsFinal::Yes>(table, metatable_name);
26- lua.new_metatable <LuaType::TSoftClassPtr >(metatable_name, lua_object.get_metamethods ());
26+ lua.new_metatable <LuaType::TSoftObjectPtr >(metatable_name, lua_object.get_metamethods ());
2727 }
2828
2929 // Create object & surrender ownership to Lua
@@ -32,42 +32,48 @@ namespace RC::LuaType
3232 return table;
3333 }
3434
35- auto TSoftClassPtr ::construct (const LuaMadeSimple::Lua& lua, BaseObject& construct_to) -> const LuaMadeSimple::Lua::Table
35+ auto TSoftObjectPtr ::construct (const LuaMadeSimple::Lua& lua, BaseObject& construct_to) -> const LuaMadeSimple::Lua::Table
3636 {
3737 LuaMadeSimple::Lua::Table table = lua.prepare_new_table ();
3838 ;
3939
40- auto metatable_name = " TSoftClassPtrUserdata " ;
40+ auto metatable_name = " TSoftObjectPtrUserdata " ;
4141
4242 setup_metamethods (construct_to);
4343 setup_member_functions<LuaMadeSimple::Type::IsFinal::No>(table, metatable_name);
4444
4545 return table;
4646 }
4747
48- auto TSoftClassPtr ::setup_metamethods (BaseObject& base_object) -> void
48+ auto TSoftObjectPtr ::setup_metamethods (BaseObject& base_object) -> void
4949 {
5050 }
5151
5252 template <LuaMadeSimple::Type::IsFinal is_final>
53- auto TSoftClassPtr ::setup_member_functions (LuaMadeSimple::Lua::Table& table, std::string_view metatable_name) -> void
53+ auto TSoftObjectPtr ::setup_member_functions (LuaMadeSimple::Lua::Table& table, std::string_view metatable_name) -> void
5454 {
55+ table.add_pair (" GetWeakPtr" , [](const LuaMadeSimple::Lua& lua) -> int {
56+ auto & lua_object = lua.get_userdata <TSoftObjectPtr>();
57+ FWeakObjectPtr::construct (lua, lua_object.get_local_cpp_object ().WeakPtr );
58+ return 1 ;
59+ });
60+
5561 table.add_pair (" GetTagAtLastTest" , [](const LuaMadeSimple::Lua& lua) -> int {
56- auto & lua_object = lua.get_userdata <TSoftClassPtr >();
62+ auto & lua_object = lua.get_userdata <TSoftObjectPtr >();
5763 lua.set_integer (lua_object.get_local_cpp_object ().TagAtLastTest );
5864 return 1 ;
5965 });
6066
6167 table.add_pair (" GetObjectID" , [](const LuaMadeSimple::Lua& lua) -> int {
62- auto & lua_object = lua.get_userdata <TSoftClassPtr >();
68+ auto & lua_object = lua.get_userdata <TSoftObjectPtr >();
6369 FSoftObjectPath::construct (lua, lua_object.get_local_cpp_object ().ObjectID );
6470 return 1 ;
6571 });
6672
6773 if constexpr (is_final == LuaMadeSimple::Type::IsFinal::Yes)
6874 {
6975 table.add_pair (" type" , [](const LuaMadeSimple::Lua& lua) -> int {
70- lua.set_string (" TSoftClassPtrUserdata " );
76+ lua.set_string (" TSoftObjectPtrUserdata " );
7177 return 1 ;
7278 });
7379
0 commit comments