;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL

Topo

Wild Tour Brazil Finals: 'Promete emoção', revela Carlos Antunes, da Riot

CesarGaleao/RiotGames
Imagem: CesarGaleao/RiotGames

Amanda Fleure, do Start

Em São Paulo

08/10/2021 18h11

As finais das qualificatórias abertas do Wild Tour Brazil acontecem neste final de semana (de 8 a 10 de outubro), onde os fãs conhecerão a melhor equipe de Wild Rift do Brasil e representante na Horizon Cup, primeiro torneio internacional do jogo, em Singapura.

Em confrontos presenciais nos Estúdios da Riot Games Brasil, em São Paulo, as equipes SóAgradece, TSM, GOAT, Katrishiso, DreamMax e-Sports, Havan Liberty, Omegha E-sports e Keyd Stars seguem na briga pela vaga, o título e o prêmio de R$60 mil.

Em entrevista ao START, o líder de Esports da Riot Games do Brasil, Caco Antunes, revelou suas projeções sobre o cenário mobile de League of Legends:

Carlos Antunes Riot Gammes - Divulgação/DotEsports - Divulgação/DotEsports
Imagem: Divulgação/DotEsports

"Desde o lançamento do Wild Rift, o Brasil já tem chamado a atenção em termos de nível de desempenho e engajamento da comunidade quando comparado às demais regiões da Riot no mundo, confirmando nossa vocação para o Wild Rift, e temos certeza de que estamos ainda no começo de nossa trajetória!"
Carlos Antunes, Líder de Esports da Riot Games no Brasil

Entre as equipes favoritas pelo título estão a Só Agradece e TSM. Para Antunes, as qualificatórias destacaram o potencial de WR no Brasil. "Ainda estamos no começo de uma história que promete muita emoção. O país é conhecido pela popularidade dos jogos mobile, não sabemos ainda como será a performance do Brasil mundialmente, mas estamos confiantes e certamente teremos uma torcida apaixonada apoiando o país em Singapura".

League of Legends: Wild Rift 2.2c (Foto: Divulgação) - Reprodução / Internet - Reprodução / Internet
Imagem: Reprodução / Internet

Com três dias de decisão, as quartas de final serão em série melhor de três (MD3). Já as semifinais seguem em melhor de cinco (MD5), enquanto a Grande Final, será realizada em série melhor de sete (MD7), onde vencedor de quatro jogos será campeão do Wild Tour Brazil.

Para acompanhar, as transmissões terão início às 13h (no horário de Brasília), nos canais oficiais da Riot Games Brasil (YouTube e Twitch). As quartas de final, também serão transmitidas no canal da Riot Games na Nimo TV.

SIGA O START NAS REDES SOCIAIS

Twitter: https://twitter.com/start_uol
Instagram: https://www.instagram.com/start_uol/
Facebook: https://www.facebook.com/startuol/
TikTok: https://www.tiktok.com/@start_uol?
Twitch: https://www.twitch.tv/startuol