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 )); }