From: Roland Haeder Date: Sun, 5 Apr 2015 14:53:42 +0000 (+0200) Subject: Added virgin state which will come after 'init' has finished. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=8df9dfdea668afb3564ae0f4c05d08675d00748e;p=city.git Added virgin state which will come after 'init' has finished. Signed-off-by: Roland Haeder --- diff --git a/application/city/main/city/class_BaseCity.php b/application/city/main/city/class_BaseCity.php index 812d426..c079cf8 100644 --- a/application/city/main/city/class_BaseCity.php +++ b/application/city/main/city/class_BaseCity.php @@ -177,7 +177,7 @@ class BaseCity extends BaseCitySystem implements Updateable, AddableCriteria { // ----------------------- Last step from here ------------------------ // Activate the City. This is ALWAYS the last step in this method - $this->getStateInstance()->activateCitySimulation(); + $this->getStateInstance()->citySimulationIsActivated(); // ---------------------- Last step until here ------------------------ } diff --git a/application/city/main/states/city/init/.htaccess b/application/city/main/states/city/init/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/application/city/main/states/city/init/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/city/main/states/city/virgin/.htaccess b/application/city/main/states/city/virgin/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/application/city/main/states/city/virgin/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/city/main/states/city/virgin/class_CityVirginState.php b/application/city/main/states/city/virgin/class_CityVirginState.php new file mode 100644 index 0000000..97a3432 --- /dev/null +++ b/application/city/main/states/city/virgin/class_CityVirginState.php @@ -0,0 +1,69 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2015 City 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 . + */ +class CityVirginState extends BaseCityState implements Stateable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructo + parent::__construct(__CLASS__); + + // Set state name + $this->setStateName('virgin'); + } + + /** + * Creates an instance of this class + * + * @param $cityInstance An instance of a CityHelper class + * @return $stateInstance An instance of a Stateable class + */ + public static final function createCityVirginState (CityHelper $cityInstance) { + // Get new instance + $stateInstance = new CityVirginState(); + + // Set the city instance + $stateInstance->setCityInstance($cityInstance); + + // Return the prepared instance + return $stateInstance; + } + + /** + * Change the state to 'active' when the city simulation has initialized all + * tasks, queues, etc. + * + * @return void + */ + public function citySimulationIsActivated () { + // Create the new state instance + CityStateFactory::createCityStateInstanceByName('active'); + } + +} + +// [EOF] +?>