package net.alcuria.umbracraft.editor.layout; import net.alcuria.umbracraft.definitions.enemy.EnemyGroupDefinition; import net.alcuria.umbracraft.editor.Editor; import net.alcuria.umbracraft.editor.modules.ListModule; import net.alcuria.umbracraft.editor.widget.WidgetUtils; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.utils.Array; import com.kotcrab.vis.ui.widget.VisLabel; public class EnemyGroupListModule extends ListModule<EnemyGroupDefinition> { @Override public void addListItem() { final EnemyGroupDefinition enemyGroup = new EnemyGroupDefinition(); enemyGroup.name = "Enemy Group " + rootDefinition.size(); enemyGroup.enemies = new Array<String>(); rootDefinition.add(enemyGroup); } @Override public void create(EnemyGroupDefinition definition, Table content) { final PopulateConfig config = new PopulateConfig(); config.cols = 3; config.textFieldWidth = 200; populate(content, EnemyGroupDefinition.class, definition, config); content.row(); content.add(new Table() { { add(WidgetUtils.tooltip("All enemies.")); add(new VisLabel("Enemies:")); } }).row(); WidgetUtils.divider(content, "blue"); WidgetUtils.modifiableList(content, definition.enemies, new Array<String>(Editor.db().enemies().keys())); } @Override public String getTitle() { return "EnemyGroups"; } }