class_Harbor.php

Go to the documentation of this file.
00001 <?php
00024 class Harbor extends BaseConstruction {
00025         // Namen des Hafens (z.B. Hamburger Hafen)
00026         private $harborName = "Unbekannter Hafen";
00027 
00028         // Schiffsliste aller gebauten Schiffe
00029         private $constructedShips = null;
00030 
00031         // Liegeplatz-Liste
00032         private $berthList = null;
00033 
00034         // List of all assigned shipyards
00035         private $shipyardList = null;
00036 
00037         // Constructor
00038         protected function __construct () {
00039                 // Call parent constructor
00040                 parent::__construct(__CLASS__);
00041         }
00042 
00043         // Creates a harbor
00044         public final static function createHarbor ($harborName) {
00045                 // Hafen-Instanz holen
00046                 $harborInstance = new Harbor();
00047 
00048                 // Hafenname setzen
00049                 $harborInstance->setHarborName($harborName);
00050 
00051                 // Werftliste initialisieren
00052                 $harborInstance->createshipyardList();
00053 
00054                 // Instanz zurueckliefern
00055                 return $harborInstance;
00056         }
00057 
00058         // Werft-Liste generieren
00059         public function createshipyardList () {
00060                 $this->shipyardList = new FrameworkArrayObject("FakedShipyardList");
00061         }
00062 
00063         // Setter fuer Hafennamen
00064         public final function setHarborName ($harborName) {
00065                 $this->harborName = (string) $harborName;
00066         }
00067 
00068         // Getter fuer Hafennamen
00069         public final function getHarborName () {
00070                 return $this->harborName;
00071         }
00072 
00073         // Werft in den Hafen einbauen und Werft->Reederei zuweisen
00074         public function addNewShipyardNotify ($shipyardName, ShippingCompany $companyInstance) {
00075                 // Werft generieren und in die Werftliste aufnehmen
00076                 $this->shipyardList->append(Shipyard::createShipyardNotify($this, $shipyardName, $companyInstance));
00077         }
00078 
00079         // Werft in den Hafen einbauen ohne Zuweisung einer Reederei (gehoert der "Stadt" dann)
00080         public function addNewShipyard ($shipyardName) {
00081                 // Werft generieren und in die Werftliste aufnehmen
00082                 $this->shipyardList->append(Shipyard::createShipyard($this, $shipyardName));
00083         }
00084 }
00085 
00086 // [EOF]
00087 ?>

Generated on Mon Dec 8 01:06:44 2008 for Ship-Simulator by  doxygen 1.5.6