package com.gpl.rpg.atcontentstudio.model.maps; import com.gpl.rpg.atcontentstudio.model.GameDataElement; import java.util.ArrayList; import java.util.List; public class MapObjectGroup { public tiled.core.ObjectGroup tmxGroup; public TMXMap parentMap; public String name; public boolean visible; public List mapObjects = new ArrayList(); public Boolean active; public MapObjectGroup(tiled.core.ObjectGroup layer, TMXMap map) { this.tmxGroup = layer; this.name = layer.getName(); this.visible = layer.isVisible(); this.parentMap = map; if (layer.getProperties().get("active") != null) { active = new Boolean(((String) layer.getProperties().get("active"))); } else { active = true; } for (tiled.core.MapObject obj : layer.getObjectsList()) { mapObjects.add(MapObject.buildObject(obj, map)); } } public void link() { for (MapObject obj : mapObjects) { obj.link(); } } public void elementChanged(GameDataElement oldOne, GameDataElement newOne) { for (MapObject object : mapObjects) { object.elementChanged(oldOne, newOne); } } public void pushBackToTiledProperties() { if (tmxGroup != null) { tmxGroup.clear(); } else { tmxGroup = new tiled.core.ObjectGroup(); } tmxGroup.setVisible(visible); tmxGroup.setName(name); if (!active) { tmxGroup.getProperties().put("active", Boolean.toString(active)); } for (MapObject object : mapObjects) { tmxGroup.addObject(object.toTmxObject()); } } }