Javascript.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 "Precompiled.h"
  5. #include "../Core/CoreEvents.h"
  6. #include "../Engine/EngineEvents.h"
  7. #include "../IO/File.h"
  8. #include "../IO/Log.h"
  9. #include "../Core/ProcessUtils.h"
  10. #include "../Core/Profiler.h"
  11. #include "../Resource/ResourceCache.h"
  12. #include "../Scene/Scene.h"
  13. #include "../Javascript/Javascript.h"
  14. #include "../Javascript/JSComponent.h"
  15. #include "../Javascript/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. JSComponent::RegisterObject(context);
  41. }
  42. }