|
@@ -24,6 +24,7 @@ namespace BansheeEngine
|
|
|
ScriptGUIToggle::OnHoverThunkDef ScriptGUIToggle::onHoverThunk;
|
|
ScriptGUIToggle::OnHoverThunkDef ScriptGUIToggle::onHoverThunk;
|
|
|
ScriptGUIToggle::OnOutThunkDef ScriptGUIToggle::onOutThunk;
|
|
ScriptGUIToggle::OnOutThunkDef ScriptGUIToggle::onOutThunk;
|
|
|
ScriptGUIToggle::OnToggledThunkDef ScriptGUIToggle::onToggledThunk;
|
|
ScriptGUIToggle::OnToggledThunkDef ScriptGUIToggle::onToggledThunk;
|
|
|
|
|
+ ScriptGUIToggle::OnDoubleClickThunkDef ScriptGUIToggle::onDoubleClickThunk;
|
|
|
|
|
|
|
|
ScriptGUIToggle::ScriptGUIToggle(MonoObject* instance, GUIToggle* toggle)
|
|
ScriptGUIToggle::ScriptGUIToggle(MonoObject* instance, GUIToggle* toggle)
|
|
|
:TScriptGUIElement(instance, toggle)
|
|
:TScriptGUIElement(instance, toggle)
|
|
@@ -35,14 +36,15 @@ namespace BansheeEngine
|
|
|
{
|
|
{
|
|
|
metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptGUIToggle::internal_createInstance);
|
|
metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptGUIToggle::internal_createInstance);
|
|
|
metaData.scriptClass->addInternalCall("Internal_SetContent", &ScriptGUIToggle::internal_setContent);
|
|
metaData.scriptClass->addInternalCall("Internal_SetContent", &ScriptGUIToggle::internal_setContent);
|
|
|
- metaData.scriptClass->addInternalCall("Internal_ToggleOn", &ScriptGUIToggle::internal_toggleOn);
|
|
|
|
|
- metaData.scriptClass->addInternalCall("Internal_ToggleOff", &ScriptGUIToggle::internal_toggleOff);
|
|
|
|
|
|
|
+ metaData.scriptClass->addInternalCall("Internal_GetValue", &ScriptGUIToggle::internal_getValue);
|
|
|
|
|
+ metaData.scriptClass->addInternalCall("Internal_SetValue", &ScriptGUIToggle::internal_setValue);
|
|
|
metaData.scriptClass->addInternalCall("Internal_SetTint", &ScriptGUIToggle::internal_setTint);
|
|
metaData.scriptClass->addInternalCall("Internal_SetTint", &ScriptGUIToggle::internal_setTint);
|
|
|
|
|
|
|
|
onClickThunk = (OnClickThunkDef)metaData.scriptClass->getMethod("DoOnClick")->getThunk();
|
|
onClickThunk = (OnClickThunkDef)metaData.scriptClass->getMethod("DoOnClick")->getThunk();
|
|
|
onHoverThunk = (OnHoverThunkDef)metaData.scriptClass->getMethod("DoOnHover")->getThunk();
|
|
onHoverThunk = (OnHoverThunkDef)metaData.scriptClass->getMethod("DoOnHover")->getThunk();
|
|
|
onOutThunk = (OnOutThunkDef)metaData.scriptClass->getMethod("DoOnOut")->getThunk();
|
|
onOutThunk = (OnOutThunkDef)metaData.scriptClass->getMethod("DoOnOut")->getThunk();
|
|
|
onToggledThunk = (OnToggledThunkDef)metaData.scriptClass->getMethod("DoOnToggled", 1)->getThunk();
|
|
onToggledThunk = (OnToggledThunkDef)metaData.scriptClass->getMethod("DoOnToggled", 1)->getThunk();
|
|
|
|
|
+ onDoubleClickThunk = (OnDoubleClickThunkDef)metaData.scriptClass->getMethod("DoOnDoubleClick")->getThunk();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ScriptGUIToggle::internal_createInstance(MonoObject* instance, MonoObject* content,
|
|
void ScriptGUIToggle::internal_createInstance(MonoObject* instance, MonoObject* content,
|
|
@@ -69,6 +71,7 @@ namespace BansheeEngine
|
|
|
guiToggle->onHover.connect(std::bind(&ScriptGUIToggle::onHover, instance));
|
|
guiToggle->onHover.connect(std::bind(&ScriptGUIToggle::onHover, instance));
|
|
|
guiToggle->onOut.connect(std::bind(&ScriptGUIToggle::onOut, instance));
|
|
guiToggle->onOut.connect(std::bind(&ScriptGUIToggle::onOut, instance));
|
|
|
guiToggle->onToggled.connect(std::bind(&ScriptGUIToggle::onToggled, instance, std::placeholders::_1));
|
|
guiToggle->onToggled.connect(std::bind(&ScriptGUIToggle::onToggled, instance, std::placeholders::_1));
|
|
|
|
|
+ guiToggle->onDoubleClick.connect(std::bind(&ScriptGUIToggle::onDoubleClick, instance));
|
|
|
|
|
|
|
|
ScriptGUIToggle* nativeInstance = new (bs_alloc<ScriptGUIToggle>()) ScriptGUIToggle(instance, guiToggle);
|
|
ScriptGUIToggle* nativeInstance = new (bs_alloc<ScriptGUIToggle>()) ScriptGUIToggle(instance, guiToggle);
|
|
|
}
|
|
}
|
|
@@ -81,16 +84,20 @@ namespace BansheeEngine
|
|
|
toggle->setContent(nativeContent);
|
|
toggle->setContent(nativeContent);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- void ScriptGUIToggle::internal_toggleOn(ScriptGUIToggle* nativeInstance)
|
|
|
|
|
|
|
+ bool ScriptGUIToggle::internal_getValue(ScriptGUIToggle* nativeInstance)
|
|
|
{
|
|
{
|
|
|
GUIToggle* toggle = (GUIToggle*)nativeInstance->getGUIElement();
|
|
GUIToggle* toggle = (GUIToggle*)nativeInstance->getGUIElement();
|
|
|
- toggle->toggleOn();
|
|
|
|
|
|
|
+ return toggle->isToggled();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- void ScriptGUIToggle::internal_toggleOff(ScriptGUIToggle* nativeInstance)
|
|
|
|
|
|
|
+ void ScriptGUIToggle::internal_setValue(ScriptGUIToggle* nativeInstance, bool value)
|
|
|
{
|
|
{
|
|
|
GUIToggle* toggle = (GUIToggle*)nativeInstance->getGUIElement();
|
|
GUIToggle* toggle = (GUIToggle*)nativeInstance->getGUIElement();
|
|
|
- toggle->toggleOff();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (value)
|
|
|
|
|
+ toggle->toggleOn();
|
|
|
|
|
+ else
|
|
|
|
|
+ toggle->toggleOff();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void ScriptGUIToggle::internal_setTint(ScriptGUIToggle* nativeInstance, Color color)
|
|
void ScriptGUIToggle::internal_setTint(ScriptGUIToggle* nativeInstance, Color color)
|
|
@@ -118,4 +125,9 @@ namespace BansheeEngine
|
|
|
{
|
|
{
|
|
|
MonoUtil::invokeThunk(onToggledThunk, instance, toggled);
|
|
MonoUtil::invokeThunk(onToggledThunk, instance, toggled);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ void ScriptGUIToggle::onDoubleClick(MonoObject* instance)
|
|
|
|
|
+ {
|
|
|
|
|
+ MonoUtil::invokeThunk(onDoubleClickThunk, instance);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|