* @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 BaseDeckStructure extends BaseStructure {
// Anzahl Decks
private $numDecks = 0;
// Konstruktor
private function __construct ($class) {
// Call parent constructor
parent::constructor($class);
// Debug message
if (((defined('DEBUG_STRUCTURE')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) {
$this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.
\n",
__CLASS__,
__LINE__
));
}
// Set description
$this->setPartDescr("Deckstruktur");
}
/**
* Calls the private constructor
*
* @param $class The class' name
* @return void
*/
public function constructor ($class) {
$this->__construct($class);
}
// Deckstruktur dem Schiff hinzufuegen
public function addShipPartToShip (ConstructableShip $shipInstance, ConstructableShipPart $deckInstance) {
if ((defined('DEBUG_STRUCTURE')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Das Deck %s wird für das Schiff %s konstruiert.
\n",
__CLASS__,
__LINE__,
$deckInstance->getPartDescr(),
$shipInstance->getShipName()
));
// Eltern-Methode aufrufen
parent::addShipPartToShip($shipInstance, $deckInstance);
// Andere Daten uebertragen und von der Quelle loeschen
$this->setNumDecks($deckInstance->getNumDecks());
$deckInstance->removeNumDecks();
if ((defined('DEBUG_STRUCTURE')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Das Deck %s wurde in das Schiff %s eingebaut.
\n",
__CLASS__,
__LINE__,
$deckInstance->getPartDescr(),
$shipInstance->getShipName()
));
}
// Deckanzahl entfernen
public function removeNumDecks() {
if ((defined('DEBUG_STRUCTURE')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Anzahl Decks wurde gelöscht.
\n",
__CLASS__,
__LINE__
));
unset($this->numDecks);
}
// Setter-Methode fuer Anzahl Decks
public final function setNumDecks($numDecks) {
$this->numDecks = (int) $numDecks;
}
// Getter-Methode fuer Anzahl Decks
public final function getNumDecks() {
return $this->numDecks;
}
}
// [EOF]
?>