diff --git a/plugins/scoreboard.user.js b/plugins/scoreboard.user.js index 5128c03d..1c463a73 100644 --- a/plugins/scoreboard.user.js +++ b/plugins/scoreboard.user.js @@ -75,18 +75,17 @@ window.plugin.scoreboard.compileStats = function() { scores['team'][team]['count_fields']++; scores['player'][player]['count_fields']++; - var largestMu = scores['team'][team]['largest']['mu']; - if(largestMu === undefined || parseInt(largestMu.options.data.entityScore.entityScore) < parseInt(val.options.data.entityScore.entityScore)) { - console.log((largestMu === undefined?'und':largestMu.options.data.entityScore.entityScore) + ' < ' + val.options.data.entityScore.entityScore); - largestMu = val; - } - scores['team'][team]['largest']['mu'] = largestMu; - - var largestMu = scores['player'][player]['largest']['mu']; - if(largestMu === undefined || parseInt(largestMu.options.data.entityScore.entityScore) < parseInt(val.options.data.entityScore.entityScore)) { - largestMu = val; - } - scores['player'][player]['largest']['mu'] = largestMu; + //var largestMu = scores['team'][team]['largest']['mu']; + //if(largestMu === undefined || parseInt(largestMu.options.data.entityScore.entityScore) < parseInt(val.options.data.entityScore.entityScore)) { + // largestMu = val; + //} + //scores['team'][team]['largest']['mu'] = largestMu; + // + //var largestMu = scores['player'][player]['largest']['mu']; + //if(largestMu === undefined || parseInt(largestMu.options.data.entityScore.entityScore) < parseInt(val.options.data.entityScore.entityScore)) { + // largestMu = val; + //} + //scores['player'][player]['largest']['mu'] = largestMu; } }); $.each(window.links, function(qk, link) { @@ -125,36 +124,11 @@ window.plugin.scoreboard.compileStats = function() { return somethingInView; }; -//window.plugin.scoreboard.sortPlayerList = function(a, b) { -// var playerA = window.plugin.scoreboard.scores['player'][a]; -// var playerB = window.plugin.scoreboard.scores['player'][b]; -// -// var sortBy = ['mu', 'count_fields', 'count_links', 'count_portals', 'count_resonators']; -// var retVal = 0; -// var i = 0; -// -// while(retVal === 0 && i < sortBy.length) -// { -// retVal = playerB[sortBy[i]] - playerA[sortBy[i]]; -// i++; -// } -// -// // If they're still equal after all that, sort alpha -// if(retVal === 0) { -// if(window.getPlayerName(a).toLowerCase() < window.getPlayerName(b).toLowerCase()) { -// retVal = -1; -// } else { -// retVal = 1; -// } -// } -// return retVal; -//}; - window.plugin.scoreboard.percentSpan = function(percent, cssClass) { var retVal = ''; if(percent > 0) { retVal += '' + percent; - if(percent >= 7) { //anything less than this and the text doesnt fit in the span. + if(percent >= 7) { // anything less than this and the text doesnt fit in the span. retVal += '%'; } retVal += ''; @@ -193,6 +167,46 @@ window.plugin.scoreboard.playerTableRow = function(playerGuid) { return retVal; }; +window.plugin.scoreboard.playerTable = function(sortBy) { + + // Sort the playerGuid array by sortBy + window.plugin.scoreboard.playerGuids.sort(function(a, b) { + var playerA = window.plugin.scoreboard.scores['player'][a]; + var playerB = window.plugin.scoreboard.scores['player'][b]; + var retVal = 0; + if(sortBy === 'names') { + retVal = window.getPlayerName(a).toLowerCase() < window.getPlayerName(b).toLowerCase() ? -1 : 1; + } else { + retVal = playerB[sortBy] - playerA[sortBy]; + } + return retVal; + }); + + var sort = window.plugin.scoreboard.playerTableSort; + var scoreHtml = '' + + '' + + '' + + '' + + '' + + '' + + ''; + $.each(window.plugin.scoreboard.playerGuids, function(index, guid) { + scoreHtml += window.plugin.scoreboard.playerTableRow(guid); + }); + scoreHtml += '
PlayerMuFieldsLinksPortalsResonators
'; + + return scoreHtml; +} + +// A little helper functon so the above isn't so messy +window.plugin.scoreboard.playerTableSort = function(name, by) { + var retVal = 'sort="' + name + '"'; + if(name === by) { + retVal += ' class="sorted"'; + } + return retVal; +}; + window.plugin.scoreboard.display = function() { var somethingInView = window.plugin.scoreboard.compileStats(); @@ -231,37 +245,14 @@ window.plugin.scoreboard.display = function() { alert('
' + scoreHtml + '
'); $(".ui-dialog").addClass('ui-dialog-scoreboard'); - console.log(window.plugin.scoreboard.scores); -} - -window.plugin.scoreboard.playerTable = function(sortBy) { - window.plugin.scoreboard.playerGuids.sort(function(a, b) { - var playerA = window.plugin.scoreboard.scores['player'][a]; - var playerB = window.plugin.scoreboard.scores['player'][b]; - var retVal = 0; - if(sortBy === 'names') { - retVal = window.getPlayerName(a).toLowerCase() < window.getPlayerName(b).toLowerCase() ? -1 : 1; - } else { - retVal = playerB[sortBy] - playerA[sortBy]; - } - return retVal; + // Setup sorting + $(document).on('click', '#players table th', function() { + $('#players').html(window.plugin.scoreboard.playerTable($(this).attr('sort'))); }); - - var scoreHtml = '' - + ''; - $.each(window.plugin.scoreboard.playerGuids, function(index, guid) { - scoreHtml += window.plugin.scoreboard.playerTableRow(guid); - }); - scoreHtml += '
PlayerMuFieldsLinksPortalsResonators
'; - - return scoreHtml; } - var setup = function() { - //window.addHook('portalDetailsUpdated', window.plugin.portalAddress.portalDetail); - $('body').append(''); $('#toolbox').append('scoreboard'); $('head').append(''); - } // PLUGIN END //////////////////////////////////////////////////////////