MCPcopy Create free account
hub / github.com/Tencent/UnLua / ScriptStruct_CopyFrom

Function ScriptStruct_CopyFrom

Plugins/UnLua/Source/UnLua/Private/LuaCore.cpp:1702–1726  ·  view source on GitHub ↗

* Generic closure to copy a UScriptStruct */

Source from the content-addressed store, hash-verified

1700 * Generic closure to copy a UScriptStruct
1701 */
1702int32 ScriptStruct_CopyFrom(lua_State *L)
1703{
1704 FClassDesc *ClassDesc = ScriptStruct_CheckParam(L);
1705 if (!ClassDesc)
1706 {
1707 return 0;
1708 }
1709
1710 UScriptStruct *ScriptStruct = ClassDesc->AsScriptStruct();
1711
1712 void *Src = GetCppInstanceFast(L, 1);
1713 void *Userdata = nullptr;
1714 if (lua_gettop(L) > 1)
1715 {
1716 Userdata = GetCppInstanceFast(L, 2);
1717 lua_pushvalue(L, 2);
1718 }
1719 else
1720 {
1721 Userdata = NewUserdataWithPadding(L, ClassDesc->GetSize(), TCHAR_TO_UTF8(*ClassDesc->GetName()), ClassDesc->GetUserdataPadding());
1722 ScriptStruct->InitializeStruct(Userdata);
1723 }
1724 ScriptStruct->CopyScriptStruct(Src,Userdata);
1725 return 1;
1726}
1727
1728
1729/**

Callers

nothing calls this directly

Calls 9

ScriptStruct_CheckParamFunction · 0.85
GetCppInstanceFastFunction · 0.85
lua_gettopFunction · 0.85
lua_pushvalueFunction · 0.85
NewUserdataWithPaddingFunction · 0.85
AsScriptStructMethod · 0.80
GetUserdataPaddingMethod · 0.80
GetSizeMethod · 0.45
GetNameMethod · 0.45

Tested by

no test coverage detected