public AchievementsView CreateConcreteAchievementsView() { AchievementsView achievementsView = Instantiate(_achievementsView); container.Inject(achievementsView); return(achievementsView); }
private View AchievementsView() { var achievementsView = new AchievementsView(); //var achievementsView = new TieredAchievementsView(); achievementsView.SetBinding(BindingContextProperty, nameof(HomeViewModel.AchievementsViewModel)); return(achievementsView); }
public void SwitchView() { switch (_menuScreensService.MenuStates) { case MenuScreensService.MenuScreens.Login: LoginView loginView = _menuFactory.CreateConcreteLoginView(); loginView.transform.SetParent(gameObject.transform); loginView.OnLoginViewSetDel = SetState; // nie korzysta z DelegateService, jego delegat jest nieco inny od pozostałych break; case MenuScreensService.MenuScreens.MainMenu: MainLobbyView mainLobbyView = _menuFactory.CreateConcreteMainLobbyView(); mainLobbyView.transform.SetParent(gameObject.transform); _delegateService.OnStateSetDel = SetState; break; case MenuScreensService.MenuScreens.HowtoPlay: HowToPlayView howToPlay = _menuFactory.CreateConcreteHowToPlayView(); howToPlay.transform.SetParent(gameObject.transform); _delegateService.OnStateSetDel = SetState; break; case MenuScreensService.MenuScreens.Credits: CreditsView creditsView = _menuFactory.CreateConcreteCreditsView(); creditsView.transform.SetParent(gameObject.transform); _delegateService.OnStateSetDel = SetState; break; case MenuScreensService.MenuScreens.Achievements: AchievementsView achievementsView = _menuFactory.CreateConcreteAchievementsView(); achievementsView.transform.SetParent(gameObject.transform); _delegateService.OnStateSetDel = SetState; break; case MenuScreensService.MenuScreens.Profile: ProfileView profileView = _menuFactory.CreateConcreteProfileView(); profileView.transform.SetParent(gameObject.transform); _delegateService.OnStateSetDel = SetState; break; case MenuScreensService.MenuScreens.NewGame: SceneManager.LoadScene("Game"); break; } }
public async Task <AchievementsView> GetAchievementsView(List <Season> seasons, Season season) { var leaderboardView = await _leaderboardViewRepository.GetLeaderboardView(season); var matches = (await _matchRepository.GetMatches(season.StartDate, HelperMethods.GetNextSeason(seasons, season)?.StartDate)) .OrderBy(m => m.TimeStampUtc).ToList(); GetStreak(matches, leaderboardView.Entries, true, out var winStreak, out var playerWin); GetStreak(matches, leaderboardView.Entries, false, out var lossStreak, out var playerLoss); var mostGames = leaderboardView.Entries.OrderByDescending(e => e.NumberOfGames).First(); var mostWins = leaderboardView.Entries.OrderByDescending(e => e.Wins).First(); var bestRatio = leaderboardView.Entries.OrderByDescending(e => e.Wins / e.NumberOfGames).First(); var flawlessVictoryWinners = new List <string>(); var flawlessVictoryLoosers = new List <string>(); GetFlawlessVictory(matches, flawlessVictoryWinners, flawlessVictoryLoosers); var view = new AchievementsView { Achievements = new List <Achievement>() { new Achievement() { Headline = "Most games", UserName = mostGames.UserName, Count = mostGames.NumberOfGames.ToString(), Type = "Games" }, new Achievement() { Headline = "Most wins", UserName = mostWins.UserName, Count = mostWins.Wins.ToString(), Type = "Games" }, new Achievement() { Headline = "Best win ratio", UserName = bestRatio.UserName, Count = ((int)((double)((double)bestRatio.Wins / (double)bestRatio.NumberOfGames) * 100)).ToString(), Type = "Ratio" }, new Achievement() { Headline = "Longest win streak", UserName = playerWin.UserName, Count = winStreak.ToString(), Type = "Games" }, new Achievement() { Headline = "Longest loss streak", UserName = playerLoss.UserName, Count = lossStreak.ToString(), Type = "Games" }, //new Achievement() //{ // Headline = "Most points for single match", // UserName = "******", // Count = "", // Type = "Points" //}, new Achievement() { Headline = "Flawless victory (10-0 win)", UserName = "******" + string.Join(" and ", flawlessVictoryWinners.ToArray()), Count = string.Join(" and ", flawlessVictoryLoosers.ToArray()), Type = "Loosers" } } }; return(view); }