145 lines
4.2 KiB
C#
145 lines
4.2 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Torque Game Engine
|
|
//
|
|
// Copyright (c) 2001 GarageGames.Com
|
|
// Portions Copyright (c) 2001 by Sierra Online, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Mission Loading & Mission Info
|
|
// The mission loading server handshaking is handled by the
|
|
// common/client/missingLoading.cs. This portion handles the interface
|
|
// with the game GUI.
|
|
//----------------------------------------------------------------------------
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Loading Phases:
|
|
// Phase 1: Download Datablocks
|
|
// Phase 2: Download Ghost Objects
|
|
// Phase 3: Scene Lighting
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Phase 1
|
|
//----------------------------------------------------------------------------
|
|
|
|
function onMissionDownloadPhase1(%missionName, %musicTrack)
|
|
{
|
|
// Close and clear the message hud (in case it's open)
|
|
//MessageHud.close();
|
|
//cls();
|
|
|
|
// Reset the loading progress controls:
|
|
LoadingProgress.setValue(0);
|
|
}
|
|
|
|
function onPhase1Progress(%progress)
|
|
{
|
|
LoadingProgress.setValue(%progress);
|
|
Canvas.repaint();
|
|
}
|
|
|
|
function onPhase1Complete()
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Phase 2
|
|
//----------------------------------------------------------------------------
|
|
|
|
function onMissionDownloadPhase2()
|
|
{
|
|
// Reset the loading progress controls:
|
|
LoadingProgress.setValue(0);
|
|
Canvas.repaint();
|
|
}
|
|
|
|
function onPhase2Progress(%progress)
|
|
{
|
|
LoadingProgress.setValue(%progress);
|
|
Canvas.repaint();
|
|
}
|
|
|
|
function onPhase2Complete()
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Phase 3
|
|
//----------------------------------------------------------------------------
|
|
|
|
function onMissionDownloadPhase3()
|
|
{
|
|
}
|
|
|
|
function onPhase3Progress(%progress)
|
|
{
|
|
LoadingProgress.setValue(%progress);
|
|
}
|
|
|
|
function onPhase3Complete()
|
|
{
|
|
LoadingProgress.setValue( 1 );
|
|
$lightingMission = false;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
// Mission loading done!
|
|
//----------------------------------------------------------------------------
|
|
|
|
function onMissionDownloadComplete()
|
|
{
|
|
// Client will shortly be dropped into the game, so this is
|
|
// good place for any last minute gui cleanup.
|
|
}
|
|
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Before downloading a mission, the server transmits the mission
|
|
// information through these messages.
|
|
//------------------------------------------------------------------------------
|
|
|
|
addMessageCallback( 'MsgLoadInfo', handleLoadInfoMessage );
|
|
addMessageCallback( 'MsgLoadDescripition', handleLoadDescriptionMessage );
|
|
addMessageCallback( 'MsgLoadInfoDone', handleLoadInfoDoneMessage );
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
function handleLoadInfoMessage( %msgType, %msgString, %mapName ) {
|
|
|
|
// Need to pop up the loading gui to display this stuff.
|
|
Canvas.setContent("LoadingGui");
|
|
|
|
// Clear all of the loading info lines:
|
|
for( %line = 0; %line < LoadingGui.qLineCount; %line++ )
|
|
LoadingGui.qLine[%line] = "";
|
|
LoadingGui.qLineCount = 0;
|
|
|
|
//
|
|
LOAD_MapName.setText( "<font:DomCasualD:32><just:center>" @ %mapName );
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
function handleLoadDescriptionMessage( %msgType, %msgString, %line )
|
|
{
|
|
LoadingGui.qLine[LoadingGui.qLineCount] = %line;
|
|
LoadingGui.qLineCount++;
|
|
|
|
// Gather up all the previous lines, append the current one
|
|
// and stuff it into the control
|
|
%text = "<spush><font:Arial:16>";
|
|
|
|
for( %line = 0; %line < LoadingGui.qLineCount - 1; %line++ )
|
|
%text = %text @ LoadingGui.qLine[%line] @ " ";
|
|
%text = %text @ LoadingGui.qLine[%line] @ "<spop>";
|
|
|
|
LOAD_MapDescription.setText( %text );
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
|
|
function handleLoadInfoDoneMessage( %msgType, %msgString )
|
|
{
|
|
// This will get called after the last description line is sent.
|
|
}
|