Javascript.cpp 1.0 KB

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