#include // Roblox headers #include "v8datamodel/StudioPluginHost.h" class RobloxPluginHost : public RBX::IStudioPluginHost { public: RobloxPluginHost(const std::string& location); RobloxPluginHost() {} virtual ~RobloxPluginHost() {} virtual void setNotifier(RBX::IHostNotifier *notifier) {} std::string getSpecificPluginFolderLocation(); void readPluginSettings(boost::shared_ptr& settings); void writePluginSettings(const boost::shared_ptr& settings); virtual void *createToolbar(const std::string& name) { return NULL; } virtual void *createButton(void *tbId, const std::string& text, const std::string& tooltip, const std::string& iconFilePath) { return NULL; } virtual void setButtonActive(void *bId, bool active) {} virtual void setButtonIcon_deprecated(void *buttonId, const std::string& iconFilePath) {} virtual void setButtonIcon(void* butonId, const std::string& iconImage) {} virtual void buttonIconFailedToLoad(void* buttonId) {} virtual void hideToolbars(const std::vector &toolbars, bool hide) {} virtual void disableToolbars(const std::vector &toolbars, bool hide) {} virtual void deleteToolbars(const std::vector &toolbars) {} virtual void setSetting(int assetId, const std::string& key, const RBX::Reflection::Variant& value); virtual void getSetting(int assetId, const std::string& key, RBX::Reflection::Variant* result); virtual bool getLoggedInUserId(int* userIdOut) { return false; } virtual void uiAction(std::string uiActionName) {} virtual void openScriptDoc(shared_ptr script, int lineNumber) {} virtual void exportPlace(std::string filePath, RBX::ExporterSaveType exportType) {} virtual void openWikiPage(const std::string& url) {} virtual shared_ptr csgUnion( shared_ptr instances, RBX::DataModel* dataModel) { return shared_ptr(); } virtual shared_ptr csgNegate( shared_ptr instances, RBX::DataModel* dataModel) { return shared_ptr(); } virtual shared_ptr csgSeparate( shared_ptr instances, RBX::DataModel* dataModel) { return shared_ptr(); } virtual void promptForExistingAssetId(const std::string& assetType, boost::function resumeFunction, boost::function errorFunction) {} private: std::string m_modelPluginsDir; };