* @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 Merchant extends BaseFrameworkSystem {
// Name des Haendlers
private $merchantName = "Namenloser Händler";
// Preislite (Objekte wiedermal!)
private $priceList = null;
// Zugewiesener Hafen
private $harborInstance = null;
// Konstruktor
protected function __construct () {
// Call parent constructor
parent::__construct(__CLASS__);
// Clean up a little
$this->removeSystemArray();
}
// Haendler mit Namen erzeugen
public final static function createMerchant ($merchantName, Harbor $harborInstance) {
// String absichern
$merchantName = (string) $merchantName;
// Get new instance
$merchantInstance = new Merchant();
// Debug message
if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) {
$merchantInstance->debugOutput(sprintf("[%s:%d] Ein Händler %s wird angelegt und soll sich am %s niederlassen.",
__CLASS__,
__LINE__,
$merchantName,
$harborInstance->getHarborName()
));
}
// Haendlernamen setzen
$merchantInstance->setMerchantName($merchantName);
// In dem angegebenen Hafen den Haendler ansiedeln
$merchantInstance->setHarborInstance($harborInstance);
// Preisliste initialisieren
$merchantInstance->createPriceList();
// Instanz zurueckliefern
return $merchantInstance;
}
// Initialize pricing list
private function createPriceList () {
$this->priceList = new FrameworkArrayObject("FakedPriceList");
}
// Setter for merchant name
public final function setMerchantName ($merchantName) {
// Debug message
$this->merchantName = (string) $merchantName;
}
// Getter for merchant name
public final function getMerchantName () {
return $this->merchantName;
}
// Setter for harbor instance
public final function setHarborInstance (Harbor $harborInstance) {
$this->harborInstance = $harborInstance;
}
// Getter for harbor instance
public final function getHarborInstance () {
return $this->harborInstance;
}
// Add new item to merchant's price list
public function addItemToPriceList (TradeableItem $itemInstance, $price) {
$this->makeDeprecated();
}
// Get a price from the merchant's list
public final function getPriceFromList (TradeableItem $itemInstance) {
$this->makeDeprecated();
}
}
// [EOF]
?>