Debug mailer finished and debug messages removed:
[shipsimu.git] / application / ship-simu / main / constructions / harbors / class_Harbor.php
index 1839754f909e5e51bf9477d5fed4e151a39a4747..9cae1be691cea0e1872c00167caa65adb37861bc 100644 (file)
@@ -1,11 +1,31 @@
 <?php
-
-// Die Hafen-Klasse
+/**
+ * A harbor class suitable for all kind of harbors
+ *
+ * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @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 <http://www.gnu.org/licenses/>.
+ */
 class Harbor extends BaseConstruction {
        // Namen des Hafens (z.B. Hamburger Hafen)
        private $harborName = "Unbekannter Hafen";
 
-       // Schiffsliste aller gebauten Schiffe
+       // Schiffsliste aller gebauten Schiffe
        private $constructedShips = null;
 
        // Liegeplatz-Liste
@@ -15,18 +35,15 @@ class Harbor extends BaseConstruction {
        private $shipyardList = null;
 
        // Constructor
-       private function __construct () {
-               // Eltern-Konstruktor aufrufen
-               parent::constructor(__CLASS__);
-
-               // Debug message
-               if (((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) $this->getDebugInstance()->output("[Harbor:] Konstruktor erreicht.<br />\n");
+       protected function __construct () {
+               // Call parent constructor
+               parent::__construct(__CLASS__);
 
-               // Beschreibung setzen
-               $this->setPartDescr("Hafen");
+               // Set description
+               $this->setObjectDescription("Hafen");
 
-               // Unique-ID erzeugen
-               $this->createUniqueID();
+               // Generate unique ID number
+               $this->generateUniqueId();
 
                // Clean up a little
                $this->removeSystemArray();
@@ -34,82 +51,46 @@ class Harbor extends BaseConstruction {
        }
 
        // Creates a harbor
-       public static function createHarbor ($harborName) {
+       public final static function createHarbor ($harborName) {
                // Hafen-Instanz holen
                $harborInstance = new Harbor();
 
-               // Debug message
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $harborInstance->getDebugInstance()->output(sprintf("[Harbor:] Der Hafen <strong>%s</strong> wird konstruiert.<br />\n", $harborName));
-
                // Hafenname setzen
                $harborInstance->setHarborName($harborName);
 
                // Werftliste initialisieren
                $harborInstance->createshipyardList();
 
-               // Debug-Meldung ausgeben
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $harborInstance->getDebugInstance()->output(sprintf("[Harbor:] Der Hafen <strong>%s</strong> ist jetzt fertig gebaut.<br />\n", $harborName));
-
                // Instanz zurueckliefern
                return $harborInstance;
        }
 
        // Werft-Liste generieren
        public function createshipyardList () {
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[Harbor:] Werft-Liste wird f&uuml;r den Hafen <strong>%s</strong> erstellt.<br />\n",
-                       $this->getHarborName()
-               ));
-               $this->shipyardList = new FrameworkArrayObject();
+               $this->shipyardList = new FrameworkArrayObject("FakedShipyardList");
        }
 
        // Setter fuer Hafennamen
-       public function setHarborName ($harborName) {
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[Harbor:] Der Hafen heisst jetzt <strong>%s</strong>.<br />\n", $harborName));
+       public final function setHarborName ($harborName) {
                $this->harborName = (string) $harborName;
        }
 
        // Getter fuer Hafennamen
-       public function getHarborName () {
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[Harbor:] Hafenname <strong>%s</strong> wurde angefordert.<br />\n", $this->harborName));
+       public final function getHarborName () {
                return $this->harborName;
        }
 
        // Werft in den Hafen einbauen und Werft->Reederei zuweisen
        public function addNewShipyardNotify ($shipyardName, ShippingCompany $companyInstance) {
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[Harbor:] Die Werft <strong>%s</strong> wird im Hafen <strong>%s</strong> gebaut.<br />\n",
-                       $shipyardName, $this->getHarborName()
-               ));
-
                // Werft generieren und in die Werftliste aufnehmen
                $this->shipyardList->append(Shipyard::createShipyardNotify($this, $shipyardName, $companyInstance));
        }
 
        // Werft in den Hafen einbauen ohne Zuweisung einer Reederei (gehoert der "Stadt" dann)
        public function addNewShipyard ($shipyardName) {
-               if ((defined('DEBUG_HARBOR')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[Harbor:] Die Werft <strong>%s</strong> wird im Hafen <strong>%s</strong> gebaut.<br />\n",
-                       $shipyardName, $this->getHarborName()
-               ));
-
                // Werft generieren und in die Werftliste aufnehmen
                $this->shipyardList->append(Shipyard::createShipyard($this, $shipyardName));
        }
-
-       /**
-        * Stub!
-        */
-       public function saveObjectToDatabase () {
-               $this->getDebugInstance()->output(sprintf("[%s:] Stub <strong>%s</strong> erreicht.",
-                       $this->__toString(),
-                       __FUNCTION__
-               ));
-       }
-
-       /**
-        * Limits this object with an ObjectLimits instance
-        */
-       public function limitObject (ObjectLimits $limitInstance) {
-               ApplicationEntryPoint::app_die("".__METHOD__." reached! Stub!");
-       }
 }
 
 // [EOF]