ToolCoreJS.cpp 697 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include <AtomicJS/Javascript/JSVM.h>
  2. #include <ToolCore/ToolEnvironment.h>
  3. using namespace Atomic;
  4. namespace Atomic
  5. {
  6. extern void jsb_package_toolcore_init(JSVM* vm);
  7. }
  8. namespace ToolCore
  9. {
  10. static int js_atomic_GetToolEnvironment(duk_context* ctx)
  11. {
  12. JSVM* vm = JSVM::GetJSVM(ctx);
  13. js_push_class_object_instance(ctx, vm->GetSubsystem<ToolEnvironment>());
  14. return 1;
  15. }
  16. void jsapi_init_toolcore(JSVM* vm)
  17. {
  18. jsb_package_toolcore_init(vm);
  19. duk_context* ctx = vm->GetJSContext();
  20. duk_get_global_string(ctx, "Atomic");
  21. duk_push_c_function(ctx, js_atomic_GetToolEnvironment, 0);
  22. duk_put_prop_string(ctx, -2, "getToolEnvironment");
  23. duk_pop(ctx);
  24. }
  25. }