X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fship-simu%2Fmain%2Fclass_BaseSimulator.php;h=c31a8d04db5d6db7a866c6c71daade44f44bc854;hb=390641f83ec749cc41a77bb80357105c200abb43;hp=47576da871c9547005432c62d7646b333be40ea4;hpb=0e72df27a80aab591a053f14b2e20c6dd211d406;p=shipsimu.git diff --git a/application/ship-simu/main/class_BaseSimulator.php b/application/ship-simu/main/class_BaseSimulator.php index 47576da..c31a8d0 100644 --- a/application/ship-simu/main/class_BaseSimulator.php +++ b/application/ship-simu/main/class_BaseSimulator.php @@ -6,7 +6,7 @@ * @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 + * @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 @@ -19,7 +19,7 @@ * 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 . + * along with this program. If not, see . */ class BaseSimulator extends BaseFrameworkSystem { // Schiffsteilinstanz @@ -42,16 +42,12 @@ class BaseSimulator extends BaseFrameworkSystem { ); // Konstruktor - private function __construct ($class) { + protected function __construct ($class) { // Call highest constructor - parent::constructor($class); - - if ((defined('DEBUG_CORE')) && (defined('DEBUG_CONSTRUCT'))) $this->getDebugInstance()->output(sprintf("[%s:] Konstruktor erreicht.
\n", - $this->__toString() - )); + parent::__construct($class); // Set part description and class name - $this->setPartDescr("Simulator-Basis-Einheit"); + $this->setObjectDescription("Simulator-Basis-Einheit"); // Clean up a little, dies sollte ganz zum Schluss erfolgen! $this->removeResizeFactorArray(); @@ -59,28 +55,6 @@ class BaseSimulator extends BaseFrameworkSystem { $this->removeCurrShip(); } - // Public constructor - public function constructor ($class) { - // Call real constructor - $this->__construct($class); - } - - // Magic __isset method - private function __isset ($var) { - if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Checking %s in class.
\n", - $this->__toString(), $var - )); - return isset($this->$var); - } - - // Magic __unset method - private function __unset($var) { - if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Removing %s from class.
\n", - $this->__toString(), $var - )); - unset($this->$var); - } - // Setter-Methode fuer Laenge public final function setLength ($length) { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] %dm Länge gesetzt.
\n", @@ -146,7 +120,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Remover-Methode fuer die Teil-Instanz - public function removePartInstance () { + public final function removePartInstance () { if ($this->getPartInstance() !== null) { // Warnung ausgeben if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] partInstance ist nicht null! Instanz-Attribut wird nicht entfernt.
\n", @@ -177,7 +151,7 @@ class BaseSimulator extends BaseFrameworkSystem { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Maschinenraum mit Motor %s wird fuer das Schiff %s konstruiert.
\n", $this->__toString(), - $this->currPart->getPartDescr(), + $this->getCurrPart()->getObjectDescription(), $this->currShip->getShipName() )); @@ -186,24 +160,24 @@ class BaseSimulator extends BaseFrameworkSystem { // Berechnungen fuer umliegendes Objekt anpassen if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Das Schiffsteil %s vom Typ %s passt in das Schiff %s hinein.
\n", $this->__toString(), - $this->currPart->getPartDescr(), - $this->currPart->__toString(), + $this->getCurrPart()->getObjectDescription(), + $this->getCurrPart()->__toString(), $this->currShip->getShipName() )); // Muessen die Masse angepasst werden? if ($this->isResizeFactorValid()) { // Neue Angaben berechnen (wir lassen etwas Lust fuer Kabelbaeume, Roehren, Maschinisten, etc.) - $this->newWidth = (float) $this->currPart->getWidth() * $this->resizeFactorArray['width']; - $this->newHeight = (float) $this->currPart->getHeight() * $this->resizeFactorArray['height']; - $this->newLength = (float) $this->currPart->getLength() * $this->resizeFactorArray['length']; + $this->newWidth = (float) $this->getCurrPart()->getWidth() * $this->resizeFactorArray['width']; + $this->newHeight = (float) $this->getCurrPart()->getHeight() * $this->resizeFactorArray['height']; + $this->newLength = (float) $this->getCurrPart()->getLength() * $this->resizeFactorArray['length']; // Passt dies nun immer noch? if ($this->isNewSizeValid()) { // Das passt auch, dann Werte setzen und Motor-Instanz merken if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Das Schiffsteil %s passt in das Schiff %s hinein.
\n", $this->__toString(), - $this->getPartDescr(), + $this->getObjectDescription(), $this->currShip->getShipName() )); $this->setWidth($this->newWidth); @@ -215,41 +189,41 @@ class BaseSimulator extends BaseFrameworkSystem { } else { // Passt nicht! Also wieder Exception werfen... throw new StructureShipMismatchException(sprintf("[%s:] Das Schiffsteil %s vom Typ %s ist zu gross für das Schiff!", - $this->currPart->__toString(), - $this->currPart->getPartDescr(), - $this->currPart->__toString() + $this->getCurrPart()->__toString(), + $this->getCurrPart()->getObjectDescription(), + $this->getCurrPart()->__toString() ), 2); } } elseif ($this->currPart != null) { // Aktuelle Masse setzen - $this->setWidth($this->currPart->getWidth()); - $this->setHeight($this->currPart->getHeight()); - $this->setLength($this->currPart->getLength()); + $this->setWidth($this->getCurrPart()->getWidth()); + $this->setHeight($this->getCurrPart()->getHeight()); + $this->setLength($this->getCurrPart()->getLength()); } // Existiert ein Schiffsteil? if (!is_null($this->currPart)) { // Debug-Meldung ausgeben if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Schiffsteil %s gefunden.
\n", - $this->currPart->realClass, - $this->currPart->getPartDescr() + $this->getCurrPart()->realClass, + $this->getCurrPart()->getObjectDescription() )); // Schiffsteil-Instanz setzen $this->setPartInstance($this->currPart); // Instanzen entfernen - $this->currPart->removeCurrShip(); - $this->currPart->removeCurrPart(); - $this->currPart->removePartInstance(); - $this->currPart->removeResizeFactorArray(); + $this->getCurrPart()->removeCurrShip(); + $this->getCurrPart()->removeCurrPart(); + $this->getCurrPart()->removePartInstance(); + $this->getCurrPart()->removeResizeFactorArray(); } } else { // Exception werfen! throw new StructureShipMismatchException(sprintf("[%s:] Das Schiffsteil %s vom Typ %s passt nicht in das Schiff!", - $this->currPart->realClass, - $this->currPart->getPartDescr(), - $this->currPart->__toString() + $this->getCurrPart()->realClass, + $this->getCurrPart()->getObjectDescription(), + $this->getCurrPart()->__toString() ), 1); } @@ -260,7 +234,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Array fuer Umrechnungstabelle entfernen - public function removeResizeFactorArray () { + public final function removeResizeFactorArray () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] removeResizeFactor erreicht.
\n", $this->__toString() )); @@ -272,7 +246,7 @@ class BaseSimulator extends BaseFrameworkSystem { * * @return void */ - public function removeAllNewAttr () { + public final function removeAllNewAttr () { unset($this->newWidth); unset($this->newHeight); unset($this->newLength); @@ -283,7 +257,7 @@ class BaseSimulator extends BaseFrameworkSystem { * * @return void */ - public function removeCurrShip () { + public final function removeCurrShip () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] removeCurrShip erreicht.
\n", $this->__toString() )); @@ -291,7 +265,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Aktuelle Schiffsteil-Instanz entfernen - public function removeCurrPart () { + public final function removeCurrPart () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] removeCurrPart erreicht.
\n", $this->__toString() )); @@ -299,7 +273,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Breite entfernen - public function removeWidth () { + public final function removeWidth () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Breite entfernt.
\n", $this->__toString() )); @@ -307,7 +281,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Hoehe entfernen - public function removeHeight () { + public final function removeHeight () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Höhe entfernt.
\n", $this->__toString() )); @@ -315,7 +289,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Laenge entfernen - public function removeLength () { + public final function removeLength () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Länge entfernt.
\n", $this->__toString() )); @@ -323,7 +297,7 @@ class BaseSimulator extends BaseFrameworkSystem { } // Tiefgang entfernen - public function removeDraught () { + public final function removeDraught () { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] Tiefgang entfernt.
\n", $this->__toString() )); @@ -363,18 +337,18 @@ class BaseSimulator extends BaseFrameworkSystem { return ( ( ( // Already defined ship messurings - ($this->currPart->getWidth() < $this->currShip->getWidth()) - && ($this->currPart->getHeight() < $this->currShip->getDraught()) - && ($this->currPart->getLength() < $this->currShip->getLength()) + ($this->getCurrPart()->getWidth() < $this->currShip->getWidth()) + && ($this->getCurrPart()->getHeight() < $this->currShip->getDraught()) + && ($this->getCurrPart()->getLength() < $this->currShip->getLength()) ) || ( // Ship messurings shall be calculated ($this->currShip->getWidth() == 0) && ($this->currShip->getHeight() == 0) && ($this->currShip->getLength() == 0) ) // The inserted part must be messured! - ) && ($this->currPart->getWidth() > 0) - && ($this->currPart->getHeight() > 0) - && ($this->currPart->getLength() > 0) + ) && ($this->getCurrPart()->getWidth() > 0) + && ($this->getCurrPart()->getHeight() > 0) + && ($this->getCurrPart()->getLength() > 0) ); } @@ -400,7 +374,7 @@ class BaseSimulator extends BaseFrameworkSystem { public function extractDimensions ($dim) { if (defined('DEBUG_CORE')) $this->getDebugInstance()->output(sprintf("[%s:] extractDimensions erreicht für %s.
\n", $this->__toString(), - $this->getPartDescr() + $this->getObjectDescription() )); // Abmasse setzen @@ -414,6 +388,15 @@ class BaseSimulator extends BaseFrameworkSystem { throw new DimNotFoundInArrayException($this, self::EXCEPTION_DIMENSION_ARRAY_INVALID); } } + + /** + * Getter for current part instance + * + * @return $currPart Instance of the current ship part object + */ + public final function getCurrPart () { + return $this->currPart; + } } // [EOF]