class banditTile { private String path; private String filename; private boolean connect_right, connect_left; private boolean type_right, type_left; //true = slim, false = fat private boolean animated; private PApplet app; private PImage img; private ArrayList tileList; private int tileListIndex; public banditTile(String path, String filename, PApplet app) { this.path = path; this.filename = filename; this.app = app; setFlags(); println(filename); this.img = loadGif(); } private void setFlags() { String[] flags = splitTokens(filename, "_"); this.animated = (flags[0].indexOf("-A+") != -1) ? true : false; this.connect_right = (flags[2].length() > 1) ? boolean(flags[2].charAt(1)) : false; this.connect_left = (flags[4].length() > 1) ? boolean(flags[4].charAt(1)) : false; this.type_right = (flags[2].charAt(0) == 'S') ? true : false; this.type_left = (flags[4].charAt(0) == 'S') ? true : false; } public PImage loadGif() { if(animated) { Gif ani = new Gif(app, (path +"" +filename)); ani.loop(); return ani; } else { return loadImage((path +"" +filename)); } } //=========================================================================== //=== GETTER / SETTER ====================================================== //=========================================================================== public void setList(ArrayList l) { this.tileList = l; } public ArrayList getList() { return this.tileList; } public void setListIndex(int i) { this.tileListIndex = i; } public int getListIndex() { return this.tileListIndex; } public PImage getImage() { return img; } public String getFilename() { return path +"" +filename; } public String getFilepath() { return this.filename; } public boolean isAnimated() { return this.animated; } public boolean connectsRight() { return this.connect_right; } public boolean connectsLeft() { return this.connect_left; } public boolean fatRight() { return !this.type_right; } public boolean slimRight() { return this.type_right; } public boolean fatLeft() { return !this.type_left; } public boolean slimLeft() { return this.type_left; } public boolean noneLeft() { return connect_left; } public boolean noneRight() { return connect_right; } }