| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #include "BsScriptGUIContent.h"
- #include "BsScriptMeta.h"
- #include "BsMonoField.h"
- #include "BsMonoClass.h"
- #include "BsMonoManager.h"
- #include "BsMonoUtil.h"
- #include "BsScriptHString.h"
- #include "BsScriptGUIContent.h"
- #include "BsScriptSpriteTexture.h"
- #include "BsSpriteTexture.h"
- using namespace CamelotFramework;
- namespace BansheeEngine
- {
- MonoField* ScriptGUIContent::mTextField;
- MonoField* ScriptGUIContent::mTooltipField;
- MonoField* ScriptGUIContent::mImageField;
- void ScriptGUIContent::initMetaData()
- {
- metaData = ScriptMeta("MBansheeEngine", "BansheeEngine", "GUIContent", &ScriptGUIContent::initRuntimeData);
- MonoManager::registerScriptType(&metaData);
- }
- void ScriptGUIContent::initRuntimeData()
- {
- mTextField = &metaData.scriptClass->getField("_text");
- mTooltipField = &metaData.scriptClass->getField("_tooltip");
- mImageField = &metaData.scriptClass->getField("_image");
- }
- const CM::HString& ScriptGUIContent::getText(MonoObject* instance)
- {
- MonoObject* textManaged = (MonoObject*)mTextField->getValue(instance);
- if(textManaged == nullptr)
- return HString::dummy();
- ScriptHString* textScript = ScriptHString::toNative(textManaged);
- return textScript->getInternalValue();
- }
- const CM::HString& ScriptGUIContent::getTooltip(MonoObject* instance)
- {
- MonoObject* tooltipManaged = (MonoObject*)mTooltipField->getValue(instance);
- if(tooltipManaged == nullptr)
- return HString::dummy();
- ScriptHString* tooltipScript = ScriptHString::toNative(tooltipManaged);
- return tooltipScript->getInternalValue();
- }
- HSpriteTexture ScriptGUIContent::getImage(MonoObject* instance)
- {
- MonoObject* imageManaged = (MonoObject*)mImageField->getValue(instance);
- if(imageManaged == nullptr)
- return HSpriteTexture();
- ScriptSpriteTexture* imageScript = ScriptSpriteTexture::toNative(imageManaged);
- return imageScript->getInternalValue();
- }
- }
|