/** * Met les Parties de la collection dans le PartieStore * Vérifie si le Partie était déjà storé, dans ce cas, remplace le Partie concerné par celui du PartieStore */ public function store() { $replaces = array(); foreach ($this as $offset => $partie) { /** @var Partie $partie */ if (PartieStore::exists($partie->getId())) { $replaces[$offset] = $partie; } else { PartieStore::store($partie); } } unset($offset); foreach ($replaces as $offset => $partie) { $this->offsetSet($offset, PartieStore::getById($partie->getId())); } }
/** * Génère entièrement la carte */ public function genererHexas() { PartieStore::store($this); $this->genererHexasVierges(); $this->genererGermes(); $this->cotesEnDentelle(); $this->erosionMontagnes(); $this->genererTemperatures(); $this->creerRivieres(); $this->genererVegetation(); $this->lisserTemperatures(); $this->lisserAltitudes(); $this->lisserVegetation(); foreach ($this->getHexas() as $hexa) { /** @var Hexa $hexa */ HexaBusiness::insert($hexa); } }