Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/session/messages.js
Show First 20 Lines • Show All 588 Lines • ▼ Show 20 Lines | for (let n of notifications) | ||||
let message = n.message; | let message = n.message; | ||||
if (n.translateMessage) | if (n.translateMessage) | ||||
message = translate(message); | message = translate(message); | ||||
let parameters = n.parameters || {}; | let parameters = n.parameters || {}; | ||||
if (n.translateParameters) | if (n.translateParameters) | ||||
translateObjectKeys(parameters, n.translateParameters); | translateObjectKeys(parameters, n.translateParameters); | ||||
parameters.time = timeToString(n.endTime - GetSimState().timeElapsed); | parameters.time = durationToString(n.endTime - GetSimState().timeElapsed); | ||||
colorizePlayernameParameters(parameters); | colorizePlayernameParameters(parameters); | ||||
notificationText += sprintf(message, parameters) + "\n"; | notificationText += sprintf(message, parameters) + "\n"; | ||||
} | } | ||||
Engine.GetGUIObjectByName("notificationText").caption = notificationText; | Engine.GetGUIObjectByName("notificationText").caption = notificationText; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 292 Lines • ▼ Show 20 Lines | function addChatMessage(msg) | ||||
if (g_ChatMessages.length > g_ChatLines) | if (g_ChatMessages.length > g_ChatLines) | ||||
removeOldChatMessage(); | removeOldChatMessage(); | ||||
else | else | ||||
Engine.GetGUIObjectByName("chatText").caption = g_ChatMessages.join("\n"); | Engine.GetGUIObjectByName("chatText").caption = g_ChatMessages.join("\n"); | ||||
// Save to chat history | // Save to chat history | ||||
let historical = { | let historical = { | ||||
"txt": formatted, | "txt": formatted, | ||||
"timePrefix": sprintf(translate("\\[%(time)s]"), { | "timePrefix": chatTimestampToString(Date.now()), | ||||
elexis: That seems nice to me.
(The assumption that all chat timestamps are going to use the same time… | |||||
"time": Engine.FormatMillisecondsIntoDateStringLocal(Date.now(), translate("HH:mm")) | |||||
}), | |||||
"filter": {} | "filter": {} | ||||
}; | }; | ||||
// Apply the filters now before diplomacies or playerstates change | // Apply the filters now before diplomacies or playerstates change | ||||
let senderID = msg.guid && g_PlayerAssignments[msg.guid] ? g_PlayerAssignments[msg.guid].player : 0; | let senderID = msg.guid && g_PlayerAssignments[msg.guid] ? g_PlayerAssignments[msg.guid].player : 0; | ||||
for (let filter of g_ChatHistoryFilters) | for (let filter of g_ChatHistoryFilters) | ||||
historical.filter[filter.key] = filter.filter(msg, senderID); | historical.filter[filter.key] = filter.filter(msg, senderID); | ||||
▲ Show 20 Lines • Show All 356 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator
That seems nice to me.
(The assumption that all chat timestamps are going to use the same time format in all languages is something I expect to be true.)