CmScriptManager.h 653 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmModule.h"
  4. #include <mono/jit/jit.h>
  5. namespace CamelotFramework
  6. {
  7. /**
  8. * @brief Loads Mono script assemblies and manages script objects.
  9. */
  10. class CM_EXPORT ScriptManager : public Module<ScriptManager>
  11. {
  12. public:
  13. ScriptManager();
  14. ~ScriptManager();
  15. ScriptAssembly& loadAssembly(const String& name);
  16. MonoDomain* getDomain() const { return mDomain; }
  17. private:
  18. static const String DOMAIN_NAME;
  19. static const String MONO_LIB_DIR;
  20. static const String MONO_ETC_DIR;
  21. MonoDomain* mDomain;
  22. UnorderedMap<String, ScriptAssembly*>::type mAssemblies;
  23. };
  24. }