Example #1
0
 /**
  * Fügt ein Pokemon an die Position $slotnumber in die Box ein.
  * $slotnumber muss im Bereich 0 - World_Storebox::MAX_SLOTS-1 liegen.
  * Ist $slotnumber nicht angegeben oder kleiner als 0 oder ist
  * die Position $slotnumber schon besetzt, so wird die nächste freie
  * Position gewählt das Pokemon dort eingesetzt.
  * Ist $slotnumber grösser als World_Storebox::MAX_SLOTS-1, so wird das
  * Pokemon an der Position World_Storebox::MAX_SLOTS-1 eingefügt.
  * Ist kein Platz mehr in der Box vorhanden wird false zurückgegeben.
  * @param $pokemon World_UserPokemon
  * @param $slotnumber integer  Einfügeposition in der Box (0)
  * @return integer
  */
 function addPokemonAtSlot(World_UserPokemon $pokemon, $slotnumber = 0)
 {
     // überprüfe Slotnummer und freien Platz
     if ($this->getFreeSpace() > 0) {
         if (!$this->isValidSlotNumber($slotnumber)) {
             $slotnumber = $this->getFreeSlotNumber();
         }
         $this->_slots[$slotnumber] = $pokemon;
         self::$USER->log('Pokemon ' . $pokemon->getDisplayName() . ' zu Box ' . $this->getBoxId() . ' an Slot ' . $slotnumber . ' hinzugefügt.', Log::PKMN);
         return $slotnumber;
     } else {
         $this->error('Pokemon zu Slot hinzufügen fehlgeschlagen: Keine freien Slots mehr.', __FILE__);
         return false;
     }
 }
Example #2
0
 /**
  *
  * @param $pokemonObj World_Pokemon
  * @return unknown_type
  */
 function addPokemon(World_PokemonInstance $pokemonObj)
 {
     $userPokemon = new World_UserPokemon($this);
     $userPokemon->createFromPokemon($pokemonObj);
     if ($this->getPokemonTeam()->hasFreeSpace()) {
         return $this->getPokemonTeam()->add($userPokemon);
     } else {
         if ($this->getStoreBox()->hasFreeSpace()) {
             return $this->getStoreBox()->addPokemon($userPokemon);
         } else {
             $this->error('Kann Pokemon nicht hinzufügen: Team und Lagerboxen voll.', __FILE__, Error::WARN);
             return false;
         }
     }
 }