コード例 #1
0
    private void OnTeamGoal(SoccerTeam team, int goalCount)
    {
        if (_teamViewsDict.ContainsKey(team))
        {
            _teamViewsDict[team].SetText($"{team.TeamIndex}: {goalCount}");
        }
        else
        {
            UIGoalTextCounter textCounter = Instantiate(_textCounterUIprefab, transform);
            _teamViewsDict.Add(team, textCounter);
            textCounter.SetText($"{team.TeamIndex}: {goalCount}");

            //UIGoalTextCounter color
            Color uiGoalTextCounterColor = team.TeamColor;
            textCounter.GetComponent <Text>().color = uiGoalTextCounterColor;

            //UIGoalTextCounter size
            RectTransform rect = textCounter.GetComponent <RectTransform>();

            if (rect != null)
            {
                rect.sizeDelta = _sizeForBlock;
            }
        }

        SortTeamsByGoals();
        //GoalCounter.Instance.OnCounterChanged -= OnTeamGoal;
    }
コード例 #2
0
    private void SortTeamsByGoals()
    {
        var teamList = GoalCounter.Instance.GoalsDict.ToList();
        var sorted   = teamList.OrderBy(pair => pair.Value).ToList();

        sorted.Reverse();
        int index      = 1;
        int lastPoints = 0;

        foreach (var pair in sorted)
        {
            SoccerTeam        team        = pair.Key;
            int               teamPoints  = pair.Value;
            UIGoalTextCounter textCounter = _teamViewsDict[team];
            textCounter.transform.SetSiblingIndex(index);

            if (teamPoints == lastPoints)
            {
                textCounter.transform.SetSiblingIndex(index - 2);
            }
            lastPoints = teamPoints;
            index++;
        }
    }