public void InitDMScreen(NodeAddedEvent e, DMScoreTableNode scoreTable, BattleResultsNode battleResults, SingleNode <DMBattleResultsScreenComponent> screen, [JoinAll] SelfUserNode selfUser, [JoinAll] SingleNode <FriendsComponent> friends)
        {
            ScrollRect component = scoreTable.dmScoreTable.gameObject.GetComponent <ScrollRect>();
            Vector2    vector    = new Vector2();

            component.content.anchoredPosition = vector;
            PlayerStatInfoUI rowPrefab = scoreTable.battleResultsScoreTable.rowPrefab;
            int selfScore = 0;
            int maxScore  = 0;

            foreach (UserResult result in battleResults.battleResults.ResultForClient.DmUsers)
            {
                bool isSelf        = result.UserId == selfUser.userGroup.Key;
                bool containerLeft = false;
                bool isFriend      = friends.component.AcceptedFriendsIds.Contains(result.UserId);
                int  leagueIndex   = result.League.GetComponent <LeagueConfigComponent>().LeagueIndex;
                bool isDm          = true;
                if (isSelf)
                {
                    selfScore = result.ScoreWithoutPremium;
                }
                PlayerStatInfoUI oui2 = Object.Instantiate <PlayerStatInfoUI>(rowPrefab);
                oui2.Init(leagueIndex, result.Uid, result.Kills, result.Deaths, result.KillAssists, result.ScoreWithoutPremium, !isSelf ? Color.white : scoreTable.scoreTableRowColor.selfRowColor, result.HullId, result.WeaponId, result.UserId, battleResults.battleResults.ResultForClient.BattleId, result.AvatarId, isSelf, isDm, isFriend, containerLeft, false);
                oui2.transform.SetParent(component.content, false);
                if (result.ScoreWithoutPremium > maxScore)
                {
                    maxScore = result.ScoreWithoutPremium;
                }
            }
            screen.component.Init(selfScore, maxScore, Flow.Current.EntityRegistry.GetEntity(battleResults.battleResults.ResultForClient.MapId).GetComponent <DescriptionItemComponent>().Name);
        }
예제 #2
0
 public void InitRowsCache(NodeAddedEvent e, [Combine] DMScoreTableNode scoreTable, [Context, JoinByBattle] DMBattleNode battle)
 {
     scoreTable.scoreTable.InitRowsCache(battle.userLimit.UserLimit, scoreTable.scoreTableUserRowIndicators.indicators);
     scoreTable.Entity.AddComponent <ScoreTableRowsCacheInitedComponent>();
 }