Torque3D/Templates/BaseGame/game/data/ui/UI.cs
Areloch 889115f45e Implemented proper ScriptAsset execution on load
Implemented script dependency handling
Added test-case of script dependency handling in ExampleModule
Cleanup of redundant getSceneCount calls
Properly get scene count in callGamemodeFunction
Remove unneeded TODO comment in shaders
Converted onMissionEnded gamemode func call to use callGameModeFunction function
Convert ExampleGameMode to be container-object based, and updated callGamemodeFunction to handle that
Correct import settings typoe so image suffixes are read correctly
Largely fixed companion image scanning when importing images and streamlined image-material interop during import preprocessing
Added handling for reading in PBR maps and creating a composite image + asset
Added WIP of Cubemap asset, and editing integration with a standalone cubemap editor
Added ability to create new Cubemap asset in Asset Browser
2019-09-13 00:27:48 -05:00

95 lines
No EOL
2.6 KiB
C#

// 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 )
{
%bool = true;
}
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
//exec("./datablocks/guiSounds.cs");
//Profiles
exec("./scripts/profiles.cs");
//Now gui files
exec("./guis/mainMenu.gui");
exec("./guis/mainMenu.cs");
exec("./guis/chooseLevelDlg.gui");
exec("./guis/chooseLevelDlg.cs");
exec("./guis/joinServerMenu.gui");
exec("./guis/joinServerMenu.cs");
exec("./guis/loadingGui.gui");
exec("./guis/optionsMenu.gui");
exec("./guis/optionsMenu.cs");
exec("./guis/pauseMenu.gui");
exec("./guis/pauseMenu.cs");
exec("./guis/remapDlg.gui");
exec("./guis/remapConfirmDlg.gui");
exec("./guis/profiler.gui");
exec("./guis/profiler.cs");
exec("./guis/netGraphGui.gui");
exec("./guis/RecordingsDlg.gui");
//exec("./guis/FileDialog.gui");
//exec("./guis/FileDialog.cs");
exec("./guis/guiMusicPlayer.gui");
exec("./guis/guiMusicPlayer.cs");
exec("./guis/startupGui.gui");
exec("./guis/startupGui.cs");
//Load scripts
exec("./scripts/optionsList.cs");
exec("./scripts/displayMenu.cs");
exec("./scripts/graphicsMenu.cs");
exec("./scripts/controlsMenu.cs");
exec("./scripts/audioMenu.cs");
exec("./scripts/messageBoxes.cs");
exec("./scripts/help.cs");
exec("./scripts/cursors.cs");
exec("./guis/menuGraphics.gui");
exec("./guis/menuGraphics.cs");
//exec("./scripts/GuiTreeViewCtrl.cs");
loadStartup();
}
function UI::onCreateClientConnection(%this){}
function UI::onDestroyClientConnection(%this){}