public void FinishScene() { // Open the singing results scene. SingingResultsSceneData singingResultsSceneData = new SingingResultsSceneData(); singingResultsSceneData.SongMeta = SongMeta; singingResultsSceneData.PlayerProfileToMicProfileMap = sceneData.PlayerProfileToMicProfileMap; // Check if the full song has been sung, i.e., the playback position is after the last note. // This determines whether the statistics should be updated and the score should be recorded. bool isAfterLastNote = true; foreach (PlayerController playerController in PlayerControllers) { SingingResultsSceneData.PlayerScoreData scoreData = new SingingResultsSceneData.PlayerScoreData(); scoreData.TotalScore = playerController.PlayerScoreController.TotalScore; scoreData.GoldenNotesScore = playerController.PlayerScoreController.GoldenNotesTotalScore; scoreData.NormalNotesScore = playerController.PlayerScoreController.NormalNotesTotalScore; scoreData.PerfectSentenceBonusScore = playerController.PlayerScoreController.PerfectSentenceBonusTotalScore; singingResultsSceneData.AddPlayerScores(playerController.PlayerProfile, scoreData); Note lastNote = playerController.GetLastNote(); if (CurrentBeat < lastNote.EndBeat) { isAfterLastNote = false; } } if (isAfterLastNote) { UpdateSongFinishedStats(); } SceneNavigator.Instance.LoadScene(EScene.SingingResultsScene, singingResultsSceneData); }
public void FinishScene() { // Open the singing results scene. SingingResultsSceneData singingResultsSceneData = new SingingResultsSceneData(); singingResultsSceneData.SongMeta = SongMeta; //Get the stats manager and the stats object Statistics stats = StatsManager.Instance.Statistics; foreach (PlayerController playerController in PlayerControllers) { SingingResultsSceneData.PlayerScoreData scoreData = new SingingResultsSceneData.PlayerScoreData(); scoreData.TotalScore = playerController.PlayerScoreController.TotalScore; scoreData.GoldenNotesScore = playerController.PlayerScoreController.GoldenNotesTotalScore; scoreData.NormalNotesScore = playerController.PlayerScoreController.NormalNotesTotalScore; scoreData.PerfectSentenceBonusScore = playerController.PlayerScoreController.PerfectSentenceBonusTotalScore; singingResultsSceneData.AddPlayerScores(playerController.PlayerProfile, scoreData); //Save to highscore database stats.RecordSongFinished(SongMeta, playerController.PlayerProfile.Name, playerController.PlayerProfile.Difficulty, Convert.ToInt32(playerController.PlayerScoreController.TotalScore)); } SceneNavigator.Instance.LoadScene(EScene.SingingResultsScene, singingResultsSceneData); }
public void Init(PlayerProfile playerProfile, SingingResultsSceneData.PlayerScoreData playerScoreData) { SetPlayerProfile(playerProfile); SetNormalNotesScore(playerScoreData.NormalNotesScore); SetGoldenNotesScore(playerScoreData.GoldenNotesScore); SetPerfectSentenceBonusScore(playerScoreData.PerfectSentenceBonusScore); SetTotalScore(playerScoreData.TotalScore); }
private SingingResultsSceneData CreateDefaultSceneData() { SingingResultsSceneData data = new SingingResultsSceneData(); data.SongMeta = SongMetaManager.Instance.SongMetas[0]; SingingResultsSceneData.PlayerScoreData playerScoreData = new SingingResultsSceneData.PlayerScoreData(); playerScoreData.TotalScore = 6500; playerScoreData.NormalNotesScore = 4000; playerScoreData.GoldenNotesScore = 2000; playerScoreData.PerfectSentenceBonusScore = 500; data.AddPlayerScores(PlayerProfileManager.Instance.PlayerProfiles[0], playerScoreData); return(data); }
public void FinishScene() { // Open the singing results scene. SingingResultsSceneData singingResultsSceneData = new SingingResultsSceneData(); singingResultsSceneData.SongMeta = SongMeta; foreach (PlayerController playerController in PlayerControllers) { SingingResultsSceneData.PlayerScoreData scoreData = new SingingResultsSceneData.PlayerScoreData(); scoreData.TotalScore = playerController.PlayerScoreController.TotalScore; scoreData.GoldenNotesScore = playerController.PlayerScoreController.GoldenNotesTotalScore; scoreData.NormalNotesScore = playerController.PlayerScoreController.NormalNotesTotalScore; scoreData.PerfectSentenceBonusScore = playerController.PlayerScoreController.PerfectSentenceBonusTotalScore; singingResultsSceneData.AddPlayerScores(playerController.PlayerProfile, scoreData); } SceneNavigator.Instance.LoadScene(EScene.SingingResultsScene, singingResultsSceneData); }
public SceneData GetDefaultSceneData() { SingingResultsSceneData data = new SingingResultsSceneData(); SongMetaManager.Instance.WaitUntilSongScanFinished(); data.SongMeta = SongMetaManager.Instance.GetFirstSongMeta(); SingingResultsSceneData.PlayerScoreData playerScoreData = new SingingResultsSceneData.PlayerScoreData(); playerScoreData.TotalScore = 6500; playerScoreData.NormalNotesScore = 4000; playerScoreData.GoldenNotesScore = 2000; playerScoreData.PerfectSentenceBonusScore = 500; PlayerProfile playerProfile = SettingsManager.Instance.Settings.PlayerProfiles[0]; data.AddPlayerScores(playerProfile, playerScoreData); return(data); }
private void FillLayout() { SongMeta songMeta = sceneData.SongMeta; string titleText = (String.IsNullOrEmpty(songMeta.Title)) ? "" : songMeta.Title; string artistText = (String.IsNullOrEmpty(songMeta.Artist)) ? "" : " - " + songMeta.Artist; songLabel.text = titleText + artistText; int i = 0; GameObject selectedLayout = GetSelectedLayout(); foreach (PlayerProfile playerProfile in sceneData.PlayerProfiles) { SingingResultsSceneData.PlayerScoreData playerScoreData = sceneData.GetPlayerScores(playerProfile); SingingResultsPlayerUiController[] uiControllers = selectedLayout.GetComponentsInChildren <SingingResultsPlayerUiController>(); if (i < uiControllers.Length) { uiControllers[i].Init(playerProfile, playerScoreData); } i++; } }