Пример #1
0
 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();
         }
     }
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }