/** * Trouve les hexas visibles du joueur * @return VisibleCollection */ public function findHexasVisibles() { $this->resetCacheVisibles(); $this->cacheVisibles = new VisibleCollection(); foreach ($this->getVilles() as $ville) { $this->cacheVisibles->addByJH($this, $ville); foreach ($ville->getCouronnePleine(Unites::VISIBILITE_VILLE) as $hexaVisible) { /** @var Hexa $hexaVisible */ $this->cacheVisibles->addByJH($this, $hexaVisible); } } foreach ($this->getQgs() as $qg) { /** @var Qg $qg */ $this->cacheVisibles->addByJH($this, $qg->getHexa()); foreach ($qg->getHexa()->getCouronne($qg->getVisibilite()) as $hexaVisible) { /** @var Hexa $hexaVisible */ $this->cacheVisibles->addByJH($this, $hexaVisible); } } return $this->cacheVisibles; }