public void SetUserLabel(NodeAddedEvent e, UserNode user, [Context, JoinByUser] UserLabelIndicatorNode userLabelIndicator, [JoinByScoreTable] ScoreTableNode scoreTable)
        {
            GameObject       userLabel = userLabelIndicator.scoreTableUserLabelIndicator.userLabel;
            bool             premium   = user.Entity.HasComponent <PremiumAccountBoostComponent>();
            UserLabelBuilder builder   = new UserLabelBuilder(user.Entity.Id, userLabel, user.userAvatar.Id, premium);
            LeagueNode       node      = base.Select <LeagueNode>(user.Entity, typeof(LeagueGroupComponent)).FirstOrDefault <LeagueNode>();

            if (node != null)
            {
                builder.SetLeague(node.leagueConfig.LeagueIndex);
            }
            builder.SkipLoadUserFromServer();
            if (scoreTable.scoreTableUserAvatar.EnableShowUserProfileOnAvatarClick)
            {
                builder.SubscribeAvatarClick();
            }
            builder.Build();
        }
Ejemplo n.º 2
0
 public void SetLeagueInfo(NodeAddedEvent e, ProfileSummarySectionUINode sectionUI, ProfileScreenWithUserGroupNode profileScreen, [Context] LeagueUINode uiNode, [JoinByUser] UserWithLeagueNode user, [JoinByLeague, Context] LeagueNode league)
 {
     uiNode.leagueUI.SetLeague(league.leagueName.Name, league.leagueIcon.SpriteUid, user.userReputation.Reputation);
     sectionUI.profileSummarySectionUI.showRewardsButton.SetActive(user.Entity.HasComponent <SelfUserComponent>());
 }
Ejemplo n.º 3
0
 public void GetSquadTeleportPrice(SquadTeleportPriceEvent e, UserInSquadNode userInSquad, [JoinBySquad, Combine] UserInSquadNode user, [JoinByLeague] LeagueNode league)
 {
     e.TeleportPrice += league.leagueEnergyConfig.Cost;
 }
Ejemplo n.º 4
0
        public void GetSquadCurrentEnergy(SquadCurrentEnergy e, UserInSquadNode userInSquad, [JoinBySquad, Combine] UserInSquadNode user, [JoinByUser] EnergyItemNode userEnergy, [JoinByUser] UserInSquadNode user1, [JoinByLeague] LeagueNode league)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            long num = (long)Mathf.Min((float)league.leagueEnergyConfig.Cost, (float)(userEnergy.userItemCounter.Count + eventInstance.totalGift));

            e.CurrentEnergy += num;
        }
Ejemplo n.º 5
0
 public void GetSelfExcessEnergy(SelfExcessEnergyEvent e, Node any, [JoinAll] SelfUserInSquadNode selfUserInSquad, [JoinByUser] EnergyItemNode selfEnergy, [JoinByUser] SelfUserInSquadNode selfUserInSquad1, [JoinByLeague] LeagueNode selfLeague)
 {
     e.ExcessEnergy = (selfEnergy.userItemCounter.Count - selfLeague.leagueEnergyConfig.Cost) - this.GetPayed(selfUserInSquad);
 }
Ejemplo n.º 6
0
 public void EnergyAdded(NodeAddedEvent e, EnergyItemNode energy, [JoinByUser] UserInSquadNode user, [JoinByUser] UserEnergyCellNode userCell, [JoinByUser] UserInSquadNode userInSquad, [JoinByLeague] LeagueNode league)
 {
     this.UpdateEnergyCell(user, userCell, energy, league);
     this.UpdateSquadTeleportInfo(user);
 }
Ejemplo n.º 7
0
 public void SetLeagueInfo(NodeAddedEvent e, SingleNode <RankedBattleGUIComponent> uiNode, [JoinAll] SelfUserNode user, [JoinByLeague, Context] LeagueNode league)
 {
     uiNode.component.SetLeague(league.leagueName.Name, league.leagueIcon.SpriteUid);
 }
Ejemplo n.º 8
0
 public void SetLeagueBorder(NodeAddedEvent e, LeagueBorderNode leagueBorder, [JoinByUser] UserNode user, [JoinByLeague] LeagueNode league)
 {
     leagueBorder.leagueBorder.SetLeague(league.leagueConfig.LeagueIndex);
 }
Ejemplo n.º 9
0
        public void SetSelfEnergy(UpdateSelfUserEnergyEvent e, SelfUserInSquadNode user, [JoinByUser] EnergyItemNode energy, SelfUserInSquadNode user1, [JoinByLeague] LeagueNode league, [JoinAll] UserEnergyBarNode screen)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            screen.userEnergyBarUi.SetEnergyLevel((energy.userItemCounter.Count - this.GetPayed(user)) + eventInstance.totalGift, league.leagueEnergyConfig.Capacity);
        }
Ejemplo n.º 10
0
        public void InitUser(NodeAddedEvent e, UserEnergyCellNode userEnergyCell, [JoinByUser] UserInSquadNode user, [JoinByLeague] LeagueNode league, UserEnergyCellNode userEnergyCell1, [JoinByUser] Optional <EnergyItemNode> energy)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            userEnergyCell.userEnergyCellUi.Setup(user.userUid.Uid, !energy.IsPresent() ? 0L : (energy.Get().userItemCounter.Count + eventInstance.totalGift), league.leagueEnergyConfig.Cost);
            userEnergyCell.userEnergyCellUi.SetGiftValue(eventInstance.totalGift, eventInstance.uids);
        }
Ejemplo n.º 11
0
 public void ShowScreenElementsForSelfUser(NodeAddedEvent e, ProfileScreenWithUserGroupNode profileScreen, [JoinByUser] SelfUserNode selfUser, [JoinByLeague] LeagueNode leagueNode)
 {
     profileScreen.profileScreen.selfUserAccountButtonsTab.SetActive(true);
     profileScreen.profileScreen.otherUserAccountButtonsTab.SetActive(false);
     profileScreen.profileScreen.OtherPlayerNickname.gameObject.SetActive(false);
     profileScreen.profileScreen.Avatar.SpriteUid = selfUser.userAvatar.Id;
     profileScreen.profileScreen.IsPremium        = selfUser.Entity.HasComponent <PremiumAccountBoostComponent>();
     profileScreen.profileScreen.LeagueBorder.SelectedSpriteIndex = leagueNode.leagueConfig.LeagueIndex;
 }
Ejemplo n.º 12
0
        public void OpenGameplayChest(ButtonClickEvent e, SingleNode <OpenGameplayChestButtonComponent> button, [JoinAll] UserNode user, [JoinByLeague] LeagueNode league, [JoinAll] ScreenNode screen)
        {
            screen.battleResultsAwardsScreen.openChestButton.SetActive(false);
            Entity entity = Flow.Current.EntityRegistry.GetEntity(league.chestBattleReward.ChestId);
            GamePlayChestItemNode node = base.Select <GamePlayChestItemNode>(entity, typeof(MarketItemGroupComponent)).FirstOrDefault <GamePlayChestItemNode>();

            if ((node != null) && (node.userItemCounter.Count != 0L))
            {
                OpenContainerEvent eventInstance = new OpenContainerEvent {
                    Amount = node.userItemCounter.Count
                };
                base.ScheduleEvent(eventInstance, node);
            }
        }
Ejemplo n.º 13
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);
        }
Ejemplo n.º 14
0
 public void CountAvailableBonusEnergy(TryUseBonusEvent e, EnergyBonusNode bonus1, [JoinByUser] UserNode user, [JoinByLeague] LeagueNode league, EnergyBonusNode bonus2, [JoinByUser] EnergyUserItemNode energy)
 {
     e.AvailableBonusEnergy = league.leagueEnergyConfig.Capacity - energy.userItemCounter.Count;
 }
Ejemplo n.º 15
0
        private void UpdateEnergyCell(UserInSquadNode user, [JoinByUser] UserEnergyCellNode userCell, [JoinByUser] EnergyItemNode energy, [JoinByLeague] LeagueNode league)
        {
            UserGiftEnergyEvent eventInstance = new UserGiftEnergyEvent();

            base.ScheduleEvent(eventInstance, user);
            userCell.userEnergyCellUi.Setup(user.userUid.Uid, energy.userItemCounter.Count + eventInstance.totalGift, league.leagueEnergyConfig.Cost);
            userCell.userEnergyCellUi.SetGiftValue(eventInstance.totalGift, eventInstance.uids);
        }
Ejemplo n.º 16
0
 public void SetLeagueBorder(NodeAddedEvent e, SingleNode <SelfUserAvatarComponent> ui, [JoinAll] SelfUserNode user, [JoinByLeague] LeagueNode league)
 {
     ui.component.SetLeagueBorder(league.leagueConfig.LeagueIndex);
     ui.component.SetRank();
 }
Ejemplo n.º 17
0
 public void UpdateEnergyCells(SquadEnergyChangedEvent e, SquadNode squad, [JoinBySquad] SelfUserInSquadNode selfUserInSquad, [JoinBySquad, Combine] UserInSquadNode user, [JoinByUser] UserEnergyCellNode userCell, [JoinByUser] EnergyItemNode energy, [JoinByUser] UserInSquadNode userInSquad, [JoinByLeague] LeagueNode league)
 {
     this.UpdateEnergyCell(user, userCell, energy, league);
 }
Ejemplo n.º 18
0
 private static int LeagueCompare(LeagueNode a, LeagueNode b) =>
 a.leagueConfig.LeagueIndex - b.leagueConfig.LeagueIndex;
Ejemplo n.º 19
0
        public void Fill(NodeAddedEvent e, LeagueFirstEntranceRewardNotificationNode notification, LeagueDialogNode popup, [JoinAll] UserWithLeagueNode user, [JoinByLeague] LeagueNode league, [JoinAll] Optional <SingleNode <WindowsSpaceComponent> > screens)
        {
            PopupDialogComponent popupDialog = popup.popupDialog;

            popupDialog.itemsContainer.DestroyChildren();
            popupDialog.leagueIcon.SpriteUid = league.leagueIcon.SpriteUid;
            popupDialog.leagueIcon.GetComponent <Image>().preserveAspect = true;
            popupDialog.headerText.text = league.leagueEnterNotificationTexts.HeaderText;
            popupDialog.text.text       = league.leagueEnterNotificationTexts.Text;
            int num = 0;

            foreach (KeyValuePair <long, int> pair in notification.leagueFirstEntranceRewardNotification.Reward)
            {
                popupDialog.itemPrefab.GetComponent <AnimationTriggerDelayBehaviour>().dealy = (num + 1) * popupDialog.itemsShowDelay;
                LeagueEntranceItemComponent component2 = Object.Instantiate <LeagueEntranceItemComponent>(popupDialog.itemPrefab, popupDialog.itemsContainer, false);
                Entity entity = Flow.Current.EntityRegistry.GetEntity(pair.Key);
                int    num2   = pair.Value;
                component2.preview.SpriteUid = entity.GetComponent <ImageItemComponent>().SpriteUid;
                bool flag = num2 > 1;
                component2.text.text = entity.GetComponent <DescriptionItemComponent>().Name + (!flag ? string.Empty : " x");
                component2.gameObject.SetActive(true);
                if (flag)
                {
                    component2.count.Value = num2;
                }
                else
                {
                    component2.count.gameObject.SetActive(false);
                }
                num++;
            }
            popupDialog.Show(!screens.IsPresent() ? new List <Animator>() : screens.Get().component.Animators);
        }