*
* @author Roland Haeder <webmaster@shipsimu.org>
* @version 0.0.0
- * @copyright Copyright (c) 2011 - 2012 Cruncher Developer Team
+ * @copyright Copyright (c) 2011 - 2014 Cruncher Developer Team
* @license GNU GPL 3.0 or any newer version
* @link http://www.shipsimu.org
*
* Creates an instance of a configurable cruncher state and sets it in the
* given cruncher instance.
*
- * @param $stateName Name of the state
+ * @param $stateName Name of the state
* @param $cruncherInstance A CruncherHelper class instance
- * @return $stateInstance A Stateable class instance
+ * @return $stateInstance A Stateable class instance
*/
- public static final function createCruncherStateInstanceByName ($stateName, CruncherHelper $cruncherInstance) {
+ public static final function createCruncherStateInstanceByName ($stateName) {
// Then construct the class' configuraton entry
$className = 'cruncher_' . $stateName . '_state_class';
+ // Get cruncher instance from registry
+ $cruncherInstance = Registry::getRegistry()->getInstance('cruncher');
+
// Get a class from that configuration entry
- $stateInstance = self::createObjectByConfiguredName($className, array($cruncherInstance));
+ $stateInstance = self::createObjectByConfiguredName($className);
+
+ // Debug message
+ self::createDebugInstance(__CLASS__)->debugOutput('CRUNCHER-STATE-FACTORY[' . __METHOD__ . ':' . __LINE__ . ']: Cruncher state has changed from ' . $cruncherInstance->getPrintableState() . ' to ' . $stateInstance->getStateName() . '.');
// Once we have that state, set it in the cruncher instance
$cruncherInstance->setStateInstance($stateInstance);