void ScriptResourceDragDropData::internal_CreateInstance(MonoObject* managedInstance, MonoArray* monoPaths) { ScriptArray pathsArray = ScriptArray(monoPaths); Vector<Path> paths(pathsArray.size()); for (UINT32 i = 0; i < pathsArray.size(); i++) { MonoString* monoPath = pathsArray.get<MonoString*>(i); paths[i] = MonoUtil::monoToWString(monoPath); } new (bs_alloc<ScriptResourceDragDropData>()) ScriptResourceDragDropData(managedInstance, paths); }
void ScriptSceneObjectDragDropData::internal_CreateInstance(MonoObject* managedInstance, MonoArray* objects) { ScriptArray objectsArray = ScriptArray(objects); Vector<HSceneObject> sceneObjects(objectsArray.size()); for (UINT32 i = 0; i < objectsArray.size(); i++) { ScriptSceneObject* scriptSO = ScriptSceneObject::toNative(objectsArray.get<MonoObject*>(i)); if (scriptSO != nullptr) sceneObjects[i] = scriptSO->getNativeSceneObject(); } new (bs_alloc<ScriptSceneObjectDragDropData>()) ScriptSceneObjectDragDropData(managedInstance, sceneObjects); }