* @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 Motor extends BaseDrive implements TradeableItem, ConstructableShipPart {
// Constructor
protected function __construct() {
// Call parent constructor
parent::__construct(__CLASS__);
// Debug message
if (((defined('DEBUG_DRIVE')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) {
$this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.
\n",
__CLASS__,
__LINE__
));
}
// Set description
$this->setObjectDescription("Namenloser Motor");
// Generate unique ID number
$this->createUniqueID();
// Clean up a little
$this->removeSystemArray();
}
// Einen Motor erstellen
public final static function createMotor ($descr, $hp, $cams, $w, $h, $l) {
// Get new instance
$motorInstance = new Motor();
// Debug message
if ((defined('DEBUG_DRIVE')) || (defined('DEBUG_ALL'))) $motorInstance->getDebugInstance()->output(sprintf("[%s:%d] Motor %s wird gebaut...
\n",
__CLASS__,
__LINE__,
$descr
));
// Beschreibung und Abmasse setzen
$motorInstance->setObjectDescription($descr);
$motorInstance->setWidth($w);
$motorInstance->setHeight($h);
$motorInstance->setLength($l);
// Weitere Daten setzen
$motorInstance->setHorsePower($hp);
$motorInstance->setNumCams($cams);
// Instanz zurueckgeben
return $motorInstance;
}
// Overwritten method for tradeable items
public function isTradeable () {
return true;
}
/**
* Stub!
*/
public function saveObjectToDatabase () {
$this->getDebugInstance()->output(sprintf("[%s:] Stub %s erreicht.",
$this->__toString(),
__FUNCTION__
));
}
/**
* Limits this object with an ObjectLimits instance
*/
public function limitObject (ObjectLimits $limitInstance) {
ApplicationEntryPoint::app_die("".__METHOD__." reached! Stub!");
}
}
// [EOF]
?>