diff --git a/binaries/data/mods/public/gui/common/functions_utility.js b/binaries/data/mods/public/gui/common/functions_utility.js index 2af05fea6e..95d563c891 100644 --- a/binaries/data/mods/public/gui/common/functions_utility.js +++ b/binaries/data/mods/public/gui/common/functions_utility.js @@ -179,22 +179,18 @@ function tryAutoComplete(text, autoCompleteList) return text; } -function autoCompleteNick(guiName, playerList) +function autoCompleteNick(guiObject, playernames) { - var input = Engine.GetGUIObjectByName(guiName); - var text = input.caption; + let text = guiObject.caption; if (!text.length) return; - var autoCompleteList = []; - for (var player of playerList) - autoCompleteList.push(player.name); + let bufferPosition = guiObject.buffer_position; + let textTillBufferPosition = text.substring(0, bufferPosition); + let newText = tryAutoComplete(textTillBufferPosition, playernames); - var bufferPosition = input.buffer_position; - var textTillBufferPosition = text.substring(0, bufferPosition); - var newText = tryAutoComplete(textTillBufferPosition, autoCompleteList); - input.caption = newText + text.substring(bufferPosition); - input.buffer_position = bufferPosition + (newText.length - textTillBufferPosition.length); + guiObject.caption = newText + text.substring(bufferPosition); + guiObject.buffer_position = bufferPosition + (newText.length - textTillBufferPosition.length); } function clearChatMessages() diff --git a/binaries/data/mods/public/gui/gamesetup/gamesetup.xml b/binaries/data/mods/public/gui/gamesetup/gamesetup.xml index b43af39f6b..dd773782e2 100644 --- a/binaries/data/mods/public/gui/gamesetup/gamesetup.xml +++ b/binaries/data/mods/public/gui/gamesetup/gamesetup.xml @@ -200,10 +200,10 @@ submitChatInput(); - var players = []; - for (var player in g_PlayerAssignments) + let players = []; + for (let player in g_PlayerAssignments) players.push(g_PlayerAssignments[player]); - autoCompleteNick("chatInput", players); + autoCompleteNick(this, players); diff --git a/binaries/data/mods/public/gui/lobby/lobby.xml b/binaries/data/mods/public/gui/lobby/lobby.xml index 4d8978a185..207646a454 100644 --- a/binaries/data/mods/public/gui/lobby/lobby.xml +++ b/binaries/data/mods/public/gui/lobby/lobby.xml @@ -234,7 +234,9 @@ submitChatInput(); - autoCompleteNick("chatInput", Engine.GetPlayerList()); + + autoCompleteNick(this, Engine.GetPlayerList().map(player => player.name)); + diff --git a/binaries/data/mods/public/gui/replaymenu/replay_menu.xml b/binaries/data/mods/public/gui/replaymenu/replay_menu.xml index 53140d4b05..4a1f1b0327 100644 --- a/binaries/data/mods/public/gui/replaymenu/replay_menu.xml +++ b/binaries/data/mods/public/gui/replaymenu/replay_menu.xml @@ -39,7 +39,9 @@ displayReplayList(); - autoCompleteNick("playersFilter", g_Playernames.map(name => ({ "name": name }))); + + autoCompleteNick(this, g_Playernames); + diff --git a/binaries/data/mods/public/gui/session/chat_window.xml b/binaries/data/mods/public/gui/session/chat_window.xml new file mode 100644 index 0000000000..e9a996ecea --- /dev/null +++ b/binaries/data/mods/public/gui/session/chat_window.xml @@ -0,0 +1,40 @@ + + + diff --git a/binaries/data/mods/public/gui/session/developer_overlay.xml b/binaries/data/mods/public/gui/session/developer_overlay.xml new file mode 100644 index 0000000000..c5a6def2ae --- /dev/null +++ b/binaries/data/mods/public/gui/session/developer_overlay.xml @@ -0,0 +1,156 @@ + + +