/**
* This class sets up a checkbox in the developer overlay and assigns its specific handler.
*/
class DeveloperOverlayControlCheckbox extends DeveloperOverlayControl
{
constructor(handler, i)
{
super(handler, i);
this.label = Engine.GetGUIObjectByName("dev_command_label[" + i + "]");
this.label.caption = this.handler.label();
this.label.hidden = false;
this.checkbox = Engine.GetGUIObjectByName("dev_command_checkbox[" + i + "]");
this.checkbox.onPress = this.onPress.bind(this);
this.checkbox.hidden = false;
}
onPress()
{
this.handler.onPress(this.checkbox.checked);
this.update();
}
update()
{
if (this.handler.checked)
this.checkbox.checked = this.handler.checked();
if (this.handler.enabled)
this.checkbox.enabled = this.handler.enabled();
}
setHidden(hidden)
{
if (!this.handler.checked)
return;
if (hidden)
unregisterSimulationUpdateHandler(this.updater);
else
registerSimulationUpdateHandler(this.updater);
}
}