Javascript.cpp 971 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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/JSFile.h"
  12. #include "../Javascript/JSComponent.h"
  13. #include "../Javascript/JSVM.h"
  14. namespace Atomic
  15. {
  16. Javascript::Javascript(Context* context) :
  17. Object(context)
  18. {
  19. RegisterJavascriptLibrary(context_);
  20. }
  21. Javascript::~Javascript()
  22. {
  23. }
  24. JSVM* Javascript::InstantiateVM(const String& name)
  25. {
  26. if (vms_.Contains(name))
  27. return NULL;
  28. JSVM* vm = new JSVM(context_);
  29. vms_[name] = vm;
  30. return vm;
  31. }
  32. void Javascript::ShutdownVM(const String& name)
  33. {
  34. vms_.Erase(name);
  35. }
  36. void RegisterJavascriptLibrary(Context* context)
  37. {
  38. JSFile::RegisterObject(context);
  39. JSComponent::RegisterObject(context);
  40. }
  41. }