/**
  * @param mixed $value
  * @return void
  */
 public function append($value)
 {
     parent::append($value);
     /** @var Unite $value */
     if (is_null($this->plusHautZIndex) || Unites::$types[$value->getIdType()]['zIndex'] > Unites::$types[$this->plusHautZIndex->getIdType()]['zIndex']) {
         $this->plusHautZIndex = $value;
     }
 }
 /**
  * Renvoie les Production liées à un Unite
  * @param Unite $unite
  * @return ProductionCollection
  */
 public static function getByUnite(Unite $unite)
 {
     $req = "SELECT * FROM production WHERE idUnite = '" . $unite->getIdUnite() . "';";
     return DbHandler::collFromQuery($req, 'Production', 'ProductionCollection');
 }
Exemple #3
0
 /**
  * Crée un Unite lié à ce Qg
  * @return Unite
  */
 public function createUnite()
 {
     $unite = new Unite();
     $unite->setIdQg($this->getIdQg());
     return $unite;
 }
Exemple #4
0
 /**
  * Renvoie le coût de déplacement d'une unité sur un hexa
  * @param Unite $unite
  * @param Hexa $hexa
  * @return int
  */
 public static function coutDep(Unite $unite, Hexa $hexa)
 {
     return self::coutDeplacement($unite->getIdType(), $hexa->getTypeTerrain());
 }
 /**
  * Renvoie les Competence liées à un Unite
  * @param Unite $unite
  * @return CompetenceCollection
  */
 public static function getByUnite(Unite $unite)
 {
     $req = "SELECT * FROM competence WHERE idUnite = '" . $unite->getIdUnite() . "';";
     return DbHandler::collFromQuery($req, 'Competence', 'CompetenceCollection');
 }
 /**
  * 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);
 }
Exemple #7
0
 /**
  * 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;
 }