/**
  * Met les Rivieres de la collection dans le RiviereStore
  * Vérifie si le Riviere était déjà storé, dans ce cas, remplace le Riviere concerné par celui du RiviereStore
  */
 public function store()
 {
     $replaces = array();
     foreach ($this as $offset => $riviere) {
         /** @var Riviere $riviere */
         if (RiviereStore::exists($riviere->getId())) {
             $replaces[$offset] = $riviere;
         } else {
             RiviereStore::store($riviere);
         }
     }
     unset($offset);
     foreach ($replaces as $offset => $riviere) {
         $this->offsetSet($offset, RiviereStore::getById($riviere->getId()));
     }
 }
Example #2
0
 /**
  * Renvoie le type de traversée qu'il y a entre 2 cases
  * @param Hexa $hexa1
  * @param Hexa $hexa2
  * @return bool
  */
 public static function typeTraversee(Hexa $hexa1, Hexa $hexa2)
 {
     $traversee = self::TRAVERSEE_RIEN;
     $riviere = RiviereStore::getByHexas($hexa1, $hexa2);
     if (self::$types[$hexa1->getTypeTerrain()]['naval'] != self::$types[$hexa2->getTypeTerrain()]['naval']) {
         return self::TRAVERSEE_LITTORAL;
     } elseif (!is_null($riviere)) {
         $traversee = self::TRAVERSEE_RIVIERE;
         if ($riviere->getGue() != 0) {
             $traversee = self::TRAVERSEE_GUE;
         }
         if (!is_null($riviere->getPont())) {
             $traversee = self::TRAVERSEE_PONT;
         }
     }
     return $traversee;
 }