New hook: playerNameResolved

Called when unresolved player name get resolved. Argument is {names: object} which names[guid] is the resolved player name
This commit is contained in:
Xelio 2013-09-20 13:40:26 +08:00
parent 148d1d10b6
commit dfd91de6dc
2 changed files with 9 additions and 1 deletions

View File

@ -15,6 +15,9 @@
// required to successfully boot the plugin.
//
// Heres more specific information about each event:
// playerNameResolved: called when unresolved player name get resolved.
// Argument is {names: object} which names[guid] is the
// resolved player name.
// portalSelected: called when portal on map is selected/unselected.
// Provide guid of selected and unselected portal.
// mapDataRefreshStart: called when we start refreshing map data
@ -49,7 +52,7 @@
window._hooks = {}
window.VALID_HOOKS = [
'portalSelected',
'playerNameResolved', 'portalSelected',
'mapDataRefreshStart', 'mapDataRefreshEnd',
'portalAdded', 'linkAdded', 'fieldAdded',
'portalDetailsUpdated',

View File

@ -68,9 +68,11 @@ window.resolvePlayerNames = function() {
window.playersInResolving = window.playersInResolving.concat(p);
postAjax('getPlayersByGuids', d, function(dat) {
var resolvedName = {};
if(dat.result) {
$.each(dat.result, function(ind, player) {
window.setPlayerName(player.guid, player.nickname);
resolvedName[player.guid] = player.nickname;
// remove from array
window.playersInResolving.splice(window.playersInResolving.indexOf(player.guid), 1);
});
@ -82,6 +84,9 @@ window.resolvePlayerNames = function() {
//therefore, not a good idea to automatically retry by adding back to the playersToResolve list
}
// Run hook 'playerNameResolved' with the resolved player names
window.runHooks('playerNameResolved', {names: resolvedName});
//TODO: have an event triggered for this instead of hard-coded single function call
if(window.selectedPortal)
window.renderPortalDetails(window.selectedPortal);