package com.clearlyspam23.GLE.basic.layers.tile;
import java.util.ArrayList;
import java.util.List;
public class TilesetGroupNode extends TilesetTreeNode{
/**
*
*/
private static final long serialVersionUID = 1L;
private List<TilesetTreeNode> children = new ArrayList<TilesetTreeNode>();
private String name;
private static void recursivePrint(TilesetGroupNode node, int indent){
for(TilesetTreeNode n : node.getChildren()){
for(int i = 0; i < indent; i++)
System.out.print('\t');
System.out.println(n.getType() + " : " + n.getName());
if(n.getType()==TilesetTreeNode.Type.GROUP)
recursivePrint(n.getAsGroup(), indent+1);
}
}
public static void recursivePrint(TilesetGroupNode node){
recursivePrint(node, 0);
}
public TilesetGroupNode(){
name = "";
}
public TilesetGroupNode(String name) {
this.name = name;
}
@Override
public List<TilesetHandle> getTilesets() {
List<TilesetHandle> ans = new ArrayList<TilesetHandle>();
for(TilesetTreeNode t : children){
ans.addAll(t.getTilesets());
}
return ans;
}
public void addNode(TilesetTreeNode node){
children.add(node);
node.setParent(this);
}
public List<TilesetTreeNode> getChildren(){
return children;
}
public void setChildren(List<TilesetTreeNode> children){
this.children = children;
}
@Override
public Type getType() {
return Type.GROUP;
}
@Override
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<TilesetHandle> getTilesetsByName(String name){
List<TilesetHandle> out = new ArrayList<TilesetHandle>();
for(TilesetHandle h : getTilesets()){
if(h.getName().equals(name))
out.add(h);
}
return out;
}
@Override
public TilesetTreeNode cloneAsBasic() {
TilesetGroupNode out = new TilesetGroupNode(name);
for(TilesetTreeNode n : children)
out.addNode(n.cloneAsBasic());
return out;
}
}