BsScriptHString.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsScriptEnginePrerequisites.h"
  5. #include "BsScriptObject.h"
  6. #include "BsHString.h"
  7. namespace BansheeEngine
  8. {
  9. /**
  10. * @brief Interop class between C++ & CLR for HString.
  11. */
  12. class BS_SCR_BE_EXPORT ScriptHString : public ScriptObject<ScriptHString>
  13. {
  14. public:
  15. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "LocString")
  16. /**
  17. * @brief Returns the wrapped native HString.
  18. */
  19. const HString& getInternalValue() const { return mString; }
  20. private:
  21. ScriptHString(MonoObject* instance, const HString& string);
  22. HString mString;
  23. /************************************************************************/
  24. /* CLR HOOKS */
  25. /************************************************************************/
  26. static void internal_createInstance(MonoObject* instance, MonoString* identifier, UINT32 tableId);
  27. static void internal_setParameter(ScriptHString* nativeInstance, UINT32 idx, MonoString* value);
  28. static void internal_getValue(ScriptHString* nativeInstance, MonoString** value);
  29. };
  30. }