void jsapi_init_toolcore(JSVM* vm) { duk_context* ctx = vm->GetJSContext(); jsb_package_toolcore_init(vm); duk_get_global_string(ctx, "ToolCore"); duk_push_c_function(ctx, js_atomic_GetToolEnvironment, 0); duk_put_prop_string(ctx, -2, "getToolEnvironment"); js_push_class_object_instance(ctx, vm->GetSubsystem<ToolEnvironment>(), "ToolEnvironment"); duk_put_prop_string(ctx, -2, "toolEnvironment"); duk_push_c_function(ctx, js_atomic_GetToolSystem, 0); duk_put_prop_string(ctx, -2, "getToolSystem"); js_push_class_object_instance(ctx, vm->GetSubsystem<ToolSystem>(), "ToolSystem"); duk_put_prop_string(ctx, -2, "toolSystem"); js_push_class_object_instance(ctx, vm->GetSubsystem<BuildSystem>(), "BuildSystem"); duk_put_prop_string(ctx, -2, "buildSystem"); duk_push_c_function(ctx, js_atomic_GetLicenseSystem, 0); duk_put_prop_string(ctx, -2, "getLicenseSystem"); js_push_class_object_instance(ctx, vm->GetSubsystem<LicenseSystem>(), "LicenseSystem"); duk_put_prop_string(ctx, -2, "licenseSystem"); duk_push_c_function(ctx, js_atomic_GetAssetDatabase, 0); duk_put_prop_string(ctx, -2, "getAssetDatabase"); js_push_class_object_instance(ctx, vm->GetSubsystem<AssetDatabase>(), "AssetDatabase"); duk_put_prop_string(ctx, -2, "assetDatabase"); duk_pop(ctx); js_class_get_prototype(ctx, "ToolCore", "AssetDatabase"); duk_push_c_function(ctx, AssetDatabase_GetFolderAssets, 1); duk_put_prop_string(ctx, -2, "getFolderAssets"); duk_push_c_function(ctx, AssetDatabase_GetAssetsByImporterType, 2); duk_put_prop_string(ctx, -2, "getAssetsByImporterType"); duk_pop(ctx); js_class_get_prototype(ctx, "ToolCore", "ModelImporter"); duk_push_c_function(ctx, ModelImporter_GetAnimations, 0); duk_put_prop_string(ctx, -2, "getAnimations"); duk_pop(ctx); }
void jsapi_init_toolcore(JSVM* vm) { duk_context* ctx = vm->GetJSContext(); duk_push_object(ctx); duk_put_global_string(ctx, "ToolCore"); jsb_package_toolcore_init(vm); duk_get_global_string(ctx, "ToolCore"); duk_push_c_function(ctx, js_atomic_GetToolEnvironment, 0); duk_put_prop_string(ctx, -2, "getToolEnvironment"); duk_push_c_function(ctx, js_atomic_GetToolSystem, 0); duk_put_prop_string(ctx, -2, "getToolSystem"); duk_pop(ctx); }