/** * Crée un faux Qg qui n'existe pas en base, pour calculer les coûts de déplacement * @param int $type Type de QG à créer */ public function setFakeQg($type) { $this->fakeQg = new Qg(); $this->fakeQg->setIdTypeQg($type); $this->fakeQg->setIdJoueur($this->qg->getIdJoueur()); $unite = new Unite(); switch ($type) { case Unites::TYPE_TERRESTRE: $unite->setIdType(Unites::RAVITAILLEUR_AMPHIBIE); break; case Unites::TYPE_NAVAL: $unite->setIdType(Unites::DESTROYER); break; case Unites::TYPE_AERIEN: $unite->setIdType(Unites::BOMBARDIER); break; default: $unite->setIdType(Unites::RAVITAILLEUR_AMPHIBIE); } $unite->setMoral(100); $unites = new UniteCollection(); $unites->ajout($unite); $this->fakeQg->setUnites($unites); }
/** * Renvoie la liste des unités qu'il est possible de construire dans la ville * @return UniteCollection */ public function listeUnitesAConstruire() { $ret = new UniteCollection(); foreach (Unites::$types as $idType => $data) { $batiment = $this->getBatimentConstruit($data['batimentNecessaire']); if (!is_null($batiment) && $batiment->getNiveau() >= $data['nivBatimentNecessaire']) { $new = new Unite(); $new->setIdHexaConstruit($this->getId()); $new->setIdType($idType); $new->setMoral(100); $ret->ajout($new); } } return $ret; }