public void GetBattleType(GetBattleTypeEvent e, Node any, [JoinAll] ResultsNode results, [JoinAll] ICollection <SingleNode <TutorialSetupEndgameScreenHandler> > tutorialHandlers) { BattleResultForClient resultForClient = results.battleResults.ResultForClient; BattleResultsAwardsScreenComponent.BattleTypes none = BattleResultsAwardsScreenComponent.BattleTypes.None; if (resultForClient.Custom) { none = BattleResultsAwardsScreenComponent.BattleTypes.Custom; } else if (tutorialHandlers.Count > 0) { foreach (SingleNode <TutorialSetupEndgameScreenHandler> node in tutorialHandlers) { node.component.gameObject.SetActive(false); } none = BattleResultsAwardsScreenComponent.BattleTypes.Tutorial; } else { BattleType matchMakingModeType = resultForClient.MatchMakingModeType; if (matchMakingModeType == BattleType.ENERGY) { none = BattleResultsAwardsScreenComponent.BattleTypes.Quick; } else if (matchMakingModeType == BattleType.ARCADE) { none = BattleResultsAwardsScreenComponent.BattleTypes.Arcade; } else if (matchMakingModeType == BattleType.RATING) { none = !e.WithCashback ? BattleResultsAwardsScreenComponent.BattleTypes.Ranked : BattleResultsAwardsScreenComponent.BattleTypes.RankedWithCashback; } } e.BattleType = none; }
public void ShowTitle(ScreenNode screen, ResultsNode results, int userDMPlace) { BattleResultForClient resultForClient = results.battleResults.ResultForClient; BattleMode battleMode = resultForClient.BattleMode; screen.battleResultsAwardsScreen.SetupHeader(battleMode, resultForClient.MatchMakingModeType, resultForClient.PersonalResult.TeamBattleResult, Flow.Current.EntityRegistry.GetEntity(resultForClient.MapId).GetComponent <DescriptionItemComponent>().Name, userDMPlace); }
public void ShowReputation(ScreenNode screen, ResultsNode results, SelfUserNode user) { if (!screen.battleResultsAwardsScreen.CanShowLeagueProgress()) { screen.battleResultsAwardsScreen.HideLeagueProgress(); } else { screen.battleResultsAwardsScreen.ShowLeagueProgress(); LeagueResultUI leagueResultUI = screen.battleResultsAwardsScreen.leagueResultUI; BattleResultForClient resultForClient = results.battleResults.ResultForClient; PersonalBattleResultForClient personalResult = resultForClient.PersonalResult; Entity prevLeague = personalResult.PrevLeague; Entity league = personalResult.League; double reputation = personalResult.Reputation; double reputationDelta = personalResult.ReputationDelta; bool topLeague = league.HasComponent <TopLeagueComponent>(); int leaguePlace = personalResult.LeaguePlace; bool unfairMatching = resultForClient.FindUserResultByUserId(user.Entity.Id).UnfairMatching; if (!ReferenceEquals(prevLeague, league)) { leagueResultUI.SetPreviousLeague(prevLeague); } leagueResultUI.SetCurrentLeague(league, reputation, (long)leaguePlace, topLeague, reputationDelta, unfairMatching); leagueResultUI.DealWithReputationChange(); if (!ReferenceEquals(prevLeague, league)) { leagueResultUI.ShowNewLeague(); } } }
public void ShowReward(NodeAddedEvent e, ScreenNode screen, [JoinAll] ResultsNode results) { Entity reward = results.battleResults.ResultForClient.PersonalResult.Reward; if (reward != null) { AddRewardGroup(screen, reward); base.Log.DebugFormat("ShowReward: reward={0}", reward.Id); base.NewEvent <ShowRewardEvent>().Attach(reward).Attach(screen).Schedule(); } }
public void ScreenInit(NodeAddedEvent e, ScreenNode screen, [JoinAll] ResultsNode results, [JoinAll] SelfUserNode selfUser, [JoinAll] ICollection <QuestNode> quests) { BattleResultForClient resultForClient = results.battleResults.ResultForClient; PersonalBattleResultForClient personalResult = resultForClient.PersonalResult; bool flag = personalResult.MaxEnergySource == EnergySource.MVP_BONUS; bool flag2 = (personalResult.MaxEnergySource == EnergySource.UNFAIR_MM) || (personalResult.MaxEnergySource == EnergySource.DISBALANCE_BONUS); GetBattleTypeEvent eventInstance = new GetBattleTypeEvent { WithCashback = flag || flag2 }; base.ScheduleEvent(eventInstance, screen); screen.battleResultsAwardsScreen.SetBattleType(eventInstance.BattleType); int userDMPlace = (resultForClient.BattleMode != BattleMode.DM) ? 0 : (resultForClient.DmUsers.IndexOf(resultForClient.FindUserResultByUserId(selfUser.Entity.Id)) + 1); this.ShowTitle(screen, results, userDMPlace); this.ShowReputation(screen, results, selfUser); }
public void ShowExp(NodeAddedEvent e, ScreenNode screen, [JoinAll] ResultsNode results, [JoinAll] SelfUserNode selfUser, [JoinByLeague] LeagueNode league, [JoinAll] ModuleUpgradeConfigNode moduleUpgradeConfig, [JoinAll] RankNamesNode rankNames, [JoinAll] SingleNode <RanksExperiencesConfigComponent> ranksExperiencesConfig) { BattleResultForClient resultForClient = results.battleResults.ResultForClient; PersonalBattleResultForClient personalResult = resultForClient.PersonalResult; UserResult result = resultForClient.FindUserResultByUserId(selfUser.Entity.Id); int rank = selfUser.userRank.Rank; int index = rank - 2; int initValue = ((index < 0) || (index >= ranksExperiencesConfig.component.RanksExperiences.Length)) ? 0 : ranksExperiencesConfig.component.RanksExperiences[index]; int num4 = rank - 1; int maxValue = ((num4 < 0) || (num4 >= ranksExperiencesConfig.component.RanksExperiences.Length)) ? 0 : ranksExperiencesConfig.component.RanksExperiences[num4]; screen.battleResultsAwardsScreen.ShowRankProgress(initValue, personalResult.RankExp, maxValue, personalResult.RankExpDelta, result.ScoreWithoutPremium, rank, rankNames.ranksNames.Names); Entity entity = Flow.Current.EntityRegistry.GetEntity(league.chestBattleReward.ChestId); GamePlayChestItemNode node = base.Select <GamePlayChestItemNode>(entity, typeof(MarketItemGroupComponent)).FirstOrDefault <GamePlayChestItemNode>(); screen.battleResultsAwardsScreen.openChestButton.SetActive((node != null) && (node.userItemCounter.Count != 0L)); screen.battleResultsAwardsScreen.ShowContainerProgress(personalResult.ContainerScore, personalResult.ContainerScoreDelta, result.ScoreWithoutPremium, personalResult.ContainerScoreLimit, ((personalResult.Container == null) || !personalResult.Container.HasComponent <ImageItemComponent>()) ? string.Empty : personalResult.Container.GetComponent <ImageItemComponent>().SpriteUid); screen.battleResultsAwardsScreen.SetTankInfo(result.HullId, result.WeaponId, result.Modules, moduleUpgradeConfig.moduleUpgradablePowerConfig); screen.battleResultsAwardsScreen.SetHullExp(personalResult.TankInitExp, personalResult.TankExp, personalResult.TankFinalExp, personalResult.ItemsExpDelta, result.ScoreWithoutPremium, personalResult.TankLevel); screen.battleResultsAwardsScreen.SetTurretExp(personalResult.WeaponInitExp, personalResult.WeaponExp, personalResult.WeaponFinalExp, personalResult.ItemsExpDelta, result.ScoreWithoutPremium, personalResult.WeaponLevel); }
public void ShowMatchDetails(NodeAddedEvent e, SingleNode <BattleResultsScreenStatComponent> screen, [JoinAll] ResultsNode results) { BattleResultForClient resultForClient = results.battleResults.ResultForClient; string name = base.GetEntityById(resultForClient.MapId).GetComponent <DescriptionItemComponent>().Name; BattleMode battleMode = resultForClient.BattleMode; string str2 = $"{battleMode}, {name}"; screen.component.BattleDescription = str2; if (results.battleResults.ResultForClient.BattleMode == BattleMode.DM) { screen.component.ShowDMMatchDetails(); } else { screen.component.ShowTeamMatchDetails(); } }
public void OnBonusUsed(FinishPersonalXCrystalBonusEvent e, SingleNode <SelfUserComponent> user, [JoinAll] ResultsNode results) { Entity reward = results.battleResults.ResultForClient.PersonalResult.Reward; base.ScheduleEvent <ChangeRewardUiOnSuccessPaymentEvent>(reward); }
public void PutReputationToEnter(UpdateTopLeagueInfoEvent e, SelfUserNode user, [JoinAll] ScreenNode screen, [JoinAll] TopLeagueNode topLeague, [JoinAll] ResultsNode results) { if (!results.battleResults.ResultForClient.Spectator && screen.battleResultsAwardsScreen.CanShowLeagueProgress()) { screen.battleResultsAwardsScreen.leagueResultUI.PutReputationToEnter(topLeague.Entity.Id, e.LastPlaceReputation); } }