BsScriptEnginePlugin.cpp 918 B

12345678910111213141516171819202122232425262728293031
  1. #include "BsScriptEnginePrerequisites.h"
  2. #include "BsMonoManager.h"
  3. #include "BsMonoAssembly.h"
  4. // DEBUG ONLY
  5. #include "BsRuntimeScriptObjects.h"
  6. using namespace CamelotFramework;
  7. namespace BansheeEngine
  8. {
  9. extern "C" BS_SCR_BE_EXPORT const String& getPluginName()
  10. {
  11. static String pluginName = "SBansheeEngine";
  12. return pluginName;
  13. }
  14. extern "C" BS_SCR_BE_EXPORT void* loadPlugin()
  15. {
  16. const CM::String ENGINE_ASSEMBLY_PATH = "..\\..\\Assemblies\\MBansheeEngine.dll";
  17. const CM::String ENGINE_ASSEMBLY_NAME = BansheeEngineAssemblyName;
  18. const CM::String ASSEMBLY_ENTRY_POINT = "Program::Main";
  19. MonoManager::instance().loadAssembly(ENGINE_ASSEMBLY_PATH, ENGINE_ASSEMBLY_NAME, ASSEMBLY_ENTRY_POINT);
  20. RuntimeScriptObjects::startUp(cm_new<RuntimeScriptObjects>());
  21. RuntimeScriptObjects::instance().refreshScriptObjects(BansheeEngineAssemblyName);
  22. return nullptr;
  23. }
  24. }