;(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

E3 2020 é cancelada devido à pandemia de coronavírus

E3 2019 reuniu centenas de pessoas nos EUA - Reprodução
E3 2019 reuniu centenas de pessoas nos EUA Imagem: Reprodução

Do START, em São Paulo

11/03/2020 13h49

Resumo da notícia

  • E3 2020 foi cancelada oficialmente em decisão anunciada hoje pela Entertainment Software Association (ESA)
  • Suspensão foi causada pelas preocupações referentes ao surto do novo coronavírus
  • Decisão ocorre no mesmo dia em que a Organização Mundial de Saúde (OMS) declarou pandemia devido à doença
  • A feira seria realizada de 9 a 11 de junho em Los Angeles (EUA)
  • Organização divulgou que realizará experiências online em junho para os fãs

A E3 2020 foi cancelada oficialmente, conforme anunciou hoje a Entertainment Software Association (ESA). Após uma série de rumores, a suspensão da feira foi confirmada devido às preocupações referentes ao surto do novo coronavírus, classificado hoje como uma pandemia pela Organização Mundial de Saúde (OMS).

"O time da E3 está devastado em compartilhar essa notícia. Essa decisão não foi feita com facilidade, mas é a correta pela saúde e segurança de todos os envolvidos", tuitou a organização.

"Depois de consideração cuidadosa com os integrantes de nossa companhia em relação a segurança e saúde de cada um em nossa indústria - nossos fãs, nossos empregados, nossos exibidores e os parceiros de longa data da E3 - nós tomamos a difícil decisão de cancelar a E3 2020, marcada para 9 a 11 de junho em Los Angeles", adicionou a feira.

É a primeira vez desde 1995 que a feira de games, a mais prestigiada do ano, não será realizada.

"Com o crescimento e as grandes preocupações em relação à covid-19, achamos que seria a melhor forma de proceder diante desta preocupação global sem precedentes. Estamos muito desapontados em não poder seguir com o evento para nossos fãs e apoiadores", comunicou.

A E3 vai organizar algumas experiências online no mês de junho para os fãs, como uma forma de compensação pelo cancelamento. "Estamos ansiosos em trazer para vocês a E3 2021 como um evento reinventado", prometeu a organização.

Xbox terá evento online

Depois da confirmação do cancelamento, Phil Spencer, chefe da divisão Xbox na Microsoft, assegurou aos fãs que haverá um "evento digital de Xbox". Os detalhes serão revelados nas próximas semanas.

"A E3 sempre foi um momento importante para a equipe do Xbox. Dada esta decisão, este ano nós celebraremos nossa geração de jogos com a comunidade em um evento Xbox digital. Detalhes nas próximas semanas", tuitou Spencer.

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: http://vm.tiktok.com/Rqwe2g/
Twitch: https://www.twitch.tv/start_uol