More renamed
[shipsimu.git] / application / ship-simu / main / ships / passenger / class_PassengerShip.php
index de78050..70fa5ed 100644 (file)
@@ -1,43 +1,40 @@
 <?php
-
+/**
+ * A passenger ship with one or more decks, cabins, bridge (replacement for the
+ * captain) and many more
+ *
+ * @author             Roland Haeder <webmaster@shipsimu.org>
+ * @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.shipsimu.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 PassengerShip extends BaseShip implements ConstructableShip {
        // Konstruktor
-       private function __construct () {
+       protected function __construct () {
                // Eltern-Kontruktor aufrufen
-               parent::constructor(__CLASS__);
-
-               // Debug message
-               if (((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) && (defined('DEBUG_CONSTRUCT'))) {
-                       $this->getDebugInstance()->output(sprintf("[%s:%d] Konstruktor erreicht.<br />\n",
-                               __CLASS__,
-                               __LINE__
-                       ));
-               }
-
-               // Beschreibung setzen
-               $this->setPartDescr("Passagier-Schiff");
-
-               // Unique-ID erzeugen
-               $this->createUniqueID();
-
-               // Clean up a little
-               $this->removeSystemArray();
+               parent::__construct(__CLASS__);
        }
 
        // Passagier-Schiff erstellen
-       public static function createPassengerShip ($shipName) {
-               // Instanz holen
+       public static final function createPassengerShip ($shipName) {
+               // Get new instance
                $passInstance = new PassengerShip();
 
-               // Debug message
-               if ((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) {
-                       $passInstance->getDebugInstance()->output(sprintf("[%s:%d] Ein Passagier-Schiff wird erstellt.<br />\n",
-                               __CLASS__,
-                               __LINE__
-                       ));
-               }
-
-               // Set ship's name
+               // Set ship name
                $passInstance->setShipName($shipName);
 
                // Instanz zurueckgeben
@@ -45,14 +42,14 @@ class PassengerShip extends BaseShip implements ConstructableShip {
        }
 
        // Anzahl Betten ermitteln
-       final function calcTotalBeds () {
+       public final function calcTotalBeds () {
                // Struktur-Array holen
                $struct = $this->getStructuresArray();
 
                if (is_null($struct)) {
                        // Empty structures list!
                        throw new EmptyStructuresListException($this, self::EXCEPTION_EMPTY_STRUCTURES_ARRAY);
-               }
+               } // END - if
 
                // Anzahl Betten auf 0 setzen
                $numBeds = 0;
@@ -70,60 +67,20 @@ class PassengerShip extends BaseShip implements ConstructableShip {
 
                                // Debug-Meldung ausgeben?
                                if ((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) {
-                                       // Instanz holen
+                                       // Get new instance
                                        $cabType = "Kabine ohne Namen";
                                        $cab = $el->getPartInstance();
                                        if (!is_null($cab)) {
                                                // Kabinenbeschreibung holen
-                                               $cabType = $cab->getPartDescr();
-                                       }
+                                               $cabType = $cab->getObjectDescription();
+                                       } // END - if
+                               } // END - if
+                       } // END - if
+               } // END - for
 
-                                       // Debug-Meldung ausgeben
-                                       $this->getDebugInstance()->output(sprintf("[%s:%d] Es stehen <strong>%d</strong> Betten vom Kabinen-Typ <strong>%s</strong> bereit.<br />\n",
-                                               __CLASS__,
-                                               __LINE__,
-                                               $total,
-                                               $cabType
-                                       ));
-                               }
-                       } else {
-                               // Keine Kabine!
-                               if ((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] <strong>%s</strong> ist keine Kabine.<br />\n",
-                                       __CLASS__,
-                                       __LINE__,
-                                       $el->getPartDescr()
-                               ));
-                       }
-               }
-
-               if ((defined('DEBUG_SHIP')) || (defined('DEBUG_ALL'))) $this->getDebugInstance()->output(sprintf("[%s:%d] Das <strong>%s</strong> mit dem Namen <strong>%s</strong> hat <strong>%d</strong> Betten.<br />\n",
-                       __CLASS__,
-                       __LINE__,
-                       $this->getPartDescr(),
-                       $this->getShipName(),
-                       $numBeds
-               ));
-       
                // Anzahl zurueckliefern
                return $numBeds;
        }
-
-       /**
-        * 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]