+++ /dev/null
-<?php
-
-// Die Hafen-Klasse
-class Harbor extends BaseConstruction {
- // Namen des Hafens (z.B. Hamburger Hafen)
- private $harborName = "Unbekannter Hafen";
-
- // Schiffsliste aller gebauten Schiffe
- private $constructedShips = null;
-
- // Liegeplatz-Liste
- private $berthList = null;
-
- // List of all assigned shipyards
- 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");
-
- // Beschreibung setzen
- $this->setPartDescr("Hafen");
-
- // Unique-ID erzeugen
- $this->createUniqueID();
-
- // Clean up a little
- $this->removeSystemArray();
- $this->removePartInstance();
- }
-
- // Creates a harbor
- public 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ür den Hafen <strong>%s</strong> erstellt.<br />\n",
- $this->getHarborName()
- ));
- $this->shipyardList = new FrameworkArrayObject();
- }
-
- // 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));
- $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));
- 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]
-?>