/** * Effectue le changement de position * * @param oldCell ancienne case * @param newCell nouvelle case * @return retourne true si le changement a pu etre effectue false sinon */ protected boolean onPositionChange(Case oldCell, Case newCell) { if (newCell == null || newCell.getMap() == null || oldCell == newCell) { return false; } if (newCell.getMap() == oldCell.getMap()) { this.cell = newCell; return onMoveCell(oldCell, newCell); } else { oldCell.getMap().removeEntity(this); oldCell.removeCreature(this); this.cell = newCell; this.map = newCell.getMap(); newCell.getMap().addEntity(this); newCell.addCreature(this); return onMapChange(oldCell, newCell); } }
/** * Creer une creature sur la Map donnee * * @param id id de la creature * @param name nom de la creature * @param cell cellule de la creature */ public Creature(int id, String name, Case cell) { this(id, name, cell.getMap(), cell, 0); }