UMenu
Class UMenuGameSettingsBase

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

class UMenuGameSettingsBase
extends UMenu.UMenuPageWindow


Variables
 UMenuBotmatchClientWindow BotmatchParent
 float ControlOffset
 bool Initialized
 string SpeedHelp
 UWindowHSliderControl SpeedSlider
 string SpeedText
 UWindowComboControl StyleCombo
 string StyleHelp
 string StyleText
 string Styles[3]


Function Summary
 void AfterCreate()
 void BeforePaint(Canvas C, float X, float Y)
 void Created()
 void LoadCurrentValues()
 void Notify(UWindowDialogControl C, byte E)
 void SpeedChanged()
 void StyleChanged()



Source Code


00001	class UMenuGameSettingsBase extends UMenuPageWindow;
00002	
00003	var UMenuBotmatchClientWindow BotmatchParent;
00004	
00005	var bool Initialized;
00006	var float ControlOffset;
00007	
00008	// Game Style
00009	var UWindowComboControl StyleCombo;
00010	var localized string StyleText;
00011	var localized string Styles[3];
00012	var localized string StyleHelp;
00013	
00014	// Game Speed
00015	var UWindowHSliderControl SpeedSlider;
00016	var localized string SpeedText;
00017	var localized string SpeedHelp;
00018	
00019	function Created()
00020	{
00021		local int ControlWidth, ControlLeft, ControlRight;
00022		local int CenterWidth, CenterPos, ButtonWidth, ButtonLeft;
00023	
00024		Super.Created();
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		ButtonWidth = WinWidth - 140;
00034		ButtonLeft = WinWidth - ButtonWidth - 40;
00035	
00036		BotmatchParent = UMenuBotmatchClientWindow(GetParent(class'UMenuBotmatchClientWindow'));
00037		if (BotmatchParent == None)
00038			Log("Error: UMenuGameSettingsCWindow without UMenuBotmatchClientWindow parent.");
00039	
00040		// Game Style
00041		StyleCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, ControlOffset, CenterWidth, 1));
00042		StyleCombo.SetText(StyleText);
00043		StyleCombo.SetHelpText(StyleHelp);
00044		StyleCombo.SetFont(F_Normal);
00045		StyleCombo.SetEditable(False);
00046		StyleCombo.AddItem(Styles[0]);
00047		StyleCombo.AddItem(Styles[1]);
00048		StyleCombo.AddItem(Styles[2]);
00049		ControlOffset += 25;
00050	
00051		// Game Speed
00052		SpeedSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00053		SpeedSlider.SetRange(50, 200, 5);
00054		SpeedSlider.SetHelpText(SpeedHelp);
00055		SpeedSlider.SetFont(F_Normal);
00056		ControlOffset += 25;
00057	}
00058	
00059	function AfterCreate()
00060	{
00061		Super.AfterCreate();
00062	
00063		DesiredWidth = 270;
00064		DesiredHeight = ControlOffset;
00065	
00066		LoadCurrentValues();
00067		Initialized = True;
00068	}
00069	
00070	function LoadCurrentValues()
00071	{
00072	}
00073	
00074	function BeforePaint(Canvas C, float X, float Y)
00075	{
00076		local int ControlWidth, ControlLeft, ControlRight;
00077		local int CenterWidth, CenterPos, ButtonWidth, ButtonLeft;
00078	
00079		Super.BeforePaint(C, X, Y);
00080	
00081		ControlWidth = WinWidth/2.5;
00082		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00083		ControlRight = WinWidth/2 + ControlLeft;
00084	
00085		CenterWidth = (WinWidth/4)*3;
00086		CenterPos = (WinWidth - CenterWidth)/2;
00087	
00088		StyleCombo.SetSize(CenterWidth, 1);
00089		StyleCombo.WinLeft = CenterPos;
00090		StyleCombo.EditBoxWidth = 110;
00091	
00092		SpeedSlider.SetSize(CenterWidth, 1);
00093		SpeedSlider.SliderWidth = 90;
00094		SpeedSlider.WinLeft = CenterPos;
00095	}
00096	
00097	function Notify(UWindowDialogControl C, byte E)
00098	{
00099		if (!Initialized)
00100			return;
00101	
00102		Super.Notify(C, E);
00103	
00104		switch(E)
00105		{
00106		case DE_Change:
00107			switch(C)
00108			{
00109				case StyleCombo:
00110					StyleChanged();
00111					break;
00112				case SpeedSlider:
00113					SpeedChanged();
00114					break;
00115			}
00116		}
00117	}
00118	
00119	function StyleChanged()
00120	{
00121	}
00122	
00123	function SpeedChanged()
00124	{
00125	}
00126	
00127	defaultproperties
00128	{
00129	     ControlOffset=20.000000
00130	     StyleText="Game Style:"
00131	     Styles(0)="Classic"
00132	     Styles(1)="Hardcore"
00133	     Styles(2)="Turbo"
00134	     StyleHelp="Choose your game style. Hardcore is 10% faster with a 50% damage increase. Turbo also adds ultra fast player movement."
00135	     SpeedText="Game Speed"
00136	     SpeedHelp="Adjust the speed of the game."
00137	}

End Source Code