* @version 0.0.0
* @copyright Copyright(c) 2007, 2008 Roland Haeder, this is free software
* @license GNU GPL 3.0 or any newer version
* @link http://www.ship-simu.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
class LowCabin extends BaseCabin implements ItemIsTradeable, ConstructableShipPart {
// Konstruktor
private function __construct () {
// Call parent constructor
parent::constructor(__CLASS__);
// Debug message
if (((defined('DEBUG_CABIN')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.
\n",
__CLASS__,
__LINE__
));
// Set description
$this->setPartDescr("2Star-Class-Kabine");
// Generate unique ID number
$this->createUniqueID();
// Clean up a little
$this->removeSystemArray();
}
// 2-Sterne-Klasse erstellen
public static function createLowCabin ($numLuxury, $numRooms, $numBeds, $dim) {
// Get new instance
$lowInstance = new LowCabin();
// Debug message
if ((defined('DEBUG_CABIN')) || (defined('DEBUG_ALL'))) $lowInstance->getDebugInstance()->output(sprintf("[%s:%d] Eine 2-Sterne-Kabine wird konstruiert...
\n",
__CLASS__,
__LINE__
));
// Abmasse extrahieren
$lowInstance->extractDimensions($dim);
// Den Rest auch setzen
$lowInstance->setNumCabin($numLuxury);
$lowInstance->setNumRooms($numRooms);
$lowInstance->setNumBeds($numBeds);
// Nicht noetig!
$lowInstance->removePartInstance();
// Instanz zurueckgeben
return $lowInstance;
}
// Loesch-Methode fuer Anzahl Betten
public function removeNumBeds() {
if ((defined('DEBUG_CABIN')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Anzahl Betten gelöscht.
\n",
__CLASS__,
__LINE__
));
unset($this->numBeds);
parent::removeNumBeds();
}
// Loesch-Methode fuer Anzahl Kabinen
public function removeNumCabin() {
if ((defined('DEBUG_CABIN')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Anzahl Kabinen gelöscht.
\n",
__CLASS__,
__LINE__
));
unset($this->numCabin);
parent::removeNumCabin();
}
// Loesch-Methode fuer Anzahl Raeume
public function removeNumRooms() {
if ((defined('DEBUG_CABIN')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Anzahl Räume gelöscht.
\n",
__CLASS__,
__LINE__
));
unset($this->numRooms);
parent::removeNumRooms();
}
// Overwritten method for tradeable items
public function isTradeable () {
return true;
}
/**
* Limits this object with an ObjectLimits instance
*/
public function limitObject (ObjectLimits $limitInstance) {
ApplicationEntryPoint::app_die("".__METHOD__." reached! Stub!");
}
}
// [EOF]
?>