RMenu
Class RuneMenuSettingsBase

source: c:\runehov\RMenu\Classes\RuneMenuSettingsBase.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UWindow.UWindowPageWindow
                  |
                  +--RMenu.RuneMenuPageWindow
                     |
                     +--RMenu.RuneMenuSettingsBase
Direct Known Subclasses:RuneMenuSettingsClientWindow

class RuneMenuSettingsBase
extends RMenu.RuneMenuPageWindow


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


Function Summary
 void AfterCreate()
 void AutopickupChanged()
 void BeforePaint(Canvas C, float X, float Y)
 void Created()
     
// Autopickup (disabled until it works)
//var UWindowCheckbox AutopickupCheck;
//var localized string AutopickupText;
//var localized string AutopickupHelp;
 void LoadCurrentValues()
 void Notify(UWindowDialogControl C, byte E)
 void SpeedChanged()
 void StyleChanged()



Source Code


00001	class RuneMenuSettingsBase extends RuneMenuPageWindow;
00002	
00003	var RuneMenuServerClientWindow ServerParent;
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	// Autopickup (disabled until it works)
00020	//var UWindowCheckbox AutopickupCheck;
00021	//var localized string AutopickupText;
00022	//var localized string AutopickupHelp;
00023	
00024	function Created()
00025	{
00026		local int ControlWidth, ControlLeft, ControlRight;
00027		local int CenterWidth, CenterPos, ButtonWidth, ButtonLeft;
00028	
00029		Super.Created();
00030	
00031		ControlWidth = WinWidth/2.5;
00032		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00033		ControlRight = WinWidth/2 + ControlLeft;
00034	
00035		CenterWidth = (WinWidth/4)*3;
00036		CenterPos = (WinWidth - CenterWidth)/2;
00037	
00038		ButtonWidth = WinWidth - 140;
00039		ButtonLeft = WinWidth - ButtonWidth - 40;
00040	
00041		ServerParent = RuneMenuServerClientWindow(GetParent(class'RuneMenuServerClientWindow'));
00042		if (ServerParent == None)
00043			Log("Error: RuneMenuSettingsBase without RuneMenuServerClientWindow parent.");
00044	
00045		// Game Style
00046		StyleCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, ControlOffset, CenterWidth, 1));
00047		StyleCombo.SetText(StyleText);
00048		StyleCombo.SetHelpText(StyleHelp);
00049		StyleCombo.SetFont(F_Normal);
00050		StyleCombo.SetEditable(False);
00051		StyleCombo.AddItem(Styles[0]);
00052		StyleCombo.AddItem(Styles[1]);
00053		StyleCombo.AddItem(Styles[2]);
00054		ControlOffset += 25;
00055	
00056		// Game Speed
00057		SpeedSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00058		SpeedSlider.SetRange(50, 200, 5);
00059		SpeedSlider.SetHelpText(SpeedHelp);
00060		SpeedSlider.SetFont(F_Normal);
00061		ControlOffset += 25;
00062	
00063		// Autopickup
00064	//	AutopickupCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00065	//	AutopickupCheck.SetText(AutopickupText);
00066	//	AutopickupCheck.SetHelpText(AutopickupHelp);
00067	//	AutopickupCheck.SetFont(F_Normal);
00068	//	ControlOffset += 25;
00069	}
00070	
00071	function AfterCreate()
00072	{
00073		Super.AfterCreate();
00074	
00075		DesiredWidth = 270;
00076		DesiredHeight = ControlOffset;
00077	
00078		LoadCurrentValues();
00079		Initialized = True;
00080	}
00081	
00082	function LoadCurrentValues()
00083	{
00084	}
00085	
00086	function BeforePaint(Canvas C, float X, float Y)
00087	{
00088		local int ControlWidth, ControlLeft, ControlRight;
00089		local int CenterWidth, CenterPos, ButtonWidth, ButtonLeft;
00090	
00091		Super.BeforePaint(C, X, Y);
00092	
00093		ControlWidth = WinWidth/2.5;
00094		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00095		ControlRight = WinWidth/2 + ControlLeft;
00096	
00097		CenterWidth = (WinWidth/4)*3;
00098		CenterPos = (WinWidth - CenterWidth)/2;
00099	
00100		StyleCombo.SetSize(CenterWidth, 1);
00101		StyleCombo.WinLeft = CenterPos;
00102		StyleCombo.EditBoxWidth = 100;
00103	
00104		SpeedSlider.SetSize(CenterWidth, 1);
00105		SpeedSlider.SliderWidth = 100;
00106		SpeedSlider.WinLeft = CenterPos;
00107	
00108	//	AutopickupCheck.SetSize(CenterWidth, 1);
00109	//	AutopickupCheck.WinLeft = CenterPos;
00110	}
00111	
00112	function Notify(UWindowDialogControl C, byte E)
00113	{
00114		if (!Initialized)
00115			return;
00116	
00117		Super.Notify(C, E);
00118	
00119		switch(E)
00120		{
00121		case DE_Change:
00122			switch(C)
00123			{
00124				case StyleCombo:
00125					StyleChanged();
00126					break;
00127				case SpeedSlider:
00128					SpeedChanged();
00129					break;
00130	//			case AutopickupCheck:
00131	//				AutopickupChanged();
00132	//				break;
00133			}
00134		}
00135	}
00136	
00137	function StyleChanged()
00138	{
00139	}
00140	
00141	function SpeedChanged()
00142	{
00143	}
00144	
00145	function AutopickupChanged()
00146	{
00147	}
00148	
00149	defaultproperties
00150	{
00151	     ControlOffset=20.000000
00152	     StyleText="Game Style:"
00153	     Styles(0)="Classic"
00154	     Styles(1)="Hardcore"
00155	     Styles(2)="Turbo"
00156	     StyleHelp="Choose your game style. Hardcore is 10% faster with a 50% damage increase. Turbo also adds ultra fast player movement."
00157	     SpeedText="Game Speed"
00158	     SpeedHelp="Adjust the speed of the game."
00159	}

End Source Code