RMenu
Class RuneConsole

source: c:\runehov\RMenu\Classes\RuneConsole.uc
Core.Object
   |
   +--Engine.Console
      |
      +--UWindow.WindowConsole
         |
         +--RMenu.RuneConsole
Direct Known Subclasses:None

class RuneConsole
extends UWindow.WindowConsole

//============================================================================= // RuneConsole -> Default Rune Console //=============================================================================

Function Summary
 void CloseUWindow()
 void DrawLevelAction(Canvas C)
 void LaunchUWindow()
     
//Override to show RuneMenu



Source Code


00001	//=============================================================================
00002	// RuneConsole	->	Default Rune Console
00003	//=============================================================================
00004	class RuneConsole extends WindowConsole;
00005	
00006	//Button Text Font
00007	
00008	var		class<UWindowWindow>	GameMenuClass;
00009	var		UWindowWindow			GameMenu;
00010	
00011	//=============================================================================
00012	// Superclass Function Overrides
00013	//=============================================================================
00014	
00015	//Override to show RuneMenu
00016	function LaunchUWindow()
00017	{	
00018		Super.LaunchUWindow();
00019	
00020		if(Root!=None)
00021		{
00022			Root.LookAndFeel.PlayMenuSound(Root, MS_WindowsStart);
00023			if(GameMenu==None)
00024			{
00025				GameMenu=Root.CreateWindow(GameMenuClass,0,0,200,460);
00026			}
00027			if(GameMenu!=None)	
00028				GameMenu.ShowWindow();
00029		}
00030	}
00031	
00032	function CloseUWindow()
00033	{
00034		Super.CloseUWindow();
00035		if (Root != None)
00036			Root.LookAndFeel.PlayMenuSound(Root, MS_WindowsEnd);
00037	}
00038	
00039	function DrawLevelAction( canvas C )
00040	{
00041		local texture LoadTex;
00042		local string BigMessage;
00043	
00044		if ( (Viewport.Actor.Level.Pauser != "") && (Viewport.Actor.Level.LevelAction == LEVACT_None) )
00045		{
00046			C.Font = C.MedFont;
00047			BigMessage = PausedMessage; // Add pauser name?
00048			PrintActionMessage(C, BigMessage);
00049			return;
00050		}
00051		if ( (Viewport.Actor.Level.LevelAction == LEVACT_None)
00052			 || Viewport.Actor.bShowMenu )
00053		{
00054			BigMessage = "";
00055			return;
00056		}
00057		else if ( Viewport.Actor.Level.LevelAction == LEVACT_Loading )
00058		{
00059			LoadTex = Texture'RuneFX.LetterBox';
00060			C.SetPos(0, 0);
00061			C.DrawTile(LoadTex, C.ClipX, C.ClipY, 0, 0, LoadTex.USize, LoadTex.VSize);
00062	
00063			LoadTex = Texture'RuneFX.Loading1';
00064			C.SetPos(C.ClipX / 2 - LoadTex.USize / 2, C.ClipY / 2 - LoadTex.VSize / 2);
00065			C.DrawTile(LoadTex, LoadTex.USize, LoadTex.VSize, 0, 0, LoadTex.USize, LoadTex.VSize);
00066			BigMessage = "";
00067	//		BigMessage = LoadingMessage;
00068		}
00069		else if ( Viewport.Actor.Level.LevelAction == LEVACT_Saving )
00070		{
00071			LoadTex = Texture'RuneFX.LetterBox';
00072			C.SetPos(0, 0);
00073			C.DrawTile(LoadTex, C.ClipX, C.ClipY, 0, 0, LoadTex.USize, LoadTex.VSize);
00074	
00075			LoadTex = Texture'RuneFX.Saving1';
00076			C.SetPos(C.ClipX / 2 - LoadTex.USize / 2, C.ClipY / 2 - LoadTex.VSize / 2);
00077			C.DrawTile(LoadTex, LoadTex.USize, LoadTex.VSize, 0, 0, LoadTex.USize, LoadTex.VSize);
00078			BigMessage = "";
00079	
00080	//		BigMessage = SavingMessage;
00081		}
00082		else if ( Viewport.Actor.Level.LevelAction == LEVACT_Connecting )
00083			BigMessage = ConnectingMessage;
00084		else if ( Viewport.Actor.Level.LevelAction == LEVACT_Precaching )
00085		{
00086			LoadTex = Texture'RuneFX.LetterBox';
00087			C.SetPos(0, 0);
00088			C.DrawTile(LoadTex, C.ClipX, C.ClipY, 0, 0, LoadTex.USize, LoadTex.VSize);
00089	
00090			LoadTex = Texture'RuneFX.Precaching1';
00091			C.SetPos(C.ClipX / 2 - LoadTex.USize / 2, C.ClipY / 2 - LoadTex.VSize / 2);
00092			C.DrawTile(LoadTex, LoadTex.USize, LoadTex.VSize, 0, 0, LoadTex.USize, LoadTex.VSize);
00093			BigMessage = "";
00094	//		BigMessage = PrecachingMessage;
00095		}
00096		
00097		if ( BigMessage != "" )
00098		{
00099			C.Style = 1;
00100			C.Font = C.LargeFont;	
00101			PrintActionMessage(C, BigMessage);
00102		}		
00103	}
00104	
00105	event PostRender( canvas Canvas )
00106	{
00107		//Create root window, console etc. immediately -> To catch SLOG etc
00108		//NOTE: Normal WindowConsole is not created until first display request.
00109		if(Root == None)
00110		{
00111			CreateRootWindow( Canvas );
00112		}
00113		Super.PostRender(Canvas);
00114	}
00115	
00116	defaultproperties
00117	{
00118	     GameMenuClass=Class'RMenu.RuneMenu'
00119	     RootWindow="RMenu.RuneRootWindow"
00120	     ConsoleClass=Class'RMenu.RuneConsoleWindow'
00121	}

End Source Code