Beispiel #1
0
  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();
    }
  }
Beispiel #2
0
  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));
      }
  }
Beispiel #3
0
  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;
  }
Beispiel #4
0
  public boolean deleteCell() {

    boolean deleted =
        _preferences.deleteCell(
            new ColorCell(
                _preferences.getColorTypeCell((CellType) _elementSelected),
                (CellType) _elementSelected));

    if (deleted) notifyPreferencesChanged();

    return deleted;
  }
Beispiel #5
0
  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;
  }
Beispiel #6
0
  public boolean newCellType(Color color, String cellType) {

    boolean inserted = _preferences.newCellType(new ColorCell(color, new CellType(cellType)));

    if (inserted) notifyPreferencesChanged();

    return inserted;
  }
Beispiel #7
0
  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);
  }
Beispiel #8
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);
        }
      }
  }
Beispiel #9
0
  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;
  }
Beispiel #10
0
  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);
    }
  }
Beispiel #11
0
  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();
    }
  }
Beispiel #12
0
  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();
      }
  }
Beispiel #13
0
  public Vector<EntityType> getPreferencesEntityTypes() {

    return _preferences.getEntityTypes();
  }
Beispiel #14
0
  public Vector<CellType> getPreferencesCellTypes() {

    return _preferences.getCellTypes();
  }
Beispiel #15
0
  public Color getPreferencesColorTypeEntity(EntityType entityType) {

    return _preferences.getColorTypeEntity(entityType);
  }
Beispiel #16
0
  public Color getPreferencesColorTypeCell(CellType cellType) {

    return _preferences.getColorTypeCell(cellType);
  }