Differential D2412 Diff 10371 ps/trunk/binaries/data/mods/public/gui/prelobby/common/feedback/feedback.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/gui/prelobby/common/feedback/feedback.js
var g_LobbyMessages = { | var g_LobbyMessages = { | ||||
"error": message => { | "error": message => { | ||||
setFeedback(message.text || | setFeedback(message.text || | ||||
translate("Unknown error. This usually occurs because the same IP address is not allowed to register more than one account within one hour.")); | translate("Unknown error. This usually occurs because the same IP address is not allowed to register more than one account within one hour.")); | ||||
Engine.StopXmppClient(); | Engine.StopXmppClient(); | ||||
}, | }, | ||||
"disconnected": message => { | "disconnected": message => { | ||||
setFeedback(message.reason + message.certificate_status); | setFeedback(message.reason + message.certificate_status); | ||||
Engine.StopXmppClient(); | Engine.StopXmppClient(); | ||||
} | } | ||||
}; | }; | ||||
/** | |||||
* Other message types (such as gamelists) may be received in case of the current player being logged in and | |||||
* logging in in a second program instance with the same account name. | |||||
* Therefore messages without handlers are ignored without reporting them here. | |||||
*/ | |||||
function onTick() | function onTick() | ||||
{ | { | ||||
while (true) | let messages = Engine.LobbyGuiPollNewMessages(); | ||||
{ | if (!messages) | ||||
let message = Engine.LobbyGuiPollNewMessage(); | return; | ||||
if (!message) | |||||
break; | |||||
for (let message of messages) | |||||
if (message.type == "system" && message.level) | if (message.type == "system" && message.level) | ||||
g_LobbyMessages[message.level](message); | g_LobbyMessages[message.level](message); | ||||
else | |||||
warn("Unknown prelobby message: " + uneval(message)); | |||||
} | |||||
} | } | ||||
function setFeedback(feedbackText) | function setFeedback(feedbackText) | ||||
{ | { | ||||
Engine.GetGUIObjectByName("feedback").caption = feedbackText; | Engine.GetGUIObjectByName("feedback").caption = feedbackText; | ||||
Engine.GetGUIObjectByName("continue").enabled = !feedbackText; | Engine.GetGUIObjectByName("continue").enabled = !feedbackText; | ||||
} | } | ||||
function cancelButton() | function cancelButton() | ||||
{ | { | ||||
if (Engine.HasXmppClient()) | if (Engine.HasXmppClient()) | ||||
Engine.StopXmppClient(); | Engine.StopXmppClient(); | ||||
Engine.PopGuiPage(); | Engine.PopGuiPage(); | ||||
} | } |
Wildfire Games · Phabricator