UMenu
Class UMenuAudioClientWindow

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

class UMenuAudioClientWindow
extends UMenu.UMenuPageWindow


Variables
 float ControlOffset
 string Details[2]
 UWindowCheckbox MessageBeepCheck
 string MessageBeepHelp
 string MessageBeepText
 string MusicVolumeHelp
 UWindowHSliderControl MusicVolumeSlider
 string MusicVolumeText
 UWindowComboControl SoundQualityCombo
 string SoundQualityHelp
 string SoundQualityText
 string SoundVolumeHelp
 UWindowHSliderControl SoundVolumeSlider
 string SoundVolumeText
 UWindowCheckbox VoiceMessagesCheck
 string VoiceMessagesHelp
 string VoiceMessagesText


Function Summary
 void AfterCreate()
 void BeforePaint(Canvas C, float X, float Y)
 void Created()
 void ExtraMessageOptions()
 void MessageBeepChecked()
 void MusicVolumeChanged()
 void Notify(UWindowDialogControl C, byte E)
 void SaveConfigs()
 void SoundQualityChanged()
     
/*
 * Message Crackers
 */
 void SoundVolumeChanged()
 void VoiceMessagesChecked()



Source Code


00001	class UMenuAudioClientWindow extends UMenuPageWindow;
00002	
00003	// Sound Quality
00004	var UWindowComboControl SoundQualityCombo;
00005	var localized string SoundQualityText;
00006	var localized string SoundQualityHelp;
00007	var localized string Details[2];
00008	
00009	// Music Volume
00010	var UWindowHSliderControl MusicVolumeSlider;
00011	var localized string MusicVolumeText;
00012	var localized string MusicVolumeHelp;
00013	
00014	// Sound Volume
00015	var UWindowHSliderControl SoundVolumeSlider;
00016	var localized string SoundVolumeText;
00017	var localized string SoundVolumeHelp;
00018	
00019	// Voice Messages
00020	var UWindowCheckbox VoiceMessagesCheck;
00021	var localized string VoiceMessagesText;
00022	var localized string VoiceMessagesHelp;
00023	
00024	// Message Beep
00025	var UWindowCheckbox MessageBeepCheck;
00026	var localized string MessageBeepText;
00027	var localized string MessageBeepHelp;
00028	
00029	var float ControlOffset;
00030	
00031	function Created()
00032	{
00033		local bool bLowSoundQuality;
00034		local int MusicVolume, SoundVolume;
00035		local int ControlWidth, ControlLeft, ControlRight;
00036		local int CenterWidth, CenterPos;
00037	
00038		Super.Created();
00039	
00040		ControlWidth = WinWidth/2.5;
00041		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00042		ControlRight = WinWidth/2 + ControlLeft;
00043	
00044		CenterWidth = (WinWidth/4)*3;
00045		CenterPos = (WinWidth - CenterWidth)/2;
00046	
00047		// Voice Messages
00048		VoiceMessagesCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00049		VoiceMessagesCheck.bChecked = !GetPlayerOwner().bNoVoices;
00050		VoiceMessagesCheck.SetText(VoiceMessagesText);
00051		VoiceMessagesCheck.SetHelpText(VoiceMessagesHelp);
00052		VoiceMessagesCheck.SetFont(F_Normal);
00053		VoiceMessagesCheck.Align = TA_Left;
00054		ControlOffset += 25;
00055	
00056		// Message Beep
00057		MessageBeepCheck = UWindowCheckbox(CreateControl(class'UWindowCheckbox', CenterPos, ControlOffset, CenterWidth, 1));
00058		MessageBeepCheck.bChecked = GetPlayerOwner().bMessageBeep;
00059		MessageBeepCheck.SetText(MessageBeepText);
00060		MessageBeepCheck.SetHelpText(MessageBeepHelp);
00061		MessageBeepCheck.SetFont(F_Normal);
00062		MessageBeepCheck.Align = TA_Left;
00063		ControlOffset += 25;
00064	
00065		ExtraMessageOptions();
00066	
00067		// Sound Quality
00068		SoundQualityCombo = UWindowComboControl(CreateControl(class'UWindowComboControl', CenterPos, ControlOffset, CenterWidth, 1));
00069		SoundQualityCombo.SetText(SoundQualityText);
00070		SoundQualityCombo.SetHelpText(SoundQualityHelp);
00071		SoundQualityCombo.SetFont(F_Normal);
00072		SoundQualityCombo.SetEditable(False);
00073		SoundQualityCombo.AddItem(Details[0]);
00074		SoundQualityCombo.AddItem(Details[1]);
00075		bLowSoundQuality = bool(GetPlayerOwner().ConsoleCommand("get ini:Engine.Engine.AudioDevice LowSoundQuality"));
00076		if (bLowSoundQuality)
00077			SoundQualityCombo.SetSelectedIndex(0);
00078		else
00079			SoundQualityCombo.SetSelectedIndex(1);
00080		ControlOffset += 25;
00081	
00082		// Music Volume
00083		MusicVolumeSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00084		MusicVolumeSlider.SetRange(0, 255, 32);
00085		MusicVolume = int(GetPlayerOwner().ConsoleCommand("get ini:Engine.Engine.AudioDevice MusicVolume"));
00086		MusicVolumeSlider.SetValue(MusicVolume);
00087		MusicVolumeSlider.SetText(MusicVolumeText);
00088		MusicVolumeSlider.SetHelpText(MusicVolumeHelp);
00089		MusicVolumeSlider.SetFont(F_Normal);
00090		ControlOffset += 25;
00091	
00092		// Sound Volume
00093		SoundVolumeSlider = UWindowHSliderControl(CreateControl(class'UWindowHSliderControl', CenterPos, ControlOffset, CenterWidth, 1));
00094		SoundVolumeSlider.SetRange(0, 255, 32);
00095		SoundVolume = int(GetPlayerOwner().ConsoleCommand("get ini:Engine.Engine.AudioDevice SoundVolume"));
00096		SoundVolumeSlider.SetValue(SoundVolume);
00097		SoundVolumeSlider.SetText(SoundVolumeText);
00098		SoundVolumeSlider.SetHelpText(SoundVolumeHelp);
00099		SoundVolumeSlider.SetFont(F_Normal);
00100		ControlOffset += 25;
00101	}
00102	
00103	function AfterCreate()
00104	{
00105		Super.AfterCreate();
00106	
00107		DesiredWidth = 220;
00108		DesiredHeight = ControlOffset;
00109	}
00110	
00111	function ExtraMessageOptions()
00112	{
00113	}
00114	
00115	function BeforePaint(Canvas C, float X, float Y)
00116	{
00117		local int ControlWidth, ControlLeft, ControlRight;
00118		local int CenterWidth, CenterPos;
00119	
00120		Super.BeforePaint(C, X, Y);
00121	
00122		ControlWidth = WinWidth/2.5;
00123		ControlLeft = (WinWidth/2 - ControlWidth)/2;
00124		ControlRight = WinWidth/2 + ControlLeft;
00125	
00126		CenterWidth = (WinWidth/4)*3;
00127		CenterPos = (WinWidth - CenterWidth)/2;
00128	
00129		VoiceMessagesCheck.SetSize(CenterWidth-90+16, 1);
00130		VoiceMessagesCheck.WinLeft = CenterPos;
00131	
00132		MessageBeepCheck.SetSize(CenterWidth-90+16, 1);
00133		MessageBeepCheck.WinLeft = CenterPos;
00134	
00135		SoundQualityCombo.SetSize(CenterWidth, 1);
00136		SoundQualityCombo.WinLeft = CenterPos;
00137		SoundQualityCombo.EditBoxWidth = 90;
00138	
00139		MusicVolumeSlider.SetSize(CenterWidth, 1);
00140		MusicVolumeSlider.SliderWidth = 90;
00141		MusicVolumeSlider.WinLeft = CenterPos;
00142	
00143		SoundVolumeSlider.SetSize(CenterWidth, 1);
00144		SoundVolumeSlider.SliderWidth = 90;
00145		SoundVolumeSlider.WinLeft = CenterPos;
00146	}
00147	
00148	function Notify(UWindowDialogControl C, byte E)
00149	{
00150		Super.Notify(C, E);
00151	
00152		switch(E)
00153		{
00154		case DE_Change:
00155			switch(C)
00156			{
00157			case VoiceMessagesCheck:
00158				VoiceMessagesChecked();
00159				break;
00160			case MessageBeepCheck:
00161				MessageBeepChecked();
00162				break;
00163			case SoundQualityCombo:
00164				SoundQualityChanged();
00165				break;
00166			case MusicVolumeSlider:
00167				MusicVolumeChanged();
00168				break;
00169			case SoundVolumeSlider:
00170				SoundVolumeChanged();
00171				break;
00172			}
00173		}
00174	}
00175	
00176	/*
00177	 * Message Crackers
00178	 */
00179	
00180	function SoundQualityChanged()
00181	{
00182		local bool bLowSoundQuality;
00183		bLowSoundQuality = bool(SoundQualityCombo.GetSelectedIndex());
00184		bLowSoundQuality = !bLowSoundQuality;
00185		GetPlayerOwner().ConsoleCommand("set ini:Engine.Engine.AudioDevice LowSoundQuality "$bLowSoundQuality);
00186	}
00187	
00188	function VoiceMessagesChecked()
00189	{
00190		GetPlayerOwner().bNoVoices = !VoiceMessagesCheck.bChecked;
00191	}
00192	
00193	function MessageBeepChecked()
00194	{
00195		GetPlayerOwner().bMessageBeep = MessageBeepCheck.bChecked;
00196	}
00197	
00198	function MusicVolumeChanged()
00199	{
00200		GetPlayerOwner().ConsoleCommand("set ini:Engine.Engine.AudioDevice MusicVolume "$MusicVolumeSlider.Value);
00201	}
00202	
00203	function SoundVolumeChanged()
00204	{
00205		GetPlayerOwner().ConsoleCommand("set ini:Engine.Engine.AudioDevice SoundVolume "$SoundVolumeSlider.Value);
00206	}
00207	
00208	function SaveConfigs()
00209	{
00210		GetPlayerOwner().SaveConfig();
00211		Super.SaveConfigs();
00212	}
00213	
00214	defaultproperties
00215	{
00216	     SoundQualityText="Sound Quality"
00217	     SoundQualityHelp="Use low sound quality to improve game performance on machines with less than 32 Mb memory."
00218	     Details(0)="Low"
00219	     Details(1)="High"
00220	     MusicVolumeText="Music Volume"
00221	     MusicVolumeHelp="Increase or decrease music volume."
00222	     SoundVolumeText="Sound Volume"
00223	     SoundVolumeHelp="Increase or decrease sound effects volume."
00224	     VoiceMessagesText="Voice Messages"
00225	     VoiceMessagesHelp="If checked, you will hear voice messages and commands from other players."
00226	     MessageBeepText="Message Beep"
00227	     MessageBeepHelp="If checked, you will hear a beep sound when chat message received."
00228	     ControlOffset=25.000000
00229	}

End Source Code