BsScriptProjectSettings.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "BsScriptEditorPrerequisites.h"
  3. #include "BsScriptObject.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Interop class between C++ & CLR for ProjectSettings stored in EditorApplication.
  8. */
  9. class BS_SCR_BED_EXPORT ScriptProjectSettings : public ScriptObject <ScriptProjectSettings>
  10. {
  11. public:
  12. SCRIPT_OBJ(EDITOR_ASSEMBLY, "BansheeEditor", "ProjectSettings")
  13. private:
  14. ScriptProjectSettings(MonoObject* instance);
  15. /************************************************************************/
  16. /* CLR HOOKS */
  17. /************************************************************************/
  18. static MonoString* internal_GetLastOpenScene();
  19. static void internal_SetLastOpenScene(MonoString* value);
  20. static void internal_SetFloat(MonoString* name, float value);
  21. static void internal_SetInt(MonoString* name, int value);
  22. static void internal_SetBool(MonoString* name, bool value);
  23. static void internal_SetString(MonoString* name, MonoString* value);
  24. static float internal_GetFloat(MonoString* name, float defaultValue);
  25. static int internal_GetInt(MonoString* name, int defaultValue);
  26. static bool internal_GetBool(MonoString* name, bool defaultValue);
  27. static MonoString* internal_GetString(MonoString* name, MonoString* defaultValue);
  28. static bool internal_HasKey(MonoString* name);
  29. static void internal_DeleteKey(MonoString* name);
  30. static void internal_DeleteAllKeys();
  31. static UINT32 internal_GetHash();
  32. static void internal_Save();
  33. };
  34. }