private int countStarsForThisLevel ( StarsValue star01Value, StarsValue star02Value, StarsValue star03Value )
	{
		float valueOfStars = 0f;
		
		switch ( star01Value )
		{
			case StarsValue.HALF:
				valueOfStars += 0.5f;
				break;
			case StarsValue.FULL:
				valueOfStars += 1f;
				break;
		}
		
		switch ( star02Value )
		{
			case StarsValue.HALF:
				valueOfStars += 0.5f;
				break;
			case StarsValue.FULL:
				valueOfStars += 1f;
				break;
		}
		
		switch ( star03Value )
		{
			case StarsValue.HALF:
				valueOfStars += 0.5f;
				break;
			case StarsValue.FULL:
				valueOfStars += 1f;
				break;
		}
		
		return (int) valueOfStars;
	}
	private IEnumerator startAnimationSequence ( StarsValue startValue01, StarsValue startValue02, StarsValue startValue03, int numberOfStars  )
	{
		SoundManager.getInstance ().playSound (SoundManager.MISSION_COMPLETE);
		int starsEarned = countStarsForThisLevel ( startValue01, startValue02, startValue03 );
		int alreadyEarnedStars = SaveDataManager.getValue ( SaveDataManager.LEVEL_STARS_PREFIX + ( LevelControl.CURRENT_LEVEL_CLASS.type == FLMissionScreenNodeManager.TYPE_REGULAR_NODE ? "" : "B" ) + LevelControl.CURRENT_LEVEL_CLASS.myName );
		
		if ( alreadyEarnedStars < starsEarned )
		{
			LevelControl.CURRENT_LEVEL_CLASS.starsEarned = starsEarned;
			SaveDataManager.save ( SaveDataManager.LEVEL_STARS_PREFIX + ( LevelControl.CURRENT_LEVEL_CLASS.type == FLMissionScreenNodeManager.TYPE_REGULAR_NODE ? "" : "B" ) + LevelControl.CURRENT_LEVEL_CLASS.myName, starsEarned );
		}
		yield return new WaitForSeconds ( 0.15f );
		//sign.SetActive (true);
		//iTween.ScaleFrom ( sign, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", sign.transform.localScale * 3f ));
		if ( startValue01 != StarsValue.DONT_COUNT )
		{
			yield return new WaitForSeconds ( 0.5f );

			if ( startValue01 == StarsValue.FULL )
			{
				switch ( numberOfStars )
				{
					case 1:
						SoundManager.getInstance ().playSound ( SoundManager.STAR_03, -1, true );
						break;
					case 2:
						if ( startValue02 == StarsValue.FULL || startValue03 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						else SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						break;
					case 3:
						if ( startValue02 == StarsValue.FULL && startValue03 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						else if ( startValue02 == StarsValue.FULL && startValue03 != StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						else if ( startValue02 != StarsValue.FULL && startValue03 != StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						else if ( startValue02 != StarsValue.FULL && startValue03 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						break;
				}
				//_tick01.material.mainTexture = tickPositive;
			}
			else
			{
				SoundManager.getInstance ().playSound ( SoundManager.X_MARK, -1, true );
				//_tick01.material.mainTexture = tickNegative;
			}
			switch ( startValue01 )
			{
				case StarsValue.HALF:
					_star01.gameObject.SetActive ( true );
					iTween.ScaleFrom ( _star01.gameObject, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", _star01.transform.localScale * 3f ));
					_star01.material.mainTexture = star01Half;
					break;
				case StarsValue.FULL:
					switch ( numberOfStars )
				{
				case 1:
					break;
				case 2:
					break;
				case 3:
					break;
				}
					_star01.gameObject.SetActive ( true );
					iTween.ScaleFrom ( _star01.gameObject, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", _star01.transform.localScale * 3f ));
					_star01.material.mainTexture = star01Full;
				//	spotlight01.gameObject.SetActive ( true );
					break;
			}
		}
		if (( startValue02 != StarsValue.DONT_COUNT ) && ( startValue02 != StarsValue.DONT_COUNT ))
		{
			yield return new WaitForSeconds ( 0.5f );

			if ( startValue02 == StarsValue.FULL )
			{
				switch ( numberOfStars )
				{
					case 1:
						SoundManager.getInstance ().playSound ( SoundManager.STAR_03, -1, true );
						break;
					case 2:
						if ( startValue01 == StarsValue.FULL || startValue03 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						else SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						break;
					case 3:
						if ( startValue01 == StarsValue.FULL && startValue03 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						else if ( startValue01 == StarsValue.FULL && startValue03 != StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						else if ( startValue01 != StarsValue.FULL && startValue03 != StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						else if ( startValue01 != StarsValue.FULL && startValue03 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						break;
				}

				//_tick02.material.mainTexture = tickPositive;
			}
			else
			{
				SoundManager.getInstance ().playSound ( SoundManager.X_MARK, -1, true );
				//_tick02.material.mainTexture = tickNegative;
			}
			switch ( startValue02 )
			{
				case StarsValue.HALF:
					_star02.gameObject.SetActive ( true );
					iTween.ScaleFrom ( _star02.gameObject, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", _star02.transform.localScale * 3f ));
					_star02.material.mainTexture = star02Half;
					break;
				case StarsValue.FULL:
					_star02.gameObject.SetActive ( true );
					iTween.ScaleFrom ( _star02.gameObject, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", _star02.transform.localScale * 3f ));
					_star02.material.mainTexture = star02Full;
					//spotlight02.gameObject.SetActive ( true );
					break;
			}
		}
		if (( startValue03 != StarsValue.DONT_COUNT ) && ( startValue03 != StarsValue.DONT_COUNT ))
		{
			yield return new WaitForSeconds ( 0.5f );
			SoundManager.getInstance ().playSound ( SoundManager.X_MARK, -1, true );
			if ( startValue03 == StarsValue.FULL )
			{
				switch ( numberOfStars )
				{
					case 1:
						SoundManager.getInstance ().playSound ( SoundManager.STAR_03, -1, true );
						break;
					case 2:
						if ( startValue01 == StarsValue.FULL || startValue02 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_03, -1, true );
						else SoundManager.getInstance ().playSound ( SoundManager.STAR_03, -1, true );
						break;
					case 3:
						if ( startValue01 == StarsValue.FULL && startValue02 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_03, -1, true );
						else if ( startValue01 == StarsValue.FULL && startValue02 != StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						else if ( startValue01 != StarsValue.FULL && startValue02 != StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_01, -1, true );
						else if ( startValue01 != StarsValue.FULL && startValue02 == StarsValue.FULL ) SoundManager.getInstance ().playSound ( SoundManager.STAR_02, -1, true );
						break;
				}

				//_tick03.material.mainTexture = tickPositive;
			}
			else
			{
				SoundManager.getInstance ().playSound ( SoundManager.X_MARK, -1, true );
				//_tick03.material.mainTexture = tickNegative;
			}

			switch ( startValue03 )
			{
				case StarsValue.HALF:
					_star03.gameObject.SetActive ( true );
					iTween.ScaleFrom ( _star03.gameObject, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", _star03.transform.localScale * 3f ));
					_star03.material.mainTexture = star03Half;
					break;
				case StarsValue.FULL:
					_star03.gameObject.SetActive ( true );
					iTween.ScaleFrom ( _star03.gameObject, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", _star03.transform.localScale * 3f ));
					_star03.material.mainTexture = star03Full;
					//spotlight03.gameObject.SetActive ( true );
					break;
			}
		}
		yield return new WaitForSeconds ( 0.5f );
		SoundManager.getInstance ().playSound ( SoundManager.BUTTONS_APAERE, -1, true );

		LevelControl.CURRENT_LEVEL_CLASS.iAmFinished = true;

		//SaveDataManager.save ( SaveDataManager.LEVEL_FINISHED_PREFIX + ( LevelControl.CURRENT_LEVEL_CLASS.type == FLMissionScreenNodeManager.TYPE_REGULAR_NODE ? "" : "B" ) + LevelControl.CURRENT_LEVEL_CLASS.myName, 1 );
		if ( GameGlobalVariables.LAB_ENTERED == 0 )
		{
			switch ( LevelControl.LEVEL_ID )
			{
				case 1:
				case 2:
				case 3:
					transform.Find("ScaleSolver").transform.Find ( "buttonLab" ).gameObject.SetActive ( true );
					transform.Find("ScaleSolver").transform.Find ( "buttonRestart" ).gameObject.SetActive ( true );
				//	Destroy ( transform.Find ( "buttonLab" ).GetComponent < MainScreenPLayButtonControl > ());
					break;
				case 4:
					transform.Find("ScaleSolver").transform.Find ( "buttonLab" ).gameObject.SetActive ( true );
					transform.Find("ScaleSolver").transform.Find ( "buttonRestart" ).gameObject.SetActive ( true );
					break;
				default:
					transform.Find("ScaleSolver").transform.Find ( "buttonRestart" ).gameObject.SetActive ( true );
					transform.Find("ScaleSolver").transform.Find ( "buttonLab" ).gameObject.SetActive ( true );
					break;
			}
		}
		else
		{
			transform.Find("ScaleSolver").transform.Find ( "buttonRestart" ).gameObject.SetActive ( true );
			transform.Find("ScaleSolver").transform.Find ( "buttonLab" ).gameObject.SetActive ( true );
		}

		LevelControl.CURRENT_LEVEL_CLASS.iAmFinished = true;
		SaveDataManager.save ( SaveDataManager.LEVEL_FINISHED_PREFIX + ( LevelControl.CURRENT_LEVEL_CLASS.type == FLMissionScreenNodeManager.TYPE_REGULAR_NODE ? "" : "B" ) + LevelControl.CURRENT_LEVEL_CLASS.myName, 1 );

		buttonLab.SetActive (true);
		buttonRestart.SetActive (true);
		iTween.ScaleFrom ( buttonLab, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", buttonLab.transform.localScale * 3f ));
		iTween.ScaleFrom ( buttonRestart, iTween.Hash ( "time", 0.3f, "easetype", iTween.EaseType.easeOutElastic, "scale", buttonRestart.transform.localScale * 3f ));
	}