コード例 #1
0
    void TestReDrawLeader()
    {
        //Нужно ли отрисовать? и получена ли таблица?
        if (NeedReDrawFriends && asuncSteam != null && asuncSteam.getterLeaderboardDownloadFriends)
        {
            NeedReDrawFriends = false;
            //Запрос начинает выполнение

            //Сперва очищаем табицу от предыдущего результата
            SumUserLoaded = 0;
            ScoreTabSteamID[] oldList = gameObject.GetComponentsInChildren <ScoreTabSteamID>();
            if (oldList != null && oldList.Length > 0)
            {
                for (int num_now = 0; num_now < oldList.Length; num_now++)
                {
                    if (oldList[num_now] != null)
                    {
                        Destroy(oldList[num_now].gameObject);
                    }
                }
            }

            //Таблица очищена грузим новую
            if (PrefabScoreTabWorld != null)
            {
                //Перебираем все результаты
                for (int num_now = 0; num_now < asuncSteam.SteamleaderboardScoresDownloaded_Friends.m_cEntryCount; num_now++)
                {
                    //Вытаскиваем позицию игрока
                    LeaderboardEntry_t leaderboardEntry;
                    int[] details = new int[5];
                    bool  ok_load = SteamUserStats.GetDownloadedLeaderboardEntry(asuncSteam.SteamleaderboardScoresDownloaded_Friends.m_hSteamLeaderboardEntries, num_now, out leaderboardEntry, details, 5);
                    if (ok_load)
                    {
                        SumUserLoaded++;
                        //Создаем ячейку
                        GameObject    playerResultObj = Instantiate(PrefabScoreTabWorld, gameObject.transform);
                        RectTransform rectTransform   = playerResultObj.GetComponent <RectTransform>();

                        //Меняем позицию этого результата
                        Vector3 positionNew = rectTransform.position;
                        Vector2 pivotNew    = rectTransform.pivot;

                        pivotNew.y = SumUserLoaded;

                        rectTransform.pivot    = pivotNew;
                        rectTransform.position = positionNew;


                        ScoreTabSteamID scoreTabWorldSteamID = playerResultObj.GetComponent <ScoreTabSteamID>();
                        scoreTabWorldSteamID.inicializationSteamID(leaderboardEntry.m_steamIDUser);
                        scoreTabWorldSteamID.setScore(leaderboardEntry.m_nScore);
                        scoreTabWorldSteamID.setNum(SumUserLoaded);
                    }
                }
            }
        }
    }
コード例 #2
0
    //Добавить звено
    void AddZvenoSteamID(CSteamID SteamID)
    {
        bool ok = true;
        //Cоздаем звено
        zvenoStatTab NewZveno    = new zvenoStatTab();
        GameObject   ScoreResult = Instantiate(PrefabScoreTabFriend, gameObject.transform);

        //Заполняем
        ScoreTabSteamID ScoreSteamID = ScoreResult.GetComponent <ScoreTabSteamID>();

        if (ScoreSteamID != null)
        {
            ScoreSteamID.inicializationSteamID(SteamID);
            //Получаем очки
        }
        else
        {
            ok = false;
        }

        //Если ошибок нет
        if (ok)
        {
            if (ZvenoStart == null)
            {
                ZvenoStart             = NewZveno;
                ZvenoStart.ScoreFriend = ScoreResult;
            }
            else
            {
                ZvenoStart.AddZveno(NewZveno, ScoreResult);
            }
        }
        //Если данные с ошибкой то удаляем их
        else
        {
            Destroy(ScoreResult);
            need_re_update = true;
        }
    }