| 2154 | } |
| 2155 | |
| 2156 | void MCore::ScriptingObject::SetInternalValues(MClass* klass, MObject* object, void* unmanagedPtr, const Guid* id) |
| 2157 | { |
| 2158 | // Set handle to unmanaged object |
| 2159 | const MField* monoUnmanagedPtrField = klass->GetField("__unmanagedPtr"); |
| 2160 | if (monoUnmanagedPtrField) |
| 2161 | { |
| 2162 | const void* param = unmanagedPtr; |
| 2163 | monoUnmanagedPtrField->SetValue(managedInstance, ¶m); |
| 2164 | } |
| 2165 | if (id != nullptr) |
| 2166 | { |
| 2167 | // Set object id |
| 2168 | const MField* monoIdField = klass->GetField("__internalId"); |
| 2169 | if (monoIdField) |
| 2170 | { |
| 2171 | monoIdField->SetValue(managedInstance, (void*)id); |
| 2172 | } |
| 2173 | } |
| 2174 | } |
| 2175 | |
| 2176 | MObject* MCore::ScriptingObject::CreateScriptingObject(MClass* klass, void* unmanagedPtr, const Guid* id) |
| 2177 | { |