// initialize jwplayer var playerInstance = jwplayer('player');// player dom elements var playerContainerEl = document.querySelector('.player-container');// returns video player position from top of document function getElementOffsetTop(el) { var boundingClientRect = el.getBoundingClientRect(); var bodyEl = document.body; var docEl = document.documentElement; var scrollTop = window.pageYOffset || docEl.scrollTop || bodyEl.scrollTop; var clientTop = docEl.clientTop || bodyEl.clientTop || 0; return Math.round(boundingClientRect.top + scrollTop - clientTop); }// returns the current y scroll position function getScrollTop() { var docEl = document.documentElement; return (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0); }// configure jwplayer instance playerInstance.setup({ autostart: true, playlist: 'https://cdn.jwplayer.com/v2/playlists/mYdavspX', primary: 'html5', setFullscreen: true, width: '100%' });// when jwplayer instance is ready playerInstance.on('ready', function() { var config = playerInstance.getConfig(); var utils = playerInstance.utils; // get height of player element var playerHeight = config.containerHeight; // flag determining whether close has been clicked var closed = true; // CHANGED // flag determing whether player is playing var playing = false; // ADDED // eventhandler for when close button is being pressed document.getElementsByClassName('icon-close')[0].addEventListener('click', () => { closed = true; onScrollViewHandler(); }); playerInstance.on('play', function() { closed = false; playing = true; // ADDED }).on('pause', function () { playing = false; // ADDED }).on('adPlay', function() { closed = false; // ADDED playing = true; // ADDED }).on('adPause', function() { playing = false; // ADDED });// get player element position from top of document var playerOffsetTop = getElementOffsetTop(playerContainerEl);// set player container to match height of actual video element playerContainerEl.style.height = playerHeight + 'px';// below we handle window scroll event without killing performance function onScrollViewHandler() { var minimized = getScrollTop() >= playerOffsetTop;if (closed && minimized) { minimized = false; jwplayer().pause(); playing = false; // ADDED } else if (!minimized && !playing) { closed = true; // ADDED } utils.toggleClass(playerContainerEl, 'player-minimize', minimized); // update the player's size so the controls are adjusted playerInstance.resize(); }// namespace for whether or not we are waiting for setTimeout() to finish var isScrollTimeout = false;// window onscroll event handler window.onscroll = function() { // skip if we're waiting on a scroll update timeout to finish if (isScrollTimeout) return; // flag that a new timeout will begin isScrollTimeout = true; // otherwise, call scroll event view handler onScrollViewHandler(); // set new timeout setTimeout(function() { // reset timeout flag to false (no longer waiting) isScrollTimeout = false; }, 80); };});

Activision Blizzard Esports Leagues division today shared new details on how the 2020 season of the Overwatch League will work, as it enters its third season in 2020.

The Overwatch League began in 2017 as the first official franchised city-based league in esports with city owners purchasing a spot in the league for millions of dollars. One of Activision Blizzard’s big goals with the Overwatch League was to resemble traditional sports with home based and away based games throughout the season.

Overwatch League started this home/away games idea in 2019 season with Dallas and Atlanta teams hosting a homestead weekend events. For the 2020 Overwatch League season, the entire season will be homestead based — with teams traveling to different cities home stadiums to compete in weekend events. Each team has to play in 28 matches during the season and teams are split in 4 divisions.

Here’s the exact scheduling details with the 2020 OWL:

Each team will host two homestands. On top of those, teams in each division will also collectively host three additional regular-season events in their home territories.

The 2020 season will begin in February next year and conclude in August. Teams will play 28 matches over the course of the regular season, facing in-conference opponents twice each and out-of-conference teams once each. All regular-season matches will be played on weekends, with times optimized for local markets.

Activision Blizzard announced earlier this year that the 2020 Call of Duty esports season will be moving to a franchised based model. Over the last few months, the company has announced a total of 7 cities that have already purchased a spot in 2020 league, with sale price going for $25 million each. Locations confirmed include Dallas, Los Angeles, Atlanta, Toronto, Minnesota, Paris, and New York.

In an interview with ESTNN, OverActive Media Group’s CEO, the ownership company of the Toronto Overwatch League and Toronto Call of Duty league spot, has stated that this homestead style format will be implemented for the 2020 Call of Duty League format as well, later in the 2020 year.

They knew from the beginning that this was going to need to be modeled after traditional sports. If you are going to build big audiences for esports generally and for the Overwatch League, you’re going to have to be present in the local market. So this commitment to regionalization is something we really believe in and it’s central to the idea of the Overwatch League. It will also be true to the Call of Duty League as well, a little later in the year.

Activision Blizzard has not provided many details on the 2020 Call of Duty League format thus far otherwise saying that more details are coming later this year. It’s not clear when exactly the new league season is set to begin. The 2020 season will be played on Call of Duty: Modern Warfare.

comments below