UMenu
Class UMenuNewGameClientWindow

source: e:\games\UnrealTournament\UMenu\Classes\UMenuNewGameClientWindow.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UWindow.UWindowPageWindow
                  |
                  +--UMenu.UMenuPageWindow
                     |
                     +--UMenu.UMenuNewGameClientWindow
Direct Known Subclasses:UMenuConfigCoopGameClientWindow

class UMenuNewGameClientWindow
extends UMenu.UMenuPageWindow


Variables
 UWindowSmallButton OKButton
 UWindowComboControl SkillCombo
 string SkillHelp
 UMenuLabelControl SkillLabel
 string SkillStrings[4]
 string SkillText
 string Skills[4]
 string StartMap


Function Summary
 void BeforePaint(Canvas C, float X, float Y)
 void Created()
 void Notify(UWindowDialogControl C, byte E)
 void OKClicked()
 void SkillChanged()



Source Code


00001	class UMenuNewGameClientWindow extends UMenuPageWindow;
00002	
00003	var string StartMap;
00004	
00005	// Skill Level
00006	var UWindowComboControl SkillCombo;
00007	var UMenuLabelControl SkillLabel;
00008	var localized string SkillText;
00009	var localized string Skills[4];
00010	var localized string SkillStrings[4];
00011	var localized string SkillHelp;
00012	
00013	var UWindowSmallButton OKButton;
00014	
00015	function Created()
00016	{
00017		local int ControlWidth, ControlLeft, ControlRight;
00018		local int CenterWidth, CenterPos;
00019		local int I, S;
00020	
00021		Super.Created();
00022	
00023		DesiredWidth = 220;
00024		DesiredHeight = 330;
00025	
00026		ControlWidth = WinWidth/2.5;
00027		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00028		ControlRight = WinWidth/2 + ControlLeft;
00029	
00030		CenterWidth = (WinWidth/4)*3;
00031		CenterPos = (WinWidth - CenterWidth)/2;
00032	
00033		// Skill Level
00034		SkillCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, 25, CenterWidth, 1));
00035		SkillCombo.SetText(SkillText);
00036		SkillCombo.SetHelpText(SkillHelp);
00037		SkillCombo.SetFont(F_Normal);
00038		SkillCombo.SetEditable(False);
00039		for (I=0; I<4; I++)
00040			SkillCombo.AddItem(Skills[I]);
00041		SkillCombo.SetSelectedIndex(GetLevel().Game.Difficulty + 1);
00042		SkillLabel = UMenuLabelControl(CreateWindow(class'UMenuLabelControl', CenterPos, 45, CenterWidth, 1));
00043		SkillLabel.SetText(SkillStrings[GetLevel().Game.Difficulty + 1]);
00044		SkillLabel.Align = TA_Center;
00045	
00046		// OKButton
00047		OKButton = UWindowSmallButton(CreateControl(class'UWindowSmallButton', CenterPos, 70, 64, 32));
00048		OKButton.SetText("OK");
00049	}
00050	
00051	function BeforePaint(Canvas C, float X, float Y)
00052	{
00053		local int ControlWidth, ControlLeft, ControlRight;
00054		local int CenterWidth, CenterPos;
00055	
00056		ControlWidth = WinWidth/2.5;
00057		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00058		ControlRight = WinWidth/2 + ControlLeft;
00059	
00060		CenterWidth = (WinWidth/4)*3;
00061		CenterPos = (WinWidth - CenterWidth)/2;
00062	
00063		SkillCombo.SetSize(CenterWidth, 1);
00064		SkillCombo.WinLeft = CenterPos;
00065		SkillCombo.EditBoxWidth = 90;
00066	
00067		SkillLabel.SetSize(CenterWidth, 1);
00068		SkillLabel.WinLeft = CenterPos;
00069	
00070		OKButton.Winleft = (WinWidth - OKButton.WinWidth) / 2;
00071	}
00072	
00073	function Notify(UWindowDialogControl C, byte E)
00074	{
00075		Super.Notify(C, E);
00076	
00077		switch(E)
00078		{
00079		case DE_Change:
00080			switch(C)
00081			{
00082				case SkillCombo:
00083					SkillChanged();
00084					break;
00085			}
00086		case DE_Click:
00087			switch(C)
00088			{
00089				case OKButton:
00090					OKClicked();
00091					break;
00092			}
00093		}
00094	}
00095	
00096	function OKClicked()
00097	{
00098		GetPlayerOwner().ClientTravel(StartMap, TRAVEL_Absolute, false);
00099	
00100		Close();
00101		Root.Console.CloseUWindow();
00102	}
00103	
00104	function SkillChanged()
00105	{
00106		SkillLabel.SetText(SkillStrings[SkillCombo.GetSelectedIndex()]);	
00107	}
00108	
00109	defaultproperties
00110	{
00111	     StartMap="..\maps\Vortex2.unr"
00112	     SkillText="Skill Level:"
00113	     Skills(0)="Easy"
00114	     Skills(1)="Medium"
00115	     Skills(2)="Hard"
00116	     Skills(3)="Unreal"
00117	     SkillStrings(0)="Tourist mode."
00118	     SkillStrings(1)="Ready for some action!"
00119	     SkillStrings(2)="Not for the faint of heart."
00120	     SkillStrings(3)="Death wish."
00121	     SkillHelp="Select the difficulty you wish to play at."
00122	}

End Source Code