* Generic closure to copy a UScriptStruct */
| 1700 | * Generic closure to copy a UScriptStruct |
| 1701 | */ |
| 1702 | int32 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 | /** |
nothing calls this directly
no test coverage detected