import SoopyContentChangeEvent from "../../../../guimanager/EventListener/SoopyContentChangeEvent"; import SettingBase from "./settingBase"; import Dropdown from "../../../../guimanager/GuiElement/Dropdown"; class DropdownSetting extends SettingBase { constructor(name, description, defaultVal, settingId, module, optionsData){ super(name, description, defaultVal, settingId, module) this.dropdownObject = new Dropdown().setLocation(0, 0.2, 0.9, 0.6).setOptions(optionsData).setSelectedOption(this.getValue()) this.settingObject.addChild(this.dropdownObject) this.settingObject.setLocation(0.6, 0, 0.4, 1) this.guiObject.text.setLocation(0, 0, 0.6, 0.6) this.guiObject.description.setLocation(0, 0.6, 0.55, 0.4) this.dropdownObject.addEvent(new SoopyContentChangeEvent().setHandler((newVal, oldVal, resetFun)=>{ this.setValue(newVal) })) } update(){ if(this.hasHelp()){ this.guiObject.addChild(this.helpButton) this.guiObject.text.setLocation(0.075, 0, 0.6-0.075, 0.6) }else{ this.guiObject.text.setLocation(0, 0, 0.6, 0.6) } } setValue(newVal){ super.setValue(newVal) this.dropdownObject.setSelectedOption(newVal) return this } } export default DropdownSetting