Javascript.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. #include <Atomic/Core/CoreEvents.h>
  5. #include <Atomic/Engine/EngineEvents.h>
  6. #include <Atomic/IO/File.h>
  7. #include <Atomic/IO/Log.h>
  8. #include <Atomic/Core/ProcessUtils.h>
  9. #include <Atomic/Core/Profiler.h>
  10. #include <Atomic/Resource/ResourceCache.h>
  11. #include <Atomic/Scene/Scene.h>
  12. #include "Javascript.h"
  13. #include "JSComponent.h"
  14. #include "JSComponentFile.h"
  15. #include "JSVM.h"
  16. namespace Atomic
  17. {
  18. Javascript::Javascript(Context* context) :
  19. Object(context)
  20. {
  21. RegisterJavascriptLibrary(context_);
  22. }
  23. Javascript::~Javascript()
  24. {
  25. }
  26. JSVM* Javascript::InstantiateVM(const String& name)
  27. {
  28. if (vms_.Contains(name))
  29. return NULL;
  30. JSVM* vm = new JSVM(context_);
  31. vms_[name] = vm;
  32. return vm;
  33. }
  34. void Javascript::ShutdownVM(const String& name)
  35. {
  36. vms_.Erase(name);
  37. }
  38. void RegisterJavascriptLibrary(Context* context)
  39. {
  40. JSComponentFile::RegisterObject(context);
  41. JSComponent::RegisterObject(context);
  42. }
  43. }