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); } } } } }
//Добавить звено 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; } }