X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=inline;f=application%2Fship-simu%2Fmain%2Fclass_Merchant.php;h=bb321d6d48a0eba625bd4ef35e9c29a37ba2cd4f;hb=2b7c3e43b2fe0f3c5ae0455d13fa7743b638049f;hp=3f13a6358564d95e7d391dde5d5b9ec4b0db705e;hpb=a76d51b4096b47436e269156547f02713d95af5b;p=shipsimu.git diff --git a/application/ship-simu/main/class_Merchant.php b/application/ship-simu/main/class_Merchant.php index 3f13a63..bb321d6 100644 --- a/application/ship-simu/main/class_Merchant.php +++ b/application/ship-simu/main/class_Merchant.php @@ -1,6 +1,26 @@ + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 Ship-Simu Developer Team + * @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"; @@ -12,30 +32,16 @@ class Merchant extends BaseFrameworkSystem { private $harborInstance = null; // Konstruktor - private function __construct () { + protected function __construct () { // Call parent constructor - parent::constructor(__CLASS__); - - // Debug message - if (((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) { - $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.
\n", - __CLASS__, - __LINE__ - )); - } - - // Set description - $this->setPartDescr("Händler"); - - // Generate unique ID number - $this->createUniqueID(); + parent::__construct(__CLASS__); // Clean up a little $this->removeSystemArray(); } // Haendler mit Namen erzeugen - public static function createMerchant ($merchantName, Harbor $harborInstance) { + public final static function createMerchant ($merchantName, Harbor $harborInstance) { // String absichern $merchantName = (string) $merchantName; @@ -44,7 +50,7 @@ class Merchant extends BaseFrameworkSystem { // Debug message if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) { - $merchantInstance->getDebugInstance()->output(sprintf("[%s:%d] Ein Händler %s wird angelegt und soll sich am %s niederlassen.
\n", + $merchantInstance->debugOutput(sprintf("[%s:%d] Ein Händler %s wird angelegt und soll sich am %s niederlassen.", __CLASS__, __LINE__, $merchantName, @@ -67,120 +73,38 @@ class Merchant extends BaseFrameworkSystem { // Initialize pricing list private function createPriceList () { - if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der Händler %s erhält eine leere Preisliste.
\n", - __CLASS__, - __LINE__, - $this->getMerchantName() - )); - $this->priceList = new FrameworkArrayObject(); + $this->priceList = new FrameworkArrayObject("FakedPriceList"); } // Setter for merchant name public final function setMerchantName ($merchantName) { - // Secure string - $merchantName = (string) $merchantName; - // Debug message - if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der Händlername %s ist nun bekannt.
\n", - __CLASS__, - __LINE__, - $merchantName - )); - $this->merchantName = $merchantName; + $this->merchantName = (string) $merchantName; } // Getter for merchant name public final function getMerchantName () { - if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der Händlername %s wird verlangt.
\n", - __CLASS__, - __LINE__, - $this->merchantName - )); return $this->merchantName; } // Setter for harbor instance public final function setHarborInstance (Harbor $harborInstance) { - if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der Händler %s lässt sich am %s nieder.
\n", - __CLASS__, - __LINE__, - $this->getMerchantName(), - $harborInstance->getHarborName() - )); $this->harborInstance = $harborInstance; } // Getter for harbor instance public final function getHarborInstance () { - if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der Händler %s hat sich am %s niedergelassen.
\n", - __CLASS__, - __LINE__, - $this->getMerchantName(), - $harborInstance->getHarborName() - )); return $this->harborInstance; } // Add new item to merchant's price list - public function addItemToPriceList (ItemIsTradeable $itemInstance, $price) { - // Secure pricing - $price = (float) $price; - - // Debug message - if ((defined('DEBUG_MERCHANT')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Der Händler %s kann nun das Schiffsteil %s "%s" zu %s verkaufen.
\n", - __CLASS__, - __LINE__, - $this->getMerchantName(), - $itemInstance->__toString(), - $itemInstance->getPartDescr(), - $this->formatCurrency($price) - )); - - // Construct pricing item and add it to the list - $this->priceList->append(array( - 'item' => $itemInstance, - 'price' => $price - )); - - // Remove price attribute - $itemInstance->removePrice(); + public function addItemToPriceList (TradeableItem $itemInstance, $price) { + $this->makeDeprecated(); } // Get a price from the merchant's list - public final function getPriceFromList (ItemIsTradeable $itemInstance) { - $price = 0; - - // Iterate throw whole list - for ($iter = $this->priceList->getIterator(); $iter->valid(); $iter->next()) { - //�Get current item - $item = $iter->current(); - - // Does this item match? The unique ID may not work... - if ($item['item']->itemMatches($itemInstance)) { - // Extract price and stop searching - $price = $item['price']; - break; - } - } - - // Was the item found? - if ($price === 0) { - // Throw exception - throw new ItemNotInPriceListException($itemInstance, self::EXCEPTION_ITEM_NOT_IN_PRICE_LIST); - } - - // Return price - return $price; - } - - /** - * Stub! - */ - public function saveObjectToDatabase () { - $this->getDebugInstance()->output(sprintf("[%s:] Stub %s erreicht.", - $this->__toString(), - __FUNCTION__ - )); + public final function getPriceFromList (TradeableItem $itemInstance) { + $this->makeDeprecated(); } }