Exemplo n.º 1
0
    /// <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);
    }
Exemplo n.º 2
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");
    }
Exemplo n.º 3
0
    /// <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);
        }
    }
Exemplo n.º 4
0
 public Rating(Guid id, Guid eventId, StarsRating stars)
 {
     Id      = id;
     EventId = eventId;
     Stars   = stars;
 }