Added buildouts - still not completely functional but close

This commit is contained in:
Obique
2015-02-28 12:22:25 -06:00
committed by Obique
parent 5158a90b12
commit 9ea9dcda22
4 changed files with 336 additions and 77 deletions
@@ -0,0 +1,43 @@
package resources.objects.buildouts;
import java.util.LinkedList;
import java.util.List;
import resources.Terrain;
import resources.client_info.ClientFactory;
import resources.client_info.visitors.CrcStringTableData;
import resources.client_info.visitors.DatatableData;
import resources.objects.SWGObject;
public class BuildoutLoader {
private static final ClientFactory clientFactory = new ClientFactory();
private static final CrcStringTableData crcTable = (CrcStringTableData) clientFactory.getInfoFromFile("misc/object_template_crc_string_table.iff");
public static List <SWGObject> loadAllBuildouts() {
List <SWGObject> objects = new LinkedList<SWGObject>();
for (Terrain t : getTerrainsToLoad())
objects.addAll(loadBuildoutsForTerrain(t));
return objects;
}
public static List <SWGObject> loadBuildoutsForTerrain(Terrain terrain) {
TerrainBuildoutLoader loader = new TerrainBuildoutLoader(clientFactory, crcTable, terrain);
loader.load();
return loader.getObjects();
}
private static List <Terrain> getTerrainsToLoad() {
DatatableData table = (DatatableData) clientFactory.getInfoFromFile("datatables/buildout/buildout_scenes.iff");
List <Terrain> terrains = new LinkedList<Terrain>();
for (int row = 0; row < table.getRowCount(); row++) {
Terrain t = Terrain.getTerrainFromName((String) table.getCell(row, 0));
if (t != null)
terrains.add(t);
else
System.err.println("Couldn't find terrain: " + table.getCell(row, 0));
}
return terrains;
}
}