Player p = nextPlayer();
if (p == null) {
return;
}
DiceScore diceScore = p.dropDice(_dice);
GameModelEvent event = new GameModelEvent(this, p, diceScore);
firePlayerDroppedDice(event);
GameFieldCellBase oldPosition = p.position();
p.shiftOnField(diceScore.score());
GameFieldCellBase newPosition = p.position();
event = new GameModelEvent(this, p, oldPosition, newPosition);
firePlayerShiftedOnField(event);
event = new GameModelEvent(this, p);