BsMenuItemManager.h 731 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include "BsScriptEditorPrerequisites.h"
  3. #include "BsModule.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_SCR_BED_EXPORT MenuItemManager : public Module<MenuItemManager>
  7. {
  8. public:
  9. MenuItemManager(ScriptAssemblyManager& scriptObjectManager);
  10. ~MenuItemManager();
  11. private:
  12. void clearMenuItems();
  13. void reloadAssemblyData();
  14. bool parseMenuItemMethod(MonoMethod* method, WString& path, ShortcutKey& shortcut, INT32& priority) const;
  15. static void menuItemCallback(MonoMethod* method);
  16. ScriptAssemblyManager& mScriptObjectManager;
  17. HEvent mDomainLoadedConn;
  18. MonoClass* mMenuItemAttribute;
  19. MonoField* mPathField;
  20. MonoField* mShortcutField;
  21. MonoField* mPriorityField;
  22. Vector<WString> mMenuItems;
  23. };
  24. }