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) { sceneData.PlayerProfileToMicProfileMap.TryGetValue(playerProfile, out MicProfile micProfile); PlayerScoreControllerData playerScoreData = sceneData.GetPlayerScores(playerProfile); SongRating songRating = GetSongRating(playerScoreData.TotalScore); Injector childInjector = UniInjectUtils.CreateInjector(injector); childInjector.AddBindingForInstance(playerProfile); childInjector.AddBindingForInstance(micProfile); childInjector.AddBindingForInstance(playerScoreData); childInjector.AddBindingForInstance(songRating); childInjector.AddBinding(new Binding("playerProfileIndex", new ExistingInstanceProvider <int>(i))); SingingResultsPlayerUiController[] uiControllers = selectedLayout.GetComponentsInChildren <SingingResultsPlayerUiController>(); if (i < uiControllers.Length) { childInjector.InjectAllComponentsInChildren(uiControllers[i]); } i++; } }
public void AddPlayerScores(PlayerProfile profile, PlayerScoreControllerData scoreData) { if (!PlayerProfiles.Contains(profile)) { PlayerProfiles.Add(profile); } playerScoreMap[profile] = scoreData; }
public SceneData GetDefaultSceneData() { SingingResultsSceneData data = new SingingResultsSceneData(); SongMetaManager.Instance.WaitUntilSongScanFinished(); data.SongMeta = SongMetaManager.Instance.GetFirstSongMeta(); data.SongDurationInMillis = 120 * 1000; PlayerScoreControllerData playerScoreData = new PlayerScoreControllerData(); playerScoreData.TotalScore = 6500; playerScoreData.NormalNotesTotalScore = 4000; playerScoreData.GoldenNotesTotalScore = 2000; playerScoreData.PerfectSentenceBonusTotalScore = 500; playerScoreData.NormalNoteLengthTotal = 80; playerScoreData.GoldenNoteLengthTotal = 20; playerScoreData.PerfectSentenceCount = 10; playerScoreData.NormalBeatData.GoodBeats = 30; playerScoreData.NormalBeatData.PerfectBeats = 10; playerScoreData.GoldenBeatData.GoodBeats = 5; playerScoreData.GoldenBeatData.PerfectBeats = 5; Sentence sentence1 = CreateDummySentence(0, 200); Sentence sentence2 = CreateDummySentence(201, 500); Sentence sentence3 = CreateDummySentence(501, 1500); playerScoreData.SentenceToSentenceScoreMap.Add(sentence1, CreateSentenceScore(sentence1, 3000)); playerScoreData.SentenceToSentenceScoreMap.Add(sentence2, CreateSentenceScore(sentence2, 5000)); playerScoreData.SentenceToSentenceScoreMap.Add(sentence3, CreateSentenceScore(sentence3, 6500)); PlayerProfile playerProfile = SettingsManager.Instance.Settings.PlayerProfiles[0]; data.AddPlayerScores(playerProfile, playerScoreData); data.PlayerProfileToMicProfileMap[playerProfile] = SettingsManager.Instance.Settings.MicProfiles.FirstOrDefault(); return(data); }