Javascript.cpp 900 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "Precompiled.h"
  2. #include "../Core/CoreEvents.h"
  3. #include "../Engine/EngineEvents.h"
  4. #include "../IO/File.h"
  5. #include "../IO/Log.h"
  6. #include "../Core/ProcessUtils.h"
  7. #include "../Core/Profiler.h"
  8. #include "../Resource/ResourceCache.h"
  9. #include "../Scene/Scene.h"
  10. #include "../Javascript/Javascript.h"
  11. #include "../Javascript/JSComponent.h"
  12. #include "../Javascript/JSVM.h"
  13. namespace Atomic
  14. {
  15. Javascript::Javascript(Context* context) :
  16. Object(context)
  17. {
  18. RegisterJavascriptLibrary(context_);
  19. }
  20. Javascript::~Javascript()
  21. {
  22. }
  23. JSVM* Javascript::InstantiateVM(const String& name)
  24. {
  25. if (vms_.Contains(name))
  26. return NULL;
  27. JSVM* vm = new JSVM(context_);
  28. vms_[name] = vm;
  29. return vm;
  30. }
  31. void Javascript::ShutdownVM(const String& name)
  32. {
  33. vms_.Erase(name);
  34. }
  35. void RegisterJavascriptLibrary(Context* context)
  36. {
  37. JSComponent::RegisterObject(context);
  38. }
  39. }