Refined chat and added chat messages to the console
Cleaned up session menu code (cached menu objects) This was SVN commit r7935.
This commit is contained in:
parent
3e6df25f10
commit
c8f90ce5a2
@ -1,56 +1,55 @@
|
||||
// Cache these objects for future access
|
||||
var devCommands;
|
||||
var menu;
|
||||
var settingsWindow;
|
||||
var chatWindow;
|
||||
var chatInput;
|
||||
var pauseOverlay;
|
||||
|
||||
function cacheMenuObjects()
|
||||
{
|
||||
devCommands = getGUIObjectByName("devCommands");
|
||||
menu = getGUIObjectByName("menu");
|
||||
settingsWindow = getGUIObjectByName("settingsWindow");
|
||||
chatWindow = getGUIObjectByName("chatWindow");
|
||||
chatInput = getGUIObjectByName("chatInput");
|
||||
pauseOverlay = getGUIObjectByName("pauseOverlay");
|
||||
}
|
||||
|
||||
function toggleDeveloperOverlay()
|
||||
{
|
||||
if (getGUIObjectByName("devCommands").hidden)
|
||||
getGUIObjectByName("devCommands").hidden = false; // show overlay
|
||||
else
|
||||
getGUIObjectByName("devCommands").hidden = true; // hide overlay
|
||||
}
|
||||
|
||||
function toggleSettingsWindow()
|
||||
{
|
||||
if (getGUIObjectByName("settingsWindow").hidden)
|
||||
getGUIObjectByName("settingsWindow").hidden = false; // show settings
|
||||
else
|
||||
getGUIObjectByName("settingsWindow").hidden = true; // hide settings
|
||||
|
||||
getGUIObjectByName("menu").hidden = true; // Hide menu
|
||||
}
|
||||
|
||||
function togglePause()
|
||||
{
|
||||
if (getGUIObjectByName("pauseOverlay").hidden)
|
||||
{
|
||||
getGUIObjectByName("pauseOverlay").hidden = false; // pause game
|
||||
setPaused(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
getGUIObjectByName("pauseOverlay").hidden = true; // unpause game
|
||||
setPaused(false);
|
||||
}
|
||||
|
||||
getGUIObjectByName("menu").hidden = true; // Hide menu
|
||||
devCommands.hidden = !devCommands.hidden;
|
||||
}
|
||||
|
||||
function toggleMenu()
|
||||
{
|
||||
if (getGUIObjectByName("menu").hidden)
|
||||
getGUIObjectByName("menu").hidden = false; // View menu
|
||||
else
|
||||
getGUIObjectByName("menu").hidden = true; // Hide menu
|
||||
menu.hidden = !menu.hidden;
|
||||
}
|
||||
|
||||
function toggleSettingsWindow()
|
||||
{
|
||||
settingsWindow.hidden = !settingsWindow.hidden;
|
||||
menu.hidden = true;
|
||||
}
|
||||
|
||||
function toggleChatWindow()
|
||||
{
|
||||
if (getGUIObjectByName("chatWindow").hidden)
|
||||
{
|
||||
getGUIObjectByName("chatInput").focus();
|
||||
getGUIObjectByName("chatWindow").hidden = false; // View chat
|
||||
}
|
||||
if (chatWindow.hidden)
|
||||
chatInput.focus(); // Grant focus to the input area
|
||||
else
|
||||
{
|
||||
getGUIObjectByName("chatWindow").hidden = true; // Hide chat
|
||||
}
|
||||
|
||||
getGUIObjectByName("menu").hidden = true; // Hide menu
|
||||
}
|
||||
chatInput.caption = ""; // Clear chat input
|
||||
|
||||
chatWindow.hidden = !chatWindow.hidden;
|
||||
menu.hidden = true;
|
||||
}
|
||||
|
||||
function togglePause()
|
||||
{
|
||||
if (pauseOverlay.hidden)
|
||||
setPaused(true);
|
||||
else
|
||||
setPaused(false);
|
||||
|
||||
pauseOverlay.hidden = !pauseOverlay.hidden;
|
||||
menu.hidden = true;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
// Chat data
|
||||
const CHAT_TIMEOUT = 45000;
|
||||
const CHAT_TIMEOUT = 30000;
|
||||
const MAX_NUM_CHAT_LINES = 20;
|
||||
var chatMessages = [];
|
||||
var chatTimers = [];
|
||||
@ -26,7 +26,6 @@ function handleNetMessage(message)
|
||||
obj.caption = "Connection to the server has been lost";
|
||||
obj.hidden = false;
|
||||
getGUIObjectByName("disconnectedExitButton").hidden = false;
|
||||
// TODO: we need to give players some way to exit
|
||||
break;
|
||||
default:
|
||||
error("Unrecognised netstatus type "+message.status);
|
||||
@ -56,8 +55,6 @@ function handleNetMessage(message)
|
||||
|
||||
function submitChatInput()
|
||||
{
|
||||
toggleChatWindow();
|
||||
|
||||
var input = getGUIObjectByName("chatInput");
|
||||
var text = input.caption;
|
||||
if (text.length)
|
||||
@ -72,6 +69,8 @@ function submitChatInput()
|
||||
// Remove focus
|
||||
input.blur();
|
||||
}
|
||||
|
||||
toggleChatWindow();
|
||||
}
|
||||
|
||||
function addChatMessage(msg)
|
||||
@ -89,7 +88,8 @@ function addChatMessage(msg)
|
||||
break;
|
||||
|
||||
case "message":
|
||||
formatted = '<[font=\"serif-bold-stroke-14\"][color="' + playerColor + '"]' + msg.username + '[/color][/font]> [font=\"serif-stroke-14\"]' + msg.text + '[/font]';
|
||||
console.write("<" + msg.username + "> " + msg.text);
|
||||
formatted = "<[color=\"" + playerColor + "\"]" + msg.username + "[/color]> " + msg.text;
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -124,3 +124,9 @@ function getColorByPlayerName(playerName)
|
||||
|
||||
return "255 255 255";
|
||||
}
|
||||
|
||||
function clearChatInput()
|
||||
{
|
||||
getGUIObjectByName("chatInput").caption = "";
|
||||
}
|
||||
|
||||
|
@ -53,6 +53,8 @@ function init(initData, hotloadData)
|
||||
{
|
||||
g_Players = getPlayerData(null);
|
||||
}
|
||||
|
||||
cacheMenuObjects();
|
||||
|
||||
onSimulationUpdate();
|
||||
}
|
||||
|
@ -141,15 +141,20 @@
|
||||
</object>
|
||||
|
||||
<!-- Chat window -->
|
||||
<object name="chatWindow" size="50%-200 50%-13 50%+200 50%+13" type="image" hidden="true" z="10" style="sessionPanelStyle">
|
||||
<object name="chatInput" size="2 2 100%-66 100%-2" type="input" style="wheatInput" max_length="80">
|
||||
<object name="chatWindow" size="50%-160 50%-32 50%+160 50%+32" type="image" hidden="true" z="10" style="wheatWindow">
|
||||
<object name="chatInput" size="0 0 100%-0 24" type="input" style="wheatInput" max_length="80">
|
||||
<action on="Press">submitChatInput();</action>
|
||||
</object>
|
||||
|
||||
<object size="100%-65 100%-25 100%-1 100%" type="button" style="wheatButton">
|
||||
<object size="32 32 144 64" type="button" style="wheatButton">
|
||||
Cancel
|
||||
<action on="Press">toggleChatWindow();</action>
|
||||
</object>
|
||||
<object size="100%-144 32 100%-32 64" type="button" style="wheatButton">
|
||||
Send
|
||||
<action on="Press">submitChatInput();</action>
|
||||
</object>
|
||||
|
||||
</object>
|
||||
|
||||
<!-- ================================ ================================ -->
|
||||
@ -167,7 +172,7 @@
|
||||
<object name="settingsOptions"
|
||||
size="30 30 100%-30 150"
|
||||
type="image"
|
||||
style="goldPanel"
|
||||
style="sessionPanelStyle"
|
||||
>
|
||||
<!-- Settings / shadows -->
|
||||
<object size="0 10 100%-80 35" type="text" style="settingsText" ghost="true">Enable Shadows</object>
|
||||
|
@ -148,7 +148,7 @@
|
||||
|
||||
<style name="chatPanel"
|
||||
buffer_zone="5"
|
||||
font="serif-bold-14"
|
||||
font="serif-bold-stroke-14"
|
||||
textcolor="white"
|
||||
textcolor_selected="white"
|
||||
text_align="left"
|
||||
|
Loading…
Reference in New Issue
Block a user