Skip to content

Commit

Permalink
[unity]删除unityExports.CreateJSArrayBuffer,使用pesapi_create_binary
Browse files Browse the repository at this point in the history
  • Loading branch information
chexiongsheng committed Sep 29, 2024
1 parent 9041a06 commit d977c41
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ pesapi_value TryTranslateBuiltin(pesapi_env env, Il2CppObject* obj)
Il2CppArray* buffer;
il2cpp_field_get_value(obj, ArrayBufferBytesField, &buffer);

return g_unityExports.CreateJSArrayBuffer(env, Array::GetFirstElementAddress(buffer), (size_t) length);
return pesapi_create_binary(env, Array::GetFirstElementAddress(buffer), (size_t)length);
}
}
return nullptr;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ typedef void TypeIdType;

typedef void (*SetNativePtrFunc)(v8::Object* obj, void* ptr, void* type_id);

typedef v8::Value* (*CreateJSArrayBufferFunc)(v8::Context* env, void* buffer, size_t length);

typedef void (*UnrefJsObjectFunc)(struct PObjectRefInfo* objectInfo);

typedef const void* (*CSharpTypeToTypeIdFunc)(const void *type);
Expand All @@ -58,8 +56,6 @@ typedef Il2CppClass TypeIdType;

typedef void (*SetNativePtrFunc)(pesapi_value obj, void* ptr, const void* type_id);

typedef pesapi_value (*CreateJSArrayBufferFunc)(pesapi_env env, void* buffer, size_t length);

typedef void (*UnrefJsObjectFunc)(struct PObjectRefInfo* delegateInfo);

typedef const void* (*CSharpTypeToTypeIdFunc)(Il2CppObject *type);
Expand Down Expand Up @@ -127,7 +123,6 @@ struct UnityExports
//plugin api

SetNativePtrFunc SetNativePtr = nullptr;
CreateJSArrayBufferFunc CreateJSArrayBuffer = nullptr;
UnrefJsObjectFunc UnrefJsObject = nullptr;
FunctionToDelegateFunc FunctionToDelegate = nullptr;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ public static void GenV2() {

[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate/xIl2cpp c file", false, 6)]
public static void GenerateCppPlugin()
{
{
var start = DateTime.Now;
#if CPP_OUTPUT_TO_NATIVE_SRC
var saveTo = Path.Combine(Application.dataPath, "core/upm/Plugins/puerts_il2cpp/");
#elif PUERTS_CPP_OUTPUT_TO_NATIVE_SRC_UPM
Expand All @@ -45,6 +46,7 @@ public static void GenerateCppPlugin()
Directory.CreateDirectory(saveTo);
FileExporter.CopyXIl2cppCPlugin(saveTo);
FileExporter.GenMarcoHeader(saveTo);
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
}

[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate/xIl2cpp wrapper bridge", false, 6)]
Expand Down
9 changes: 0 additions & 9 deletions unity/native_src_il2cpp/Src/Puerts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -123,14 +123,6 @@ static void SetNativePtr(v8::Object* obj, void* ptr, void* type_id)
DataTransfer::SetPointer(obj, type_id, 1);
}

static v8::Value* CreateJSArrayBuffer(v8::Context* context, void* Ptr, size_t Size)
{
v8::Local<v8::ArrayBuffer> Ab = v8::ArrayBuffer::New(context->GetIsolate(), Size);
void* Buff = Ab->GetBackingStore()->Data();
::memcpy(Buff, Ptr, Size);
return *Ab;
}

static void* _GetRuntimeObjectFromPersistentObject(v8::Local<v8::Context> Context, v8::Local<v8::Object> Obj)
{
auto Isolate = Context->GetIsolate();
Expand Down Expand Up @@ -723,7 +715,6 @@ V8_EXPORT bool RegisterCSharpType(puerts::JsClassInfo* classInfo)
V8_EXPORT void ExchangeAPI(puerts::UnityExports * exports)
{
exports->SetNativePtr = &puerts::SetNativePtr;
exports->CreateJSArrayBuffer = &puerts::CreateJSArrayBuffer;
exports->SetExtraData = &puerts::SetExtraData;
exports->UnrefJsObject = &puerts::UnrefJsObject;
exports->FunctionToDelegate = &puerts::FunctionToDelegate_pesapi;
Expand Down

0 comments on commit d977c41

Please sign in to comment.