/// <summary> /// Fade stars Coroutine. /// </summary> /// <returns>The stars.</returns> public IEnumerator FadeStars() { starsNumber = StarsRating.GetAwesomeDialogStarsRating(Timer.timeInSeconds, GameManager.movements, Mission.wantedMission.rowsNumber * Mission.wantedMission.colsNumber); float delayBetweenStars = 0.5f; if (starsNumber == StarsNumber.ONE) //Fade with One Star { AudioSource.PlayClipAtPoint(starSoundEffect, Vector3.zero); firstStarFading.SetTrigger("Running"); } else if (starsNumber == StarsNumber.TWO) //Fade with Two Star { AudioSource.PlayClipAtPoint(starSoundEffect, Vector3.zero); firstStarFading.SetTrigger("Running"); yield return(new WaitForSeconds(delayBetweenStars)); AudioSource.PlayClipAtPoint(starSoundEffect, Vector3.zero); secondStarFading.SetTrigger("Running"); } else if (starsNumber == StarsNumber.THREE) //Fade with Three Star { AudioSource.PlayClipAtPoint(starSoundEffect, Vector3.zero); firstStarFading.SetTrigger("Running"); yield return(new WaitForSeconds(delayBetweenStars)); AudioSource.PlayClipAtPoint(starSoundEffect, Vector3.zero); secondStarFading.SetTrigger("Running"); yield return(new WaitForSeconds(delayBetweenStars)); AudioSource.PlayClipAtPoint(starSoundEffect, Vector3.zero); thirdStarFading.SetTrigger("Running"); } yield return(0); }
protected virtual void OnLevelPassed() { if (levelPassedEventHandler != null) { levelPassedEventHandler(this, null); } // Adjust stars rating StarsRating initialStarsRating = ApplicationModel.levelsStarsRatings[4]; if (playerReference.GetComponent <PlayerHealth>().currentHealth > 150f) { ApplicationModel.levelsStarsRatings[4] = StarsRating.ThreeStars; } else if (playerReference.GetComponent <PlayerHealth>().currentHealth > 100f) { ApplicationModel.levelsStarsRatings[4] = StarsRating.TwoStars; } else if (playerReference.GetComponent <PlayerHealth>().currentHealth > 50) { ApplicationModel.levelsStarsRatings[4] = StarsRating.OneStar; } else //if (failCount < 5) { ApplicationModel.levelsStarsRatings[4] = StarsRating.ZeroStars; } starsRatingComponent.GetComponent <StarsRatingComponent>().SetAppropriateStarRating(); // -- Analytics -- AnalyticsUtilities.ReportStandardEvent_LevelComplete(SceneManager.GetActiveScene(), 4, ApplicationModel.PlayingMode, (int)ApplicationModel.levelsStarsRatings[4], playerReference.GetComponent <PlayerHealth>().currentHealth / 200, Time.time); if (ApplicationModel.levelsStarsRatings[4] > initialStarsRating) { ApplicationModel.SaveStarsRatingData(); } else { ApplicationModel.levelsStarsRatings[4] = initialStarsRating; } //starsRatingComponent.gameObject.SetActive(true); ApplicationModel.achievementsData.achievements[AchievementsData.MATT_WILL_RETURN_UNLOCKED].achieved = true; ApplicationModel.SaveData <AchievementsData>(ApplicationModel.achievementsData); bossReference.GetComponent <BossFire>().CancelInvoke("Fire"); }
/// <summary> /// Checks Wheter the level is completed. /// </summary> private void CheckLevelComplete() { if (gridLines == null) { return; } bool isLevelComplete = true; for (int i = 0; i < gridLines.Length; i++) { //只要有一个gridLines.completedLine = fase就是未完成 if (!gridLines [i].completedLine) { isLevelComplete = false; break; } } if (isLevelComplete) //过关 { timer.Stop(); //停止定时器 isRunning = false; try { ///Save the stars level DataManager.MissionData currentMissionData = DataManager.FindMissionDataById(Mission.wantedMission.ID, DataManager.filterdMissionsData); DataManager.LevelData currentLevelData = currentMissionData.FindLevelDataById(TableLevel.wantedLevel.ID); currentLevelData.starsLevel = StarsRating.GetLevelStarsRating(Timer.timeInSeconds, GameManager.movements, gridCells.Length); if (currentLevelData.ID + 1 <= currentMissionData.levelsData.Count) { ///Unlock the next level DataManager.LevelData nextLevelData = currentMissionData.FindLevelDataById(TableLevel.wantedLevel.ID + 1); nextLevelData.isLocked = false; } DataManager.SaveMissionsDataToFile(DataManager.filterdMissionsData); } catch (Exception ex) { Debug.Log(ex.Message); } ///Show the black area BlackArea.Show(); //深色背景 ///Show the awesome dialog GameObject.FindObjectOfType <AwesomeDialog> ().Show(); //显示过关的dialog Debug.Log("You completed level " + TableLevel.wantedLevel.ID); } }
public Rating(Guid id, Guid eventId, StarsRating stars) { Id = id; EventId = eventId; Stars = stars; }