ScriptManager.h 804 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright (C) 2014, Panagiotis Christopoulos Charitos.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #ifndef ANKI_SCRIPT_SCRIPT_MANAGER_H
  6. #define ANKI_SCRIPT_SCRIPT_MANAGER_H
  7. #include "anki/script/LuaBinder.h"
  8. namespace anki {
  9. // Forward
  10. class SceneGraph;
  11. /// @addtogroup script
  12. /// @{
  13. /// The scripting manager
  14. class ScriptManager
  15. {
  16. public:
  17. ScriptManager();
  18. ~ScriptManager();
  19. /// Create the script manager.
  20. ANKI_USE_RESULT Error create(
  21. AllocAlignedCallback allocCb,
  22. void* allocCbData,
  23. SceneGraph* scene);
  24. /// @privatesection
  25. /// @{
  26. SceneGraph& _getSceneGraph()
  27. {
  28. return *m_scene;
  29. }
  30. /// @}
  31. public:
  32. SceneGraph* m_scene = nullptr;
  33. ChainAllocator<U8> m_alloc;
  34. LuaBinder m_lua;
  35. };
  36. /// @}
  37. } // end namespace anki
  38. #endif