#include "BsScriptEditorSettings.h" #include "BsMonoManager.h" #include "BsMonoClass.h" #include "BsMonoMethod.h" #include "BsMonoUtil.h" #include "BsEditorApplication.h" #include "BsEditorSettings.h" namespace BansheeEngine { ScriptEditorSettings::ScriptEditorSettings(MonoObject* instance) :ScriptObject(instance) { } void ScriptEditorSettings::initRuntimeData() { metaData.scriptClass->addInternalCall("Internal_GetMoveHandleSnapActive", &ScriptEditorSettings::internal_GetMoveHandleSnapActive); metaData.scriptClass->addInternalCall("Internal_SetMoveHandleSnapActive", &ScriptEditorSettings::internal_SetMoveHandleSnapActive); metaData.scriptClass->addInternalCall("Internal_GetRotateHandleSnapActive", &ScriptEditorSettings::internal_GetRotateHandleSnapActive); metaData.scriptClass->addInternalCall("Internal_SetRotateHandleSnapActive", &ScriptEditorSettings::internal_SetRotateHandleSnapActive); metaData.scriptClass->addInternalCall("Internal_GetMoveHandleSnapAmount", &ScriptEditorSettings::internal_GetMoveHandleSnapAmount); metaData.scriptClass->addInternalCall("Internal_SetMoveHandleSnapAmount", &ScriptEditorSettings::internal_SetMoveHandleSnapAmount); metaData.scriptClass->addInternalCall("Internal_GetRotateHandleSnapAmount", &ScriptEditorSettings::internal_GetRotateHandleSnapAmount); metaData.scriptClass->addInternalCall("Internal_SetRotateHandleSnapAmount", &ScriptEditorSettings::internal_SetRotateHandleSnapAmount); metaData.scriptClass->addInternalCall("Internal_GetDefaultHandleSize", &ScriptEditorSettings::internal_GetDefaultHandleSize); metaData.scriptClass->addInternalCall("Internal_SetDefaultHandleSize", &ScriptEditorSettings::internal_SetDefaultHandleSize); metaData.scriptClass->addInternalCall("Internal_GetActiveSceneTool", &ScriptEditorSettings::internal_GetActiveSceneTool); metaData.scriptClass->addInternalCall("Internal_SetActiveSceneTool", &ScriptEditorSettings::internal_SetActiveSceneTool); metaData.scriptClass->addInternalCall("Internal_GetActiveCoordinateMode", &ScriptEditorSettings::internal_GetActiveCoordinateMode); metaData.scriptClass->addInternalCall("Internal_SetActiveCoordinateMode", &ScriptEditorSettings::internal_SetActiveCoordinateMode); metaData.scriptClass->addInternalCall("Internal_GetActivePivotMode", &ScriptEditorSettings::internal_GetActivePivotMode); metaData.scriptClass->addInternalCall("Internal_SetActivePivotMode", &ScriptEditorSettings::internal_SetActivePivotMode); metaData.scriptClass->addInternalCall("Internal_SetFloat", &ScriptEditorSettings::internal_SetFloat); metaData.scriptClass->addInternalCall("Internal_SetInt", &ScriptEditorSettings::internal_SetInt); metaData.scriptClass->addInternalCall("Internal_SetBool", &ScriptEditorSettings::internal_SetBool); metaData.scriptClass->addInternalCall("Internal_SetString", &ScriptEditorSettings::internal_SetString); metaData.scriptClass->addInternalCall("Internal_GetFloat", &ScriptEditorSettings::internal_GetFloat); metaData.scriptClass->addInternalCall("Internal_GetInt", &ScriptEditorSettings::internal_GetInt); metaData.scriptClass->addInternalCall("Internal_GetBool", &ScriptEditorSettings::internal_GetBool); metaData.scriptClass->addInternalCall("Internal_GetString", &ScriptEditorSettings::internal_GetString); metaData.scriptClass->addInternalCall("Internal_HasKey", &ScriptEditorSettings::internal_HasKey); metaData.scriptClass->addInternalCall("Internal_DeleteKey", &ScriptEditorSettings::internal_DeleteKey); metaData.scriptClass->addInternalCall("Internal_DeleteAllKeys", &ScriptEditorSettings::internal_DeleteAllKeys); metaData.scriptClass->addInternalCall("Internal_GetHash", &ScriptEditorSettings::internal_GetHash); } bool ScriptEditorSettings::internal_GetMoveHandleSnapActive() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getMoveHandleSnapActive(); } void ScriptEditorSettings::internal_SetMoveHandleSnapActive(bool value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setMoveHandleSnapActive(value); } bool ScriptEditorSettings::internal_GetRotateHandleSnapActive() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getRotateHandleSnapActive(); } void ScriptEditorSettings::internal_SetRotateHandleSnapActive(bool value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setRotateHandleSnapActive(value); } float ScriptEditorSettings::internal_GetMoveHandleSnapAmount() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getMoveHandleSnap(); } void ScriptEditorSettings::internal_SetMoveHandleSnapAmount(float value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setMoveHandleSnap(value); } float ScriptEditorSettings::internal_GetRotateHandleSnapAmount() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getRotationHandleSnap().valueDegrees(); } void ScriptEditorSettings::internal_SetRotateHandleSnapAmount(float value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setRotationHandleSnap(Degree(value)); } float ScriptEditorSettings::internal_GetDefaultHandleSize() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getHandleSize(); } void ScriptEditorSettings::internal_SetDefaultHandleSize(float value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setHandleSize(value); } UINT32 ScriptEditorSettings::internal_GetActiveSceneTool() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getActiveSceneTool(); } void ScriptEditorSettings::internal_SetActiveSceneTool(UINT32 value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setActiveSceneTool(value); } UINT32 ScriptEditorSettings::internal_GetActiveCoordinateMode() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getActiveCoordinateMode(); } void ScriptEditorSettings::internal_SetActiveCoordinateMode(UINT32 value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setActiveCoordinateMode(value); } UINT32 ScriptEditorSettings::internal_GetActivePivotMode() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getActivePivotMode(); } void ScriptEditorSettings::internal_SetActivePivotMode(UINT32 value) { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setActivePivotMode(value); } void ScriptEditorSettings::internal_SetFloat(MonoString* name, float value) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setFloat(nativeName, value); } void ScriptEditorSettings::internal_SetInt(MonoString* name, int value) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setInt(nativeName, value); } void ScriptEditorSettings::internal_SetBool(MonoString* name, bool value) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setBool(nativeName, value); } void ScriptEditorSettings::internal_SetString(MonoString* name, MonoString* value) { String nativeName = MonoUtil::monoToString(name); WString nativeValue = MonoUtil::monoToWString(value); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->setString(nativeName, nativeValue); } float ScriptEditorSettings::internal_GetFloat(MonoString* name, float defaultValue) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getFloat(nativeName); } int ScriptEditorSettings::internal_GetInt(MonoString* name, int defaultValue) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getInt(nativeName); } bool ScriptEditorSettings::internal_GetBool(MonoString* name, bool defaultValue) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getBool(nativeName); } MonoString* ScriptEditorSettings::internal_GetString(MonoString* name, MonoString* defaultValue) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); WString nativeValue = settings->getString(nativeName); return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), nativeValue); } bool ScriptEditorSettings::internal_HasKey(MonoString* name) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->hasKey(nativeName); } void ScriptEditorSettings::internal_DeleteKey(MonoString* name) { String nativeName = MonoUtil::monoToString(name); EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->deleteKey(nativeName); } void ScriptEditorSettings::internal_DeleteAllKeys() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); settings->deleteAllKeys(); } UINT32 ScriptEditorSettings::internal_GetHash() { EditorSettingsPtr settings = gEditorApplication().getEditorSettings(); return settings->getHash(); } }