Show when a player leaves multiplayer

This was SVN commit r7924.
This commit is contained in:
WhiteTreePaladin 2010-08-12 19:31:17 +00:00
parent b7d5648cc9
commit 859c696afe
2 changed files with 10 additions and 2 deletions

View File

@ -27,12 +27,17 @@ function handleNetMessage(message)
obj.hidden = false;
// TODO: we need to give players some way to exit
break;
default:
error("Unrecognised netstatus type "+message.status);
break;
}
break;
case "players":
// Find and report all leavings
for (var host in g_PlayerAssignments)
if (! message.hosts[host])
addChatMessage({ "type": "disconnect", "username": g_PlayerAssignments[host].name });
break;
case "chat":
addChatMessage({ "type": "message", "username": message.username, "text": message.text });
break;
@ -98,7 +103,7 @@ function addChatMessage(msg)
function removeOldChatMessages()
{
clearTimeout(chatTimers[0]);
clearTimeout(chatTimers[0]); // The timer only needs to be cleared when new messages bump old messages off
chatTimers.shift();
chatMessages.shift();
getGUIObjectByName("chatText").caption = chatMessages.join("\n");

View File

@ -24,6 +24,8 @@ var g_IsNetworked = false;
// Cache the basic player data (name, civ, color)
var g_Players = [];
var g_PlayerAssignments = {};
// Cache dev-mode settings that are frequently or widely used
var g_DevSettings = {
controlAll: false
@ -44,6 +46,7 @@ function init(initData, hotloadData)
if (initData)
{
g_IsNetworked = initData.isNetworked; // Set network mode
g_PlayerAssignments = initData.playerAssignments;
g_Players = getPlayerData(initData.playerAssignments); // Cache the player data
}
else // Needed for autostart loading option