public void removeEntity() { Position entityPosition = _map.getCell(_posSelected).getPrimaryEntity(); int entityID = _map.getEntityID(entityPosition); EntityType entity = _map.getEntity(entityID).getType(); Position[] posList = new Position[_preferences.getEntityHeight(entity) * _preferences.getEntityWidth(entity)]; int i = 0; for (int x = entityPosition.getX(); x < (entityPosition.getX() + _preferences.getEntityWidth(entity)); x++) for (int y = entityPosition.getY(); y < (entityPosition.getY() + _preferences.getEntityHeight(entity)); y++) { posList[i] = new Position(x, y); i++; } if (_map.removeEntity(posList, entityID)) { notifyRemoveEntity(posList); notifyCellDeSelected(); } }
public void setCellParameters(HashMap<String, String> parameters) { _preferences.removeAllCellParameters((CellType) _elementSelected); if (!parameters.isEmpty()) for (String name : parameters.keySet()) { _preferences.newCellParameter((CellType) _elementSelected, name, parameters.get(name)); } }
public HashMap<String, String> getCellParameters() { HashMap<String, String> parameters = new HashMap<String, String>(); for (String name : _preferences.getCellParamNames((CellType) _elementSelected)) { parameters.put(name, _preferences.getCellParameter((CellType) _elementSelected, name)); } return parameters; }
public boolean deleteCell() { boolean deleted = _preferences.deleteCell( new ColorCell( _preferences.getColorTypeCell((CellType) _elementSelected), (CellType) _elementSelected)); if (deleted) notifyPreferencesChanged(); return deleted; }
public boolean deleteEntity() { boolean deleted = _preferences.deleteEntity( new ColorEntity( _preferences.getColorTypeEntity((EntityType) _elementSelected), (EntityType) _elementSelected, _preferences.getEntityHeight((EntityType) _elementSelected), _preferences.getEntityWidth((EntityType) _elementSelected))); if (deleted) notifyPreferencesChanged(); return deleted; }
public boolean newCellType(Color color, String cellType) { boolean inserted = _preferences.newCellType(new ColorCell(color, new CellType(cellType))); if (inserted) notifyPreferencesChanged(); return inserted; }
public void clicked(ElementType type) { _painting = true; _elementSelected = type; _posSelected = null; notifyCellDeSelected(); if (type instanceof EntityType) notifyTypeElementSelected( type, _preferences.getEntityHeight((EntityType) type), _preferences.getEntityWidth((EntityType) type)); else notifyTypeElementSelected(type, 0, 0); }
private void notifyNewMapLoaded() { notifyCellDeSelected(); notifyNewMap(_map.getMapWidth(), _map.getMapHeight()); _posSelected = null; Position pos = null; for (int x = 0; x < _map.getMapWidth(); x++) for (int y = 0; y < _map.getMapHeight(); y++) { pos = new Position(x, y); notifyCellChanged(pos, _map.getCell(pos).getType()); int entityID = _map.getCell(pos).getEntity(); if (entityID != 0) { Position entityPos = _map.getCell(pos).getPrimaryEntity(); EntityType entityType = _map.getEntity(entityID).getType(); Position[] posList = new Position [_preferences.getEntityHeight(entityType) * _preferences.getEntityWidth(entityType)]; int i = 0; for (int xEntity = entityPos.getX(); xEntity < (entityPos.getX() + _preferences.getEntityWidth(entityType)); xEntity++) for (int yEntity = entityPos.getY(); yEntity < (entityPos.getY() + _preferences.getEntityHeight(entityType)); yEntity++) { posList[i] = new Position(xEntity, yEntity); i++; } notifyNewEntity(posList, entityType); } } }
public boolean newEntityType(Color color, String entityType, int height, int width) { boolean inserted = _preferences.newEntityType( new ColorEntity(color, new EntityType(entityType), height, width)); if (inserted) notifyPreferencesChanged(); return inserted; }
private void newEntity(EntityType newType) { Position[] posList = new Position[_preferences.getEntityHeight(newType) * _preferences.getEntityWidth(newType)]; int i = 0; for (int x = _posSelected.getX(); x < (_posSelected.getX() + _preferences.getEntityWidth(newType)); x++) for (int y = _posSelected.getY(); y < (_posSelected.getY() + _preferences.getEntityHeight(newType)); y++) { posList[i] = new Position(x, y); i++; } if (_map.newEntity( posList, new Entity(newType), _preferences.getEntityHeight(newType), _preferences.getEntityWidth(newType))) { notifyAllSelectChanges(); notifyNewEntity(posList, newType); } }
public void importMap(File file) { if (file.exists() && file.canRead()) { _fileHandler.initImportData(file); _map = new Map(); String line = _fileHandler.importData(); while (line != null) { _preferences.importData(line, 0, null, null); _map.importData(line, 0, _preferences.getCellTypes(), _preferences.getColorEntities()); line = _fileHandler.importData(); } _fileHandler.closeImportFile(); notifyNewMapLoaded(); } }
public void exportMap(File file) { if (_map != null) try { file.createNewFile(); if (file.canWrite()) { _fileHandler.initExportData(file); _fileHandler.exportData("Map = {\n\n"); _fileHandler.exportData(_preferences.getGridAttributes()); _fileHandler.exportData(_map.getGridAttributes()); /*int width = _map.getMapWidth(); int height = _map.getMapHeight(); String s = ""; for (int x = 0; x < width; x++) for (int y = 0; y < height; y++) { CellType cell = _map.getCell(new Position(x, y)).getType(); s = "\t" + cell.getType() + x + "_" + y + " = {\n"; s = s + "\t\ttype = \"" + cell.getType() + "\",\n"; s = s + "\t\t" + Map.CELL_POSITION + " = { " + x + ", " + y + " },\n"; s = s + _preferences.getCellAttributes(cell); s = s + "\t},\n\n"; _fileHandler.exportData(s); }*/ _fileHandler.exportData(_map.getAllEntitiesAttributes()); _fileHandler.exportData("}"); _fileHandler.closeExportFile(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
public Vector<EntityType> getPreferencesEntityTypes() { return _preferences.getEntityTypes(); }
public Vector<CellType> getPreferencesCellTypes() { return _preferences.getCellTypes(); }
public Color getPreferencesColorTypeEntity(EntityType entityType) { return _preferences.getColorTypeEntity(entityType); }
public Color getPreferencesColorTypeCell(CellType cellType) { return _preferences.getColorTypeCell(cellType); }