forked from 0ad/0ad
Ykkrosh
f0d9806b3f
CGUI now represents a single 'page'. CGUIManager maintains multiple pages and switches between them. Split the XML files into pregame, loading, session and messagebox pages. Added hotloading of GUI pages. Minor GUI cleanups. (Merge from hg 81862d33780c) This was SVN commit r7214.
83 lines
2.2 KiB
JavaScript
83 lines
2.2 KiB
JavaScript
function init()
|
|
{
|
|
// Set starting UI layout.
|
|
GUIType=rb;
|
|
|
|
// Set session UI sprites to match the skin for the player's civilisation.
|
|
// (We don't have skins for all civs yet, so we're using the standard menu skin. But it should be settable from here later.)
|
|
setSkin ("wheat");
|
|
|
|
// Set GUI coordinates to starting orientation.
|
|
flipGUI (GUIType);
|
|
|
|
// Create resource pools for each player, etc.
|
|
setupSession();
|
|
}
|
|
|
|
|
|
// ====================================================================
|
|
|
|
function setupSession ()
|
|
{
|
|
// Do essentials that can only be done when the session has been loaded ...
|
|
// For example, create the resource types, scores, etc, for each player.
|
|
|
|
/*
|
|
if (sessionType == "Skirmish")
|
|
{
|
|
// Set up a bunch of players so we can see them pretty colours. :P
|
|
console.write ("Setting Up Temporary Single Players");
|
|
// The first player is by default allocated to the local player in SP, so
|
|
// adding 7 players means that we'll have 8 players in total
|
|
for (var i=0; i<7; i++)
|
|
{
|
|
g_GameAttributes.slots[i+1].assignLocal();
|
|
console.write ("Slot "+(i+1)+" is assigned: " + g_GameAttributes.slots[i+1].assignment);
|
|
}
|
|
}
|
|
*/
|
|
|
|
// Select session peace track.
|
|
curr_session_playlist_1 = newRandomSound("music", "peace");
|
|
// Fade out main theme and fade in session theme.
|
|
crossFade(curr_music, curr_session_playlist_1, 1)
|
|
|
|
// Create the resouce counters
|
|
createResourceCounters();
|
|
|
|
// Start refreshing the session controls.
|
|
setInterval( snRefresh, 1, 100 );
|
|
}
|
|
|
|
// ====================================================================
|
|
|
|
function endSession (closeType)
|
|
{
|
|
// Occurs when the player chooses to close the current game.
|
|
|
|
switch (closeType)
|
|
{
|
|
case ("return"):
|
|
// If the player has chosen to quit game and return to main menu,
|
|
|
|
// End the session.
|
|
endGame();
|
|
|
|
// Fade out current music and return to playing menu theme.
|
|
//curr_music = newRandomSound("music", "menu");
|
|
//crossFade(curr_session_playlist_1, curr_music, 1);
|
|
|
|
// Stop refreshing the session controls.
|
|
cancelInterval();
|
|
|
|
// Swap GUIs to display main menu.
|
|
switchGuiPage("page_pregame.xml");
|
|
break;
|
|
case ("exit"):
|
|
// If the player has chosen to shutdown and immediately return to operating system,
|
|
exit();
|
|
break;
|
|
}
|
|
}
|
|
|