* Generic closure to copy a UScriptStruct */
| 1730 | * Generic closure to copy a UScriptStruct |
| 1731 | */ |
| 1732 | int32 ScriptStruct_Copy(lua_State *L) |
| 1733 | { |
| 1734 | FClassDesc *ClassDesc = ScriptStruct_CheckParam(L); |
| 1735 | if (!ClassDesc) |
| 1736 | { |
| 1737 | return 0; |
| 1738 | } |
| 1739 | |
| 1740 | UScriptStruct *ScriptStruct = ClassDesc->AsScriptStruct(); |
| 1741 | |
| 1742 | void *Src = GetCppInstanceFast(L, 1); |
| 1743 | void *Userdata = nullptr; |
| 1744 | if (lua_gettop(L) > 1) |
| 1745 | { |
| 1746 | Userdata = GetCppInstanceFast(L, 2); |
| 1747 | lua_pushvalue(L, 2); |
| 1748 | } |
| 1749 | else |
| 1750 | { |
| 1751 | Userdata = NewUserdataWithPadding(L, ClassDesc->GetSize(), TCHAR_TO_UTF8(*ClassDesc->GetName()), ClassDesc->GetUserdataPadding()); |
| 1752 | ScriptStruct->InitializeStruct(Userdata); |
| 1753 | } |
| 1754 | ScriptStruct->CopyScriptStruct(Userdata, Src); |
| 1755 | return 1; |
| 1756 | } |
| 1757 | |
| 1758 | /** |
| 1759 | * Generic closure to compare two UScriptStructs |
nothing calls this directly
no test coverage detected