void ScriptGUIToggleField::internal_createInstance(MonoObject* instance, MonoObject* title, UINT32 titleWidth, MonoString* style, MonoArray* guiOptions, bool withTitle) { GUIOptions options; ScriptArray scriptArray(guiOptions); UINT32 arrayLen = scriptArray.size(); for (UINT32 i = 0; i < arrayLen; i++) options.addOption(scriptArray.get<GUIOption>(i)); String styleName = toString(MonoUtil::monoToWString(style)); GUIToggleField* guiField = nullptr; if (withTitle) { GUIContent nativeContent(ScriptGUIContent::getText(title), ScriptGUIContent::getImage(title), ScriptGUIContent::getTooltip(title)); guiField = GUIToggleField::create(nativeContent, titleWidth, options, styleName); } else { guiField = GUIToggleField::create(options, styleName); } guiField->onValueChanged.connect(std::bind(&ScriptGUIToggleField::onChanged, instance, _1)); new (bs_alloc<ScriptGUIToggleField>()) ScriptGUIToggleField(instance, guiField); }
void ScriptGUILabel::internal_setContent(ScriptGUILabel* nativeInstance, MonoObject* content) { GUIContent nativeContent(ScriptGUIContent::getText(content), ScriptGUIContent::getImage(content), ScriptGUIContent::getTooltip(content)); GUILabel* label = (GUILabel*)nativeInstance->getGUIElement(); label->setContent(nativeContent); }
void ScriptGUIToggle::internal_setContent(ScriptGUIToggle* nativeInstance, MonoObject* content) { GUIContent nativeContent(ScriptGUIContent::getText(content), ScriptGUIContent::getImage(content), ScriptGUIContent::getTooltip(content)); GUIToggle* toggle = (GUIToggle*)nativeInstance->getGUIElement(); toggle->setContent(nativeContent); }
void ScriptGUIToggle::internal_createInstance(MonoObject* instance, MonoObject* content, MonoObject* monoToggleGroup, MonoString* style, MonoArray* guiOptions) { GUIOptions options; ScriptArray scriptArray(guiOptions); UINT32 arrayLen = scriptArray.size(); for (UINT32 i = 0; i < arrayLen; i++) options.addOption(scriptArray.get<GUIOption>(i)); ScriptGUIToggleGroup* scriptToggleGroup = nullptr; SPtr<GUIToggleGroup> toggleGroup; if (monoToggleGroup != nullptr) { scriptToggleGroup = ScriptGUIToggleGroup::toNative(monoToggleGroup); toggleGroup = scriptToggleGroup->getInternalValue(); } GUIContent nativeContent(ScriptGUIContent::getText(content), ScriptGUIContent::getImage(content), ScriptGUIContent::getTooltip(content)); GUIToggle* guiToggle = GUIToggle::create(nativeContent, toggleGroup, options, toString(MonoUtil::monoToWString(style))); guiToggle->onClick.connect(std::bind(&ScriptGUIToggle::onClick, instance)); guiToggle->onHover.connect(std::bind(&ScriptGUIToggle::onHover, instance)); guiToggle->onOut.connect(std::bind(&ScriptGUIToggle::onOut, instance)); guiToggle->onToggled.connect(std::bind(&ScriptGUIToggle::onToggled, instance, std::placeholders::_1)); guiToggle->onDoubleClick.connect(std::bind(&ScriptGUIToggle::onDoubleClick, instance)); new (bs_alloc<ScriptGUIToggle>()) ScriptGUIToggle(instance, guiToggle); }
void ScriptGUILabel::internal_createInstance(MonoObject* instance, MonoObject* content, MonoString* style, MonoArray* guiOptions) { GUIOptions options; ScriptArray scriptArray(guiOptions); UINT32 arrayLen = scriptArray.size(); for (UINT32 i = 0; i < arrayLen; i++) options.addOption(scriptArray.get<GUIOption>(i)); GUIContent nativeContent(ScriptGUIContent::getText(content), ScriptGUIContent::getImage(content), ScriptGUIContent::getTooltip(content)); GUILabel* guiLabel = GUILabel::create(nativeContent, options, toString(MonoUtil::monoToWString(style))); new (bs_alloc<ScriptGUILabel>()) ScriptGUILabel(instance, guiLabel); }