| 123456789101112131415161718192021222324252627282930313233343536373839 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "Wrappers/BsScriptHString.h"
- #include "BsScriptMeta.h"
- #include "BsMonoField.h"
- #include "BsMonoClass.h"
- #include "BsMonoManager.h"
- #include "BsMonoUtil.h"
- namespace bs
- {
- ScriptHString::ScriptHString(MonoObject* instance, const HString& string)
- :ScriptObject(instance), mString(string)
- { }
- void ScriptHString::initRuntimeData()
- {
- metaData.scriptClass->addInternalCall("Internal_CreateInstance", (void*)&ScriptHString::internal_createInstance);
- metaData.scriptClass->addInternalCall("Internal_SetParameter", (void*)&ScriptHString::internal_setParameter);
- metaData.scriptClass->addInternalCall("Internal_GetValue", (void*)&ScriptHString::internal_getValue);
- }
- void ScriptHString::internal_createInstance(MonoObject* instance, MonoString* identifier, UINT32 tableId)
- {
- HString string(MonoUtil::monoToString(identifier), tableId);
-
- new (bs_alloc<ScriptHString>()) ScriptHString(instance, string);
- }
- void ScriptHString::internal_setParameter(ScriptHString* nativeInstance, UINT32 idx, MonoString* value)
- {
- nativeInstance->mString.setParameter(idx, MonoUtil::monoToString(value));
- }
- void ScriptHString::internal_getValue(ScriptHString* nativeInstance, MonoString** value)
- {
- MonoUtil::referenceCopy(value, (MonoObject*)MonoUtil::stringToMono(nativeInstance->mString.getValue()));
- }
- }
|