import elements.BaseGuiElement;
import elements.GuiOverlay;
import elements.GuiBackgroundPanel;
import elements.GuiMarkupText;
import elements.GuiText;
import elements.GuiListbox;
import elements.GuiProgressbar;
import elements.Gui3DObject;
import elements.GuiButton;
import elements.GuiPanel;
import elements.GuiSprite;
import random_events;
import util.formatting;
import tabs.tabbar;
class Option : GuiButton {
CurrentEvent@ event;
const EventOption@ option;
GuiSprite@ icon;
GuiMarkupText@ content;
uint index;
Option(IGuiElement@ parent) {
super(parent, recti());
@icon = GuiSprite(this, Alignment(Left+4, Top+0.5f-30, Left+64, Top+0.5f+30));
@content = GuiMarkupText(this, recti(68, 4, 100, 100));
style = SS_ChoiceBox;
}
int set(CurrentEvent@ evt, const EventOption@ option, int y, uint index) {
@this.event = evt;
@this.option = option;
this.index = index;
position = vec2i(4, y);
size = vec2i(parent.size.width-8, size.height);
@content.targets = evt.targets;
content.size = vec2i(size.width - 72, content.size.height);
content.text = option.text;
icon.desc = option.icon;
updateAbsolutePosition();
size = vec2i(size.width, max(content.size.height + 12, 68));
return size.height;
}
};
class EventOverlay : GuiOverlay {
CurrentEvent event;
GuiBackgroundPanel@ bg;
GuiBackgroundPanel@ choices;
GuiPanel@ descPanel;
GuiMarkupText@ description;
GuiPanel@ choicePanel;
array