Torque3D/Templates/BaseGame/game/data/UI/UI.tscript
JeffR 41add628ad Implements a more standardized way to format usual UI pages by having the ability to utilize the UINavigation namespace for page stack navigation
Also fixes behavior handling of menu input buttons not refreshing reliably
Adds ability to define a control on a MenuList to act as a highlighter over the currently selected control
Cleaned up BaseUI pages to use UINavigation which reduced a lot of duplication of elements and code
2022-05-06 23:39:16 -05:00

93 lines
2.8 KiB
Plaintext

// The general flow of a gane - server's creation, loading and hosting clients, and then destruction is as follows:
// First, a client will always create a server in the event that they want to host a single player
// game. Torque3D treats even single player connections as a soft multiplayer game, with some stuff
// in the networking short-circuited to sidestep around lag and packet transmission times.
// initServer() is called, loading the default server scripts.
// After that, if this is a dedicated server session, initDedicated() is called, otherwise initClient is called
// to prep a playable client session.
// When a local game is started - a listen server - via calling StartGame() a server is created and then the client is
// connected to it via createAndConnectToLocalServer().
function UI::onCreate( %this )
{
}
function UI::onDestroy( %this )
{
}
function UI::initServer(%this){}
function UI::onCreateGameServer(%this){}
function UI::onDestroyGameServer(%this){}
function UI::initClient(%this)
{
//Load UI stuff
//we need to load this because some of the menu profiles use the sounds here
//%this.queueExec("./datablocks/guiSounds");
//Profiles
%this.queueExec("./scripts/profiles");
//Navigation Utility Scripts
%this.queueExec("./scripts/menuNavigation");
//Now gui files
%this.queueExec("./scripts/menuInputHandling");
%this.queueExec("./guis/mainMenu");
%this.queueExec("./guis/mainMenu.gui");
%this.queueExec("./guis/mainMenuButtons");
%this.queueExec("./guis/mainMenuButtons.gui");
%this.queueExec("./guis/chooseLevelDlg");
%this.queueExec("./guis/chooseLevelDlg.gui");
%this.queueExec("./guis/joinServerMenu");
%this.queueExec("./guis/joinServerMenu.gui");
%this.queueExec("./guis/loadingGui.gui");
%this.queueExec("./guis/optionsMenu");
%this.queueExec("./guis/optionsMenu.gui");
%this.queueExec("./guis/pauseMenu");
%this.queueExec("./guis/pauseMenu.gui");
%this.queueExec("./guis/remapDlg.gui");
%this.queueExec("./guis/remapConfirmDlg.gui");
%this.queueExec("./guis/profiler");
%this.queueExec("./guis/profiler.gui");
%this.queueExec("./guis/netGraphGui.gui");
%this.queueExec("./guis/RecordingsDlg.gui");
%this.queueExec("./guis/guiMusicPlayer");
%this.queueExec("./guis/guiMusicPlayer.gui");
%this.queueExec("./guis/startupGui");
%this.queueExec("./guis/startupGui.gui");
// Load Editor Dialogs
%this.queueExec("./guis/messageBoxDlg.gui");
//Load scripts
%this.queueExec("./scripts/controlsMenu");
%this.queueExec("./scripts/messageBoxes");
%this.queueExec("./scripts/help");
%this.queueExec("./scripts/cursors");
%this.queueExec("./scripts/utility");
}
function UI::onCreateClientConnection(%this){}
function UI::onDestroyClientConnection(%this){}