/** * 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; } }
/** * * @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; } } }