BsScriptProjectSettings.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEditorPrerequisites.h"
  5. #include "BsScriptObject.h"
  6. namespace bs
  7. {
  8. /** @addtogroup ScriptInteropEditor
  9. * @{
  10. */
  11. /** Interop class between C++ & CLR for ProjectSettings stored in EditorApplication. */
  12. class BS_SCR_BED_EXPORT ScriptProjectSettings : public ScriptObject <ScriptProjectSettings>
  13. {
  14. public:
  15. SCRIPT_OBJ(EDITOR_ASSEMBLY, EDITOR_NS, "ProjectSettings")
  16. private:
  17. ScriptProjectSettings(MonoObject* instance);
  18. /************************************************************************/
  19. /* CLR HOOKS */
  20. /************************************************************************/
  21. static MonoString* internal_GetLastOpenScene();
  22. static void internal_SetLastOpenScene(MonoString* value);
  23. static void internal_SetFloat(MonoString* name, float value);
  24. static void internal_SetInt(MonoString* name, int value);
  25. static void internal_SetBool(MonoString* name, bool value);
  26. static void internal_SetString(MonoString* name, MonoString* value);
  27. static void internal_SetObject(MonoString* name, MonoObject* value);
  28. static float internal_GetFloat(MonoString* name, float defaultValue);
  29. static int internal_GetInt(MonoString* name, int defaultValue);
  30. static bool internal_GetBool(MonoString* name, bool defaultValue);
  31. static MonoString* internal_GetString(MonoString* name, MonoString* defaultValue);
  32. static MonoObject* internal_GetObject(MonoString* name);
  33. static bool internal_HasKey(MonoString* name);
  34. static void internal_DeleteKey(MonoString* name);
  35. static void internal_DeleteAllKeys();
  36. static UINT32 internal_GetHash();
  37. static void internal_Save();
  38. };
  39. /** @} */
  40. }